As of September 2026, the label on an ECU tells you more about what can be done to it than the year, make and model ever will — and the two numbers that matter most are the manufacturer's own part number and the hardware or software identifier printed beside it. A photograph of that label dropped into our free identifier routes a job in under a minute. This post is the manual version, so you can read one yourself standing beside the car.
We write this because the single most common reason a job comes back as “not what you ordered” is that the vehicle description and the module fitted to it disagree. On a car nobody has touched, year/make/model is a decent proxy. On a car that has been repaired, crashed, salvaged or worked on by two shops before yours, it is a guess. The label is not a guess.
What is actually printed on an ECU
Most engine control units carry three distinct families of number, and people routinely quote the wrong one when asking for help.
The vehicle-manufacturer part number.This is the number the carmaker owns — on a VAG unit it is the familiar format beginning with a three-digit group, on a GM unit it is a service part number, on a BMW it is a DME part number. It identifies the assembly as a service part. It is the number a dealer parts counter understands and the one used-module sellers list, which is exactly why it is the number most people send us. It is useful, but on its own it does not tell you the internal architecture.
The ECU manufacturer part number.On Bosch units this is the ten-digit number normally rendered in three groups, and on Siemens or Continental, Delphi, Denso, Marelli and Hitachi units there is an equivalent. This is the one that identifies the actual hardware family — whether you are holding a ME7 petrol controller, an EDC17 diesel controller, a MED17 direct injection controller. It is the number that decides whether an operation is even theoretically possible.
The hardware and software version strings.Usually shorter, sometimes on a second sticker, sometimes only readable with the software once you are connected. On BMW Siemens units the four-digit identifier that follows the family name is exactly this, and it is the difference between four variants of the same nominal controller that behave differently. Our BMW DME identification guide walks through that specific case, because BMW is where it bites hardest.
“Nine out of ten times someone sends a photo of the wrong sticker. They send the vehicle part number, which tells me the car. I need the controller number, which tells me the job. They're usually two inches apart on the same housing.” — Bench technician, remote programming desk
Why the family name decides everything
Our coverage is organised by controller family, not by badge, and that is not an arbitrary choice. Two cars from different manufacturers can share a controller family and therefore share a route; two cars from the same manufacturer in consecutive model years can sit in different families and have nothing in common operationally.
| Number you are reading | What it tells you | Use it for |
|---|---|---|
| Vehicle manufacturer part number | Which car this was built for as a service part | Sourcing a donor, warranty lookups |
| ECU manufacturer part number | The controller family and hardware generation | Deciding whether an operation exists at all |
| Hardware / software version string | The specific variant inside that family | Confirming the exact route before paying |
| Memory chip marking (inside the case) | Where the immobiliser data physically sits | Bench work, read-method selection |
| VIN sticker or handwritten VIN | Which car it was last married to | Spotting a donor module immediately |
You can see the consequence directly in our coverage matrix. Bosch ME7 variants sit at different statuses to each other; the BMW Siemens controllers are listed as four separate variants rather than one entry, because they genuinely are four separate problems. Our coverage status guide explains what Live, Beta, Soon and Manual mean in practice.
The Saab Trionic entries make the point cleanly: T5 and T7 carry a different status to T8, so the answer to “can you do a Saab?” is genuinely per controller rather than per badge. Our Trionic 8 IMMO-OFF guide walks through identifying which one you are holding.
Reading a label on the car, without removing anything
Most of the time you can photograph what you need without pulling the unit. The order that works:
- Find the housing before you find the label. Engine bay, under a scuttle panel, behind a kick panel, under a seat — the location is per platform, not per brand.
- Photograph the whole sticker, square on, in focus. Not a crop of the number you think matters. The layout carries information too.
- Photograph any second sticker. Version strings and supplier codes frequently live on their own smaller label, sometimes on an adjacent face of the housing.
- Look for handwriting.A marker-pen VIN, a shop's initials or a date written on the case is the single fastest way to discover you are holding a used unit somebody already worked on.
- Check for a broken seal or tool marks. If the case has been opened, assume the contents are not stock and say so when you book.
Then run the photo through the free identifier before you spend anything. It exists precisely so that the routing decision happens before money moves rather than after.
The three things a label reveals that change the price
Whether this is a donor module. A VIN on the case that does not match the car in front of you means the configuration step is mandatory, not optional. Our used-ECU matching guide covers what has to line up before a donor is even worth buying, and the VIN-mismatch guide covers the symptoms when that step is skipped. A car that will not start after an ECU swap is usually a labelling problem that became an electrical complaint.
Whether the operation is a file or a session.Some families are file products — you read the module, upload the binary, and a patched file comes back. Others have no file product at all and the correct route is a live remote session on the OE application. The family name is what decides that, which is why our flash page is organised by platform and the coverage matrix by controller.
Whether the module can be read at all with what you own. Certain families read comfortably over the OBD port; others need the module on a bench, or in boot mode, or with the case open. Our bench, boot and OBD read-method comparison sets out which is which and why the choice is not yours to make — it belongs to the hardware.
The other manufacturers on the label
Bosch is the name people reach for, and it is far from the only one on a workbench. The reading method is identical; only the house style of the numbering changes.
Siemens and its Continental successor supply a great deal of what the trade still calls by the old name — the BMW controllers in our catalogue are Siemens units, listed by family and then by the identifier that distinguishes four otherwise similar variants. Delphi appears across Hyundai, Kia, Ford and GM applications and carries its own numbering. Denso, Marelli and Hitachi each have theirs, and Hitachi is the family behind the Nissan controller in our matrix.
What stays constant is the hierarchy: a number that identifies the car as a service part, a number that identifies the controller, and a version string that identifies the variant. If a label in front of you does not obviously break into those three, photograph the whole thing and let the identifiersort it — that is cheaper than guessing which of five numbers to quote.
What a label cannot tell you
Honesty about the limits matters more here than another paragraph of technique. A label identifies hardware. It does not tell you whether the software inside has been modified, whether a previous write completed, whether the checksum is currently valid, or whether an earlier operator left the unit in a half-programmed state. Those are read-time discoveries, and pretending otherwise is how a twenty-minute job turns into an afternoon.
It also cannot tell you that a controller is signed. On several modern families the bootloader validates a cryptographic signature before accepting anything, and no amount of identification changes that answer — VAG's Simos PCR2.1 is listed in our catalogue explicitly as RSA-signed and not supported, and it will stay that way until the mathematics changes rather than until the tooling improves. Our signed-bootloader explainer is the long version.
Where this fits for a locksmith or an independent shop
For a mobile operator the label read is a triage skill worth ten minutes of practice. It converts “I think it's a 2012 something” into a routable job on the phone, and it stops you quoting for work that turns out to be a bench job. The Automotive Service Association and NASTF both build their guidance around correct module identification for the same reason.
Scale matters too. S&P Global Mobility put the average age of light vehicles on U.S. roads at 12.6 years in its 2024 study, and that is the band where modules get replaced with used units and labels stop matching VINs. It is not an edge case; it is most of the fleet.
If the identification lands somewhere we do not carry, the honest answer is on the brands-we-do-not-cover post, and the route is our specialist network— posting is free and you pay only if you accept a bid.
Standards and the legal line
The interface that makes any of this work in the aftermarket is published: SAE J2534 defines the pass-thru layer that lets manufacturer software reach a vehicle through third-party hardware. Reading a label correctly is what tells you which side of that interface your job lives on.
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 line applies to identification work as much as to anything else. Section 203(a)(3) of the federal Clean Air Act does not care how precisely you identified a controller before removing an emissions monitor from it.
The short version
Three numbers, two inches apart, and only one of them answers the question you are asking. The vehicle part number identifies the car; the controller part number identifies the job; the version string identifies the variant. Photograph all of them, square on, plus anything handwritten. Then drop it into the free identifier, check the result against the coverage matrix, and book the route that actually matches — a remote session from $100, an uploaded file, or a mail-in if the module cannot be read where it sits.