
BMW Diesels from M47 to B57: Engines and ECUs at a Glance
From M47 and M57 via N47/N57 to B47/B57: which BMW diesel runs which Bosch ECU, and what that means for tuning your car.
October 26, 2026 by Leo Efimow
If you drive a BMW diesel, there is one of three big engine generations under the bonnet: the M engines of the late 1990s, the N engines from 2007, or the modular B engines from the mid-2010s. Each generation has its own ECU, and that is exactly what decides effort, process and price when it comes to tuning. A 330d is not simply a 330d: between an E46 from 2001 and a G20 from 2021 there are four generations of Bosch ECUs. This overview sorts the engines, assigns the ECUs and shows what that means for you in practice.
The M generation: M47 and M57
With the M47 (four-cylinder, 2.0 litres) and the M57 (inline six, 2.5 and 3.0 litres), BMW made the diesel truly respectable at the end of the 1990s. The M47 launched in 1998 in the E46 320d and the E39 520d with 136 hp, still with a distributor injection pump. From 2001, as the M47TU, it received common-rail injection and 150 hp. The M57 was a common-rail engine from the start: it debuted in 1998 in the E39 530d and then went into the E46 330d, the E38 730d and the X5 3.0d.
This first generation runs on the Bosch EDC15, which BMW calls DDE (Digital Diesel Electronics). The EDC15 is a comparatively simple ECU: it still calculates largely in injection quantities rather than torque, and it knows nothing about particulate filter regeneration. For tuning it is well understood and accessible through the diagnostic port.
From around 2003/2004 the revised M47TU2 and M57TU followed, and from 2007 the M57TU2. They are found in the E87, E9x, E60 and E83/E70 and brought more power, higher rail pressures and, for the first time on a larger scale, particulate filters. They are controlled by the Bosch EDC16 (DDE5 and DDE6 at BMW). This is where torque-based control begins, which still shapes ECUs today: the ECU first calculates a target torque and derives injection and boost from it.

The N generation: N47 and N57
From 2007 the N47 replaced the M47, and from 2008 the N57 replaced the M57. Both engines share the basic design: aluminium crankcase, common rail with higher pressure, timing chain on the gearbox side. The N47 was used from the 116d up to the 525d, and in twin-turbo form also in the 123d. The N57 ranges from the 525d via the 330d and 530d to the 535d with two turbochargers, and at the top to the M550d with three.
Both engines run on the Bosch EDC17, referred to by BMW as DDE7 and DDE8. The EDC17 has considerably more processing power and memory, and it controls the particulate filter, exhaust gas recirculation and, on later versions, SCR dosing with AdBlue. The N generation coincides with the late E series and the entire F series. On the N47 the timing chain is also a well-known topic, to which we have dedicated a separate article: N47 timing chain and tuning.
The B generation: B47 and B57
From 2014 BMW switched its engines to a modular system: around 500 cc per cylinder, shared parts for three-, four- and six-cylinder engines. On the diesel side these are the B37 (1.5 litres, three cylinders), the B47 (2.0 litres, four cylinders) and the B57 (3.0 litres, six cylinders). The B47 first appeared in late F models such as the F20, F30 and F10 LCI. The B57 started in 2015 in the 7 Series G11 and today is the six-cylinder diesel of the entire G series, from the 330d and M340d to the X5 M50d.
On the ECU side the B generation is split in two. The first B47s in the F series still run on EDC17 variants. In the G series the Bosch MD1 takes over, the successor to the EDC17. The MD1 works with a multi-core processor and is much better protected against modified software. For you as a customer that is the most important difference: whether tuning runs entirely over OBD or the ECU has to be removed once depends on the build date here. Details in the article Bosch MD1 in the G series.
The generations at a glance
| Engine | Typical models (examples) | ECU |
|---|---|---|
| M47 / M47TU | E46 320d, E39 520d, X3 2.0d (E83) | Bosch EDC15 (DDE3/DDE4) |
| M57 (until approx. 2003) | E46 330d, E39 530d/525d, E38 730d, X5 3.0d (E53) | Bosch EDC15 (DDE4) |
| M47TU2 | E87 118d/120d, E9x 318d/320d | Bosch EDC16 (DDE5) |
| M57TU / M57TU2 | E60 530d/535d, E9x 325d/330d/335d, X5 3.0d | Bosch EDC16 (DDE5/DDE6) |
| N47 | E87/E9x 120d/320d (from 2007), F20, F30, F10 | Bosch EDC17 (DDE7/DDE8) |
| N57 | E9x 330d (from 2008), F10 530d/535d, F30 330d/335d | Bosch EDC17 (DDE7/DDE8) |
| B47 (F series) | F20, F30, F10 LCI | Bosch EDC17, some already MD1 |
| B47 / B57 (G series) | G20 320d/330d, G30 520d/530d, G05 30d/M50d | Bosch MD1 |
The table shows typical assignments. Transition years and facelifts sometimes shift the boundaries by a few months. In the configurator you can see directly which ECU is stored for your model and engine.
What the generation means for your tuning
In practice the ECU generation decides three things.
First, access. EDC15, EDC16 and EDC17 can, as a rule, be read and written on BMWs through the OBD port. On the MD1, depending on the build date, a one-off removal is necessary; after that everything runs over OBD again.
Second, calibration. A quantity-based EDC15 is calibrated differently from a torque-based EDC16 or EDC17. On the newer units it is not enough to raise a single table, because a limiter kicks in elsewhere. A clean Stage 1 adjusts the whole chain of torque request, limiters, rail pressure and boost consistently. Protective functions such as exhaust temperature models remain active.
Third, price. Software prices follow the generation. According to the product pages, Stage 1 for example starts at €175 for the E46 330d with EDC15, at €300 for the F30 320d with EDC17 and at €400 for the G20 320d with MD1. The respective product page shows you the exact price for your car.
Don't forget the mechanics
Software is only half the story. The older M engines today often have 250,000 kilometres or more on the clock. With them, an honest look at injectors, turbocharger, intake tract and clutch before tuning pays off. On the N47 and N57 the gearbox belongs in the picture too: the ZF 8HP in the F series copes with a lot, but the gearbox software should match the higher torque. We go into more detail on that in the article on the EDC17 in the F series.
And regardless of the generation: the software change voids your vehicle's type approval; the software is intended for motorsport use only (see the motorsport notice). Particulate filter, EGR and SCR remain active with a reputable calibration. Disabling these systems is emissions tampering and prohibited on public roads.
Conclusion
BMW diesels fall into three generations, and each brings its own Bosch ECU: EDC15 for the early M47 and M57, EDC16 for the TU versions, EDC17 for the N47 and N57, and the MD1 for the B47 and B57 in the G series. For you this means: the younger the car, the more effort goes into access and calibration, and the more important it is to know the ECU precisely beforehand. You already know the process: order online, read out the original software yourself via OBD and upload it, usually receive the finished file within 48 hours and only pay then. Choose your model in the configurator and you will see engine, ECU and price at a glance.