30BA/30BB. Repair of MSD80

Entering these error codes in Google search engine, the output is 20 .. 30 thousand entries. And no wonder, because…


Related error messages:

30BA DME digital motor electronics, internal failure
30BB DME digital motor electronics, internal failure


29CD misfirings, cylinder 1

29CE misfirings, cylinder 2

29CF misfirings, cylinder 3

29D0 misfirings, cylinder 4

29D1 misfirings, cylinder 5

29D2 misfirings, cylinder 6

(if these errors cannot be fixed replacing ignition coil; spark plug; injector).


2E18 ignition, cylinder 1

2E19 ignition, cylinder 2

2E1A ignition, cylinder 3

2E1B ignition, cylinder 4

2E1C ignition, cylinder 5

2E1D ignition, cylinder 6



For MSD80,  ISL9V5036S3ST IGBT switches were used to manage the ignition coils. The max allowed voltage of Uds is 380V, real-life measurements show – the voltage for ignition switches (in short-term) reaches the max allowed value and the transistor is entered in self-protection mode (with increased heat dissipation, oscillation)!

How BMW allowed this “solution” to go into serial production? It’s not understandable. But one thing is clear – it is only self-explanatory, that these IGBT transistors are getting damaged.

In the picture: real signal oscillogram of MSD80 ignition coil management output. Upeak reaches 350 .. 380V (probe 1:10)


Next conclusion – if this problem is not solved fundamentally, but the only damaged transistor is replaced (once again), it is only a question of time when the same or any other of 4/6 transistors will be damaged again. Of course, the damaged component has to be replaced, otherwise, there will be non-deletable errors relating to misfires in the unit. To solve this issue the snubbers have to be installed as described here. Snubbers will protect both EcoSPARK IGBTs and ignition coils itself.


Problems with injectors low-side drivers switches.

What happens, if any of the injectors management transistors (low-side drivers) are getting damaged? MSD80 switches off one of the banks (the one, which has damaged transistor) – the engine will try to work on 2/3 cylinders (N43/N53 accordingly), MSD memory has undeletable (with active status) error message 30BA/30BB. Detailed descrition of the problem read here.


Some images, how does the MSD80 management unit looks like.

In the image: upper part of top PCB: general CPU, power supply, H-bridge drivers (for management of servomotors), 6 pieces of transistors (for ignition coil management), 6 transistors: low-side injector’s switches; a power switches for 12V loads PWM management.


In the image: the bottom part of top PCB: transistor drivers for ignition coils and low-side injectors switches; peripheral MCU, etc. on the left and bottom PCB: high-side management units of injectors (output stages) – on the right.


Output cascades of injectors management.

MOSFET transistors of the injectors management are used (lately replaced with IGBT transistors). Each two or three (of one bank; N43/N53 series engine) transistors have a common current measurement resistor (in green color, in the image below). If even one of the transistors is getting damaged, MSD80 is not able to manage all remaining injectors (of exact bank) and switches off all injectors of an exact bank.


In the image:

IGBTs of ignition coils (A)

MOSFETs/IGBTs of low-side injector’s switches (B) and current measurement resistors are marked.

How to find damaged MOSFET/IGBT switch?

Measure the resistance between its Drain and Source. If the transistor is damaged, there will be a short circuit.


What else has to check?

The current measurement resistor of the exact bank has to be checked (if errors 30BA/30BB are stored). Its nominal 0.05 Ohm (50 mOhm).

The resistor, which is included in Gate circuit (placed on a bottom layer of PCB) has to be checked, its nominal 100 Ohm. If the resistor is damaged, the IC of the driver also has to be checked.

For ignition problems – signal on Gate (Base) of switches needs to be checked using an oscilloscope.


Replacement of transistor.

Transistors of IRF644 are recommended to replace with more modern analogs (and snubbers have to be installed in an obligatory manner, as mentioned here).

As an alternative, for example, SiHB30N60 can be used. A comparison of basic parameters is seen in the table.

As can be seen, SiHB30N60 provides higher current, significantly higher max allowed Uds (voltage), will ensure less conductive losses – it will heat less.


Parameters, which have to be taking in the account:

It is recommended to choose Tfall as high as possible, so at the moment, when MOSFET closes, the Uds rip-off would be as small as possible (in the first few hundreds of ns). Evaluation is complicated by the fact, that for some transistors this parameter is shown by different R Gate, but a comparative picture can be obtained.

Still have to make sure, that Crss is relatively small, and the ratio of Ciss/Crss is high till Uds below 10 .. 20V. If Crss grows quickly when Uds drops down, repeated parasitic opening of transistor (if the resistor on Gate is large – 100 Ohm and in no way provides small Ugate with growing Uds, as well as – also when closing, the power transistor in this closure goes thru Miller’s area, which creates rules for parasitic oscillation in the opening/closing moment).


Also – most powerful ignition drivers from ON semiconductors can be used, for example, ISL9V5045S3ST (instead of ISL9V5036S3ST).


In the image: in the repair process, looking at the PCB with a microscope.


In the image: damaged transistor soldered out.


In the image: new transistor soldered in.


Description of the low-side driver’s problem. Part 2; Part 3 and Part 4