EFC

BMW M52 / M54 DME ID: MS41 vs MS42 vs MS43

How to tell a BMW MS41, MS42 and MS43 apart, why the MS43 software revision is the unit of work, and exactly which of the three we cover as of July 2026.

11 min readBMW · Identification · IMMO-OFF
By ECU Flash Cartel · ECU Flash Cartel · US-based · Texas operations

The BMW inline-six of the late 1990s and early 2000s shipped with three different Bosch and Siemens engine control modules — MS41 on the M52, MS42 on the M52TU, and MS43 on the M54 — and they are not interchangeable, not equally serviceable, and not distinguishable from the car's badge. Getting the identification right before you order anything is the difference between a file back in seconds and a week wasted on the wrong service.

This guide covers how to tell them apart, what each one can and cannot have done to it, and — stated plainly, because it is the part most articles skip — which of them we actually cover as of July 2026.

The three modules, in order

DMEEngineRough yearsTypical chassisOur IMMO-OFF status
Siemens MS41M521995–1999E36, early E39Soon (checksum: Beta)
Siemens MS42M52TU1998–2000E46, E39, Z3Not in our catalog
Siemens MS43M542000–2006E46, E39, E60, E53 X5, E83 X3Live — 4 software revisions

Two things in that table matter more than the rest. First, MS42 is not something we service, and we would rather say so here than after you have shipped a module. Second, MS43 coverage is expressed per software revision, not per make or engine — which is the whole point of this guide.

Why the software revision is the unit of work

Our catalog lists MS43 as four separate entries: ca430037, ca430056 (Bosch hardware 5WK90015 and 5WK90017), ca430066 and ca430069. That looks like pedantry until you understand what an IMMO-OFF patch actually is.

The patch disables the DME's side of the EWS handshake — the cryptographic challenge-response between the engine module and the chassis immobilizer. Doing that means locating the exact routine in that exact firmware build and modifying it without disturbing anything adjacent. Firmware revisions move code. A patch derived from ca430037 applied to a ca430066 image can land at offsets that look plausible, recalculate to a clean checksum, and boot the module into behaviour nobody intended.

This is why our fingerprinter looks for the revision string at a fixed offset (0x70040) in the image rather than trusting anything the customer types. If a provider advertises “BMW IMMO-OFF” without ever naming a software revision, they have either simplified for marketing or they have not looked.

Identifying your module without guessing

1. The label

The DME carries a sticker with a BMW part number and a Siemens or Bosch hardware number. The hardware number is the strongest single clue: 5WK90015 and 5WK90017 are MS43-family parts in our covered set. Photograph the label straight-on and in focus before you put the module anywhere — you will need it again.

2. The engine, not the year

BMW ran overlapping production. An E46 built in 2000 could carry either an M52TU with MS42 or an M54 with MS43 depending on build month and market. The engine designation on the block is more reliable than the model year, and the module itself is more reliable than either.

3. The dump — the only definitive answer

If you already have a read, upload it to the free variant identifier. It reads the firmware fingerprint and reports the exact revision, plus whether that revision sits in our covered set or is flagged Manual. This takes seconds, costs nothing, and removes the entire class of “I thought it was a 430056” problems.

Getting a dump in the first place on this generation usually means a boot-mode read with the case open — these modules predate convenient bench paths on most tooling. Our read-methods guide covers the technique and the failure modes; the short version is read twice and diff before you trust the file.

What each module can actually have done

MS43 (M54) — the well-covered one

All four listed revisions are Live for IMMO-OFF, which in our terms means validated and automated: upload a read, the operation runs, and you download a patched file in seconds. Checksum status on these entries is Beta— the recovery works and has fewer confirmed jobs behind it than the IMMO-OFF side, which is exactly the kind of distinction our coverage-status guide exists to make legible.

The methodology behind the MS43 patch is public — a three-part EWS-delete covering the jump, the code path and the diagnostic trouble code suppression, originally documented in the enthusiast-research community. We implemented it, validated it per revision, and wrapped checksum recovery around it. The full service walkthrough is in our MS43 EWS-delete guide.

MS41 (M52) — checksum yes, IMMO-OFF not yet

MS41 sits at Soon for IMMO-OFF and Beta for checksum recovery. That combination is common and worth understanding: checksum recovery means knowing an algorithm and sector layout for a family, which generalises across revisions once solved. IMMO-OFF means knowing where one specific firmware build performs its check, which does not generalise at all.

So if you have an MS41 and you need a modified file to boot, we can help with the checksum side today. If you need the immobilizer check removed, do not ship the module expecting it — either wait, or post the job on the specialist network where operators with different tooling can bid on it.

MS42 (M52TU) — not ours

MS42 is not in our catalog. It is a well-understood module in the wider community and there are competent operators who work on it; we simply are not one of them, and a coverage claim we cannot stand behind is worth less than an honest no. The network is the right route.

The three jobs people confuse on this generation

Nearly every enquiry we get on M52/M54 cars is one of three situations, and picking the wrong service wastes a week:

A specialist who works this generation regularly framed the identification discipline this way:

“People bring me an E46 and tell me what it is. I don't care what the car is — I care what is written in the flash at the offset. Two cars off the same line, same month, different software. Read it, then decide.” — Independent BMW electronics specialist

What the patch does not touch

Worth stating explicitly, because it is the most common customer anxiety. An EWS-delete modifies the immobilizer-verification path only. It does not alter fuelling, ignition timing, boost, or any emissions monitor, and it does not affect OBD-II readiness. The vehicle behaves identically to a correctly paired module from the driver's seat, and there is no emissions-related change of any kind.

We do not provide emissions defeat, delete files, or services intended to bypass emissions laws. Our services exist for tuning preparation, diagnostics, repair, motorsport, and off-road use where legally permitted. Customer is responsible for confirming legal use in their location and application.

That distinction is legally meaningful, not cosmetic. Section 203(a)(3) of the federal Clean Air Act targets tampering with emissions controls and the sale of defeat devices. Restoring an immobilizer chain after a module swap is ordinary repair work and is not in that category; a delete file is, which is why we decline them outright.

On the independent-repair side, the National Automotive Service Task Force maintains the industry channel through which independents obtain service information and vehicle-security credentials — the formal recognition that this work belongs outside the dealer network too.

Before you order: the checklist

  1. Photograph the DME label — part number and hardware number.
  2. Confirm the engine designation, not just the model year.
  3. Take a complete read, twice, and diff the two. Keep the original read-only with its hash stored beside it — the backup guide explains why this is the one step you cannot recover from skipping.
  4. Upload to the identifier and read the reported revision.
  5. Check that revision on the coverage matrix. Live means order now; Soon or Manual means do not ship.
  6. Use battery support on the write-back. Twenty-five-year-old charging systems are not confidence-inspiring.

The short version

MS41, MS42 and MS43 look similar, sit in overlapping model years, and behave completely differently under a patch. MS43 is our strongest BMW coverage — four revisions, all Live for IMMO-OFF, $100 per file, returned in seconds. MS41 is checksum-only today. MS42 we do not cover, and we will say so before you ship rather than after.

The whole identification problem collapses into one free step: upload the dump. If it comes back Live, the price is posted and the file is back in seconds. If it does not, the specialist network is the honest next stop.

Frequently asked

How do I tell whether my BMW has an MS41, MS42 or MS43?
Three checks in increasing order of reliability. The DME label carries a BMW part number and a Siemens or Bosch hardware number — 5WK90015 and 5WK90017 are MS43-family parts in our covered set. The engine designation on the block beats the model year, because BMW ran overlapping production and an E46 built in 2000 could carry either an M52TU with MS42 or an M54 with MS43. And the dump itself is definitive: upload it to the free variant identifier and it reports the exact revision.
Which BMW DMEs do you actually cover?
MS43 is Live for IMMO-OFF across four software revisions — ca430037, ca430056 (Bosch hardware 5WK90015 and 5WK90017), ca430066 and ca430069 — with checksum recovery at Beta on those entries. MS41 is Soon for IMMO-OFF and Beta for checksum. MS42 is not in our catalog at all; there are competent operators who work on it and we are not one of them, which we would rather say before you ship than after.
Why is MS43 listed as four separate entries instead of one?
Because the software revision is the unit of work. An IMMO-OFF patch means locating the exact routine in one exact firmware build and modifying it without disturbing anything adjacent. Firmware revisions move code, so a patch derived from ca430037 applied to a ca430066 image can land at offsets that look plausible, recalculate to a clean checksum, and boot the module into behaviour nobody intended. Our fingerprinter reads the revision string at a fixed offset rather than trusting what a customer types.
Does an EWS delete affect emissions or inspection?
No. The patch modifies the immobilizer-verification path only. It does not alter fuelling, ignition timing, boost or any emissions monitor, and it does not affect OBD-II readiness. From the driver seat the vehicle behaves identically to a correctly paired module. We do not provide emissions defeat, delete files, or services intended to bypass emissions laws — restoring an immobilizer chain after a module swap is ordinary repair work and is a different category entirely.
My swapped E46 DME cranks but will not fire — is that an EWS problem?
Probably, but immobilizer mismatch is only one of six causes that produce that exact symptom. Rule out power, grounds and harness damage first, since a module with a marginal ground under crank behaves exactly like a software fault. If it is immobilizer pairing and the revision is covered, it is a $100 instant IMMO-OFF against your own read. If your original module can still be read, cloning is often the better engineering answer because it keeps the vehicle identity intact rather than removing a check.
How do I read an MS41 or MS43 module?
This generation predates convenient bench paths on most tooling, so a boot-mode read with the case open is the normal route. Read twice and diff the two files before you trust either — a marginal contact on a twenty-five-year-old board produces a plausible-looking corrupt dump, and that failure only surfaces after the write. Use battery support on the write-back; charging systems of this vintage are not confidence-inspiring.
What if my revision is not covered?
Do not ship the module expecting the operation. Either wait, or post the job on the specialist network where operators with different tooling can bid — posting is free, you pay only if you accept a bid, and payment is escrowed until you confirm completion. If you hold a confirmed donor pair for an uncovered revision, that is genuinely useful to us, because without one, patch development is inference rather than verification.

Ready to put this into practice?

Book a remote ECU programming session in minutes — or drop a dump on the free identifier first to see whether we cover your variant.