As mentioned in previous posts, the MSD80 is much more complicated engine control unit than one before (also MSV70/MSV80), and it makes sense, that such complicated unit has it’s flaws (more about it – read here), and also software updates are required.

Disclaimer: as usually – no information from manufacturer regarding bugs fixed, all information gathered from analysis and observations.


As manufacturer don’t gives any information about software releases, and there is a huge amount of them (and coding options – intended for all engine power versions, different setups: with automatic/manual transmission, with adaptive cruise control/without it etc.), we don’t name the versions of software releases by numbers, but observed symptoms, which could testify about eliminated/existing bugs.


Early software (around 2006 – 2008) release versions. In the Internet you can find the technical report, in which the measurements of N43B20 engine are performed, when the engine runs in Stratified charge with Lambda 2,0 .. 1,4 with load of engine 0 .. 60%. Haven’t seen such early version, and in real life all N43 engines (which I have seen) perform with Lambda 2,5 .. 3,2; the same with N53 series engines (obviously, these series had newer releases).

Characteristic nuance of early software releases: in idle they performs with Lambda 1,8 .. 2,2; later releases perform with Lambda 2,4 .. 2,6 (exception: N53B30-U0).

The software of this generation is described with incorrect detection of rough run (false error messages of error 3014, more described here); real rough run, when the engine switches working modes; incorrect creation of adaptations (the problem don’t disappears, even if the engine has no problems with NOx system etc.).

It is interesting, that, for example, the cylinder No.3 (followed by No.1 and No.5) is “most popular” in the false list of errors with error No. 3104). I believe, countless BMW users had replaced injectors, spark plugs, ignition coils etc. Anyway – no success with solving this problem.

In turn, the cylinder No.1 is first, who reacts, when the diagnostic tools have been connected. If you will connect INPA while driving and will observe the live data – it’s very likely, that the engine No.1 will be “irretrievably damaged”.


Last (from beginning of 2011) software versions. Differences: in idle the engine runs with Lambda 2,4 .. 2,6, if no problems with NOx system exist – these engines are described with very exact creation of adaptation, very even and smooth running.

A certain notion, how exact the rough run algorithm of MSD80 performs (evaluation of cylinders) you can get in following way:

1. Using INPA, turn off one (for example, No.1) cylinder. To perform this operation, choose Diagnose (Systemdiagnosen) test section (pressing F9); choose the sub-menu of cylinder choice (pressing F2), turn off the cylinder No.1, pressing F1. Attention! The engine will start to run uneven!

Note: to enable back all cylinders – press F8 (operation back to DME).

2. From main menu (to get in there, press F10: Back for several times) choose Rough run sub-menu: ..F5/F7.

The bar readings of cylinder No.1 has to be evaluated:

a) if readings sequentially reach -5 and +6 .. +8 and are unstable (for Cylinder No.1 and other cylinders also), also if then engine immediately switches from Stratified charge (if selected) to Homogeneous mode – your MSD80 has comparatively old software generation with incorrect Rough run algorithm;

b) if readings are around +3 (in Stratified charge and Homogeneous lean) or -5 (Homogeneous mode) and are stable (also for other cylinders) and the engine continues to perform in Stratified charge mode (if selected) – your MSD80 software version detects the efficiency of cylinders correctly.

Note: select necessary working mode pressing ../F9/F1 from main menu.

3. Additional symptom: if the engine runs idle with Lambda around 2,0 (if Stratified charge has been chosen and enabled) – the software release version is old, if the Lambda is around 2,5 – the software release version may be newer.

Note: N53B30-U0 runs with idle around 2,0 even with latest available (8603156) software release.


See the sample in the image: the engine with cylinder No.1 switched off, Stratified charge selected. As you can see, the bar reading is around +3,0; the engine continues to perform in  Stratified charge mode (it can be seen by voltage readings of Lambda sensors: 2,8 V corresponds Lambda around 2,5; 2,0 V corresponds Lambda 1,0). Conclusion – this engine has correct Rough run algorithm software installed.

We have no information, if the engineers of subcontractor (company, who developed software for MSD80),  chosen by BMW, only reduced coefficients of cylinder efficiency measuring (sensitivity of system) or also fixed some other bugs, but the result is very impressive indeed.

Note: MSD80 use separate algorithms for Homogeneous and Homogeneous lean/Stratified charge mode. For complete picture check performance of Rough run detection algorithm in all injection modes.


See the image: the engine runs idle in Stratified charge with Lambda around 2,0; there is a reason to believe, that the software version of this MSD80 looks quite old.

It must be admitted, that BMW, using ISTA D, after performing test plan of Rough run (misfire), checks also for possible software updates. If you see the notice:

The service data status ”Button designation: improve operational smoothness conversion” must be programmed via the ”conversation” path,

you can be sure, that your MSD80 has a system update available, which is intended to prevent problems of uneven running (coding option can be found by name DIRU, if anybody has experience with it – please, be so kind to share information about results).

The programming, if you want to do it correctly, has to be performed with ISTA P (or winKFP). Make sure, that you are using:

a) ICOM adapter;

b) 50A or more powerful stabilized voltage sources for power supply during programming.

P.S. The BMW engineers have found an interesting solution for error message 30EA (to prevent it). For his error message to not appear such often in error message memory of MSD80, the speed of sulfation of catalytic converter has been decreased from 0,5 to 0,1 .. 0,2 mg/km in newest versions of software releases. Of course, the error message 30EA is recorded more rare, but the NOx catalytic converter looses it’s performance ability much faster (because it works in sulfur-poisoned environment). And it’s just few steps to error message 30E9 … and bill for EUR 3000.


Related entries:

MSD80 software bugs

Rough run ad 3104

N53B30. When adaptations failed