Loading

BMW E87 1-Series DME Engine Control Module Faults and Repair

The BMW E87 1-Series DME (Digital Motor Electronics) is the primary engine control module responsible for fuel injection, ignition timing, emissions management and communication with every other control unit on the car. When this unit develops a fault — whether from moisture ingress, voltage spikes or simple age — the consequences range from erratic idling to a car that simply will not start. If your E87 is throwing multiple unrelated fault codes, misfiring, or refusing to communicate with a diagnostic tool, the DME itself is high on the suspect list.

What Exactly Is the DME and Why Does It Fail?

On the E87 platform (produced 2004–2011), BMW fitted several different DME variants depending on the engine. The N45B16 and N46B20 four-cylinder units use a Bosch ME9.0 controller, while the six-cylinder N52B25 and N52B30 run the Siemens/Continental MSV70 unit. Both designs share a common vulnerability: the internal solder joints on the processor board become brittle with thermal cycling over time. A typical E87 parked outside in a northern European winter, warming up every morning and cooling down overnight, accumulates thousands of heat stress cycles across a 10-year lifespan. Add one splash of water from a blocked scuttle drain and you have a recipe for a dead DME.

A secondary failure mode — especially common on the N46 engine — is the VANOS solenoid wiring chafing against the valve cover and creating a short circuit that feeds back into the DME’s output stage. The module can absorb one or two of these events, but eventually the output driver IC burns out. At that point the engine runs poorly or not at all, and the module will need to be replaced rather than repaired. For comparison, see BMW E87 1-Series Fuel Pump Control Module Failure Diagnostic Guide.

Symptoms: How Does a Failing E87 DME Show Itself?

  • Engine cranks but refuses to start, or starts and immediately stalls
  • Rough idle that clears once the engine warms up, then returns after shutdown
  • Intermittent misfires on one or more cylinders with no obvious ignition cause
  • Sudden loss of power mid-drive, sometimes accompanied by the EML (yellow engine) warning light
  • VANOS-related fault codes that return immediately after clearing, even with a new solenoid fitted
  • No communication on the OBD-II port — the scan tool simply cannot see the DME at all
  • Abnormally high fuel consumption with no obvious fuel system fault

The no-communication scenario is one of the clearest indicators that the DME has failed rather than a sensor. If every other module on the CAN bus is visible but the engine control unit returns nothing, the DME itself is almost certainly the cause.

Common Fault Codes on the BMW E87 DME

Code Description
2A82 / 2A87 VANOS intake / exhaust solenoid control fault — output stage error
2AAE Camshaft sensor — plausibility error, signal implausible
29CD DME internal fault — memory or processor error
2761 Secondary air injection system — pump control fault
2A0A Fuel injector cylinder 1 — control circuit fault
4520 CAS/DME communication error — key not recognised
2B30 Engine oil pressure sensor — circuit fault (DME output stage)

Codes 29CD and 4520 together are a strong indicator the DME itself is the faulty unit rather than a peripheral sensor or actuator. Always clear codes, retest, and check whether they return within seconds — that pattern points to the module, not the sensor.

Affected Vehicles

The faults described here apply primarily to:

  • BMW E87 116i, 118i (N45B16, N46B20) — 2004 to 2011
  • BMW E87 120i, 125i (N46B20, N52B25/B30) — 2004 to 2011
  • BMW E81 (3-door variant of E87) — same platform, same DME units
  • BMW E82 Coupé and E88 Cabrio sharing N46/N52 engines — same Bosch ME9.0 / MSV70 units

Owners of early build E87s (2004–2006) are statistically more likely to encounter these faults simply because the modules are now 18–20 years old. Cars registered in wet or salty climates show a higher rate of scuttle drain-related moisture damage.

OEM Part Numbers — BMW E87 DME Modules

OEM Part Number Application
7 566 635 DME Bosch ME9.0 — N45B16 / 116i
7 566 638 DME Bosch ME9.0 — N46B20 / 118i, 120i
7 578 271 DME Siemens MSV70 — N52B25 / 120i six-cylinder
7 578 272 DME Siemens MSV70 — N52B30 / 125i six-cylinder
7 592 592 DME ME9.0 updated revision — N46B20 replacement

Always match the full part number including software suffix when ordering a replacement. The DME must be coded to the vehicle’s VIN and paired with the CAS module — a used OEM unit from a compatible donor car is perfectly viable provided this coding step is carried out correctly. A related diagnostic guide is BMW E87 1-Series Instrument Cluster Faults: Common Failures and Repair.

Repair vs Replacement: What Makes Sense?

Electronic repair specialists can sometimes reball the processor or reflow cracked solder joints on ME9.0 units, and the success rate is reasonable if the board has no burned traces. However, if the output stage IC has been destroyed by a wiring short — which is common on VANOS-related failures — component-level repair becomes expensive and the long-term reliability is questionable. For most independent workshops, a tested used OEM DME is the most cost-effective and reliable solution. The key is sourcing from a supplier who verifies the unit is from a written-off car with a known mileage and documented fault-free status, rather than an untested pull from an auction.

Giantparts stocks tested OEM DME modules from E87 donors, matched by part number and engine code, with worldwide shipping. Having the part number from your original label makes matching straightforward and avoids the compatibility headaches that come with sourcing blindly.

FAQ

Can I drive the BMW E87 with a faulty DME?

In most cases, no. A partially failed DME typically causes misfires, limp mode, or a no-start condition that makes the car unsafe or impossible to drive. Even if the car is running, operating with a compromised engine control module risks catalyst damage from unburned fuel and may mask other developing faults. Get it diagnosed promptly.

Does a replacement E87 DME need coding to my car?

Yes, always. The DME must be coded to the vehicle’s VIN using BMW ISTA or equivalent software, and it must be paired with the CAS (Car Access System) module. A used unit from a donor car will be locked to the original VIN until this procedure is completed. Any competent BMW specialist or tuning shop with ISTA access can do this. For additional context, read BMW E87 1-Series ABS Control Module Failure Symptoms and Repair.

Why does my E87 show VANOS fault codes after a new solenoid?

If the VANOS solenoid codes return immediately after fitting a new solenoid and checking the wiring, the fault is likely in the DME output stage that drives the solenoid. A short circuit in the wiring can burn out the driver circuit inside the module. At that point the solenoid itself is irrelevant — the DME needs attention.

How do I locate the DME on the BMW E87?

On E87 models, the DME is mounted in the engine bay on the right-hand side (driver’s side on left-hand drive cars), typically in a plastic housing near the battery box. It connects via two or three large multi-pin connectors. The module is accessible once the air filter housing is removed but the connectors can be stiff on older cars — do not force them.

Is a used OEM DME reliable for the BMW E87?

A properly tested used OEM DME from a low-mileage donor vehicle is a proven repair option for the E87. The original BMW Bosch and Siemens units are significantly more robust than cheap aftermarket replacements, and a used original unit will retain the correct calibration base. Always buy from a supplier that tests the unit before dispatch and provides a part number match guarantee.

Find tested OEM electronic parts and modules at:
https://giantparts.eu/

Related diagnostic guides and OEM parts

1
1
Ваша корзина
Live chat support
×
Avatar
GiantParts
AI Assistant
Hello, I'm GiantParts AI. Send your OEM number or car model to find the correct part.
 
For best results, enter the OEM number exactly as shown on the part.