BMW MS42 vs MS43 vs MS45: How to Identify Your ECU
Short answer: verify the DME label and confirm it with diagnostic software. Use engine, chassis, and model year only as a cross-check. A swap, replacement module, market difference, or production transition can make a year-only answer wrong.
MS42, MS43, and MS45 are different Siemens BMW engine-management families. Their files are not interchangeable, and choosing the wrong product or flasher can create an expensive problem. The safest order is: physical identification, diagnostic identification, then a fitment sanity check.
The reliable three-step identification method
1. Read the label on the DME
Follow the main engine harness to the sealed electronics box. On an E46 it is typically at the upper-right side of the engine bay when viewed from the front. After safely opening the electronics enclosure, inspect the sticker on the silver DME case. Look for the Siemens system family: MS42, MS43, MS45.0, or MS45.1.
Photograph the complete label before ordering. Do not open the metal DME case just to identify it.
2. Confirm it through diagnostics
Connect with compatible BMW diagnostic or flashing software and record the DME family, hardware/software identifiers, and reported VIN. Diagnostic identification is especially important when the label is damaged, the DME has been replaced, or the car has an engine swap.
3. Use the engine and chassis as a sanity check
The engine family should agree with the DME, but it is not the final authority. M52TU applications commonly use MS42. M54 applications can use MS43 or MS45 depending on the vehicle, market, and production timing.
Typical applications—not a substitute for verification
| DME | Common engine family | Common examples | Poverty Built product |
|---|---|---|---|
| MS42 | M52TU | E46 323/328, E39 523/528, Z3 M52TU, E38 728i | MS42 N/A Tune |
| MS43 | M54 | E46 325/330, E39 525/530, Z3 2.5/3.0, E53 X5 3.0 in supported configurations | MS43 N/A Tune |
| MS45.0 | Later M54 applications | Common in supported E60/E83/E85 applications; verify the exact vehicle | MS45.0 N/A Tune |
| MS45.1 | Later M54 applications | Common in supported later E46 applications, including certain North American cars; verify the exact DME | MS45.1 N/A Tune |
These are examples, not a VIN decoder. BMW production changes and market-specific combinations overlap.
Why the exterior label does not answer every question
The DME family on the case is useful, but an exterior part number does not reliably identify the current software inside a module that may have been updated or replaced. If a product requires a particular software version or ROM, retrieve that information diagnostically or through the supported flasher.
Flashing software: do not group MS45 with MS4X Flasher
- MS42 and MS43: the official MS4X Flasher supports these two families and offers full and partial read/write functions.
- MS45.0 and MS45.1: use an MS45-capable path such as BTT MS45 QuickFlash or the dedicated MS45 Flasher when appropriate for the delivered file. The official MS4X Flasher page does not list MS45 support.
Never write an MS42 or MS43 file to MS45, or the reverse. Firmware families are not interchangeable.
What to submit when ordering
- The VIN requested in the Tune Configurator
- The confirmed DME family and variant
- The engine actually installed
- The transmission, fuel, and listed hardware choices
- The requested supported features
- The flashing format offered on the listing that you will use
You do not need to send a full ECU read unless Poverty Built requests it. Keep your own verified backup whenever your tool supports one.
Still unsure?
Use the BMW Tune Finder and contact Poverty Built before ordering if the label and diagnostic identification disagree. Do not choose the “closest” product.