Нужно ли кодиране на резервна BMW E90 DME преди да стартира
Yes — a replacement BMW E90 DME will not start the engine until it has been synchronised with the CAS module and coded to the vehicle. The DME and CAS share an encrypted key called the ISN (Individual Serial Number). If those two values do not match, the engine cranks but will not fire. Beyond immobiliser synchronisation, the DME also carries variant coding for the engine type, fuel grade, exhaust standard and fitted options. A unit pulled from a donor car carries the donor’s data, not yours.
Why the E90 DME Cannot Simply Be Swapped
The N46, N52, N54 and N47 engines all use the same basic principle: the DME and CAS must agree on the ISN before the injectors are enabled. BMW implemented this from the E46 CAS generation onwards and tightened it significantly on the E9x series. The ISN is stored in the CAS EEPROM and also inside the DME. When a used DME arrives from a different car, its stored ISN belongs to the donor vehicle’s CAS. Your CAS sends its ISN challenge and the DME responds with the wrong answer — crank, no start, no injector pulse.
There are two legitimate ways to resolve this. The first is to read the ISN from your existing CAS using suitable equipment (ISTA/P, BMW Scanner, or a specialist tool such as Autel IM608 with BMW licence) and write it into the replacement DME. The second — used when the CAS is also damaged — is to read the ISN directly from the CAS EEPROM on the bench and program it into the new DME. Neither route is achievable with a basic ELM327 reader.
What Coding the E90 DME Actually Covers
ISN synchronisation is the minimum. The full coding job on an E90 DME covers several additional items that affect drivability, emissions compliance and long-term function: For comparison, see BMW E90 3-Series DME Модул за управление Кодиране и съвместимост при подмяна.
- VIN coding: The DME stores the vehicle VIN. Without a correct VIN, some diagnostic routines flag the unit as foreign and certain adaptation values do not complete.
- Engine variant coding: E90 was sold with N46B18, N46B20, N52B25, N52B30, N54B30, N47D20 and others. Coding must match the actual engine fitted.
- Exhaust standard: Euro 3 and Euro 4 calibrations differ for catalyst heating strategies and fuel trim limits. Fitting a Euro 3 coded unit to a Euro 4 car raises emissions-related fault codes.
- Market coding: Fuel octane maps, speed limiters and OBD protocol modes differ by market. A DME coded for the US market on a European car will show incorrect fuel trim behaviour.
- Option coding: Valvetronic, sport exhaust, start-stop (on late N47 variants) and DSC integration flags are all held in the DME coding record.
Skipping variant coding does not always prevent the car from running, but it commonly results in persistent fault codes, poor fuel economy, limp mode events and failed emissions tests.
Equipment Required
For E90 DME work you need one of the following setups. BMW ISTA/P (formerly Progman) running on a laptop with an ICOM or ENET adapter is the factory standard and handles all steps including ISN transfer and full variant coding. Autel MaxiSys with the BMW programming licence covers the same ground for independent workshops. Rheingold (ISTA-D) reads faults but does not program — a common source of confusion. Basic OBD scanners that claim BMW compatibility typically cannot write ISN or perform DME initialisation on the E90 generation.
If you buy a tested DME from a supplier who has already read and noted the ISN and the full part number breakdown, the workshop job is cleaner because the donor ISN is known before the unit is fitted. Always request the ISN documentation when ordering a used E90 DME.
Fault Codes Seen When Coding Is Missing or Wrong
A DME installed without correct coding generates predictable fault codes across the engine management and CAS systems:
- 2A82 / 2A87 — Valvetronic motor or position sensor plausibility. Often stored when engine variant coding does not match the fitted Valvetronic system.
- A0A4 / A0A5 — CAS communication fault, DME does not recognise the CAS signal. Typically the first code set when ISN is mismatched.
- 2B2A — DME internal fault, EEPROM data invalid. Appears when the unit has been partially programmed or when voltage dropped during a coding session.
- 29E1 — Fuel injection, plausibility error. Common when market coding does not match the installed injector type (direct vs port injection variants).
- A801 — Immobiliser active. Clear indicator that CAS/DME ISN synchronisation has not been completed.
On the N47 diesel, 4530 (rail pressure control deviation) and 4534 (injector quantity correction) can appear when the DME carries injector trim values from the donor engine. These require IQ coding specific to the injectors physically fitted to your engine. A related diagnostic guide is BMW E90 DME Неизправности: Симптоми и ремонт.
OEM номера на части
The E90 DME part number is stamped on a label on the unit body and also stored in its internal memory. A representative sample of genuine numbers for common E90 variants:
- 7 568 649 — N52B25UL, 325i, 2005–2007, manual and automatic
- 7 578 274 — N52B30OL, 330i, 2006–2008
- 7 794 304 — N54B30OL, 335i, 2006–2010, twin turbo
- 7 802 192 — N47D20OL, 320d, 2007–2010, common rail diesel
- 8 506 748 — N46B20BF, 318i, late production, revised Valvetronic map
The suffix letters after the engine code denote calibration revision and equipment level. Two units with the same base number but different suffixes are not necessarily interchangeable for plug-and-play swap. Even within identical part numbers, ISN synchronisation is always required.
Засегнати превозни средства
This procedure applies to all E90 saloon, E91 Touring, E92 coupe and E93 convertible models produced from 2004 to 2012. Engines affected include N46B18, N46B20, N52B25, N52B30, N54B30, N55B30 (from 2010), N47D20 and N57D30 on the 335d. The principle is the same across all variants — only the specific coding parameters differ. The F10 5-Series and F01 7-Series use a similar architecture but different programming toolchains; do not assume E90 procedures transfer directly.
Practical Workshop Steps
The sequence that works reliably in independent workshops with ISTA/P access:
- Read and record the ISN from the installed CAS before removing the old DME.
- Fit the replacement DME. Expect crank/no-start at this stage — that is normal.
- Connect ISTA/P, select Vehicle Order, enter the chassis number. ISTA/P will identify the new DME as foreign and prompt for initialisation.
- Write the previously recorded ISN into the new DME.
- Perform full variant coding using the Vehicle Order data pulled from the chassis number.
- Run DME initialisation (drive cycle adaptation). On diesel variants, enter injector IQ values from the labels on the injectors themselves.
- Clear all fault codes. A small number of codes relating to adaptation reset (fuel trim, idle) will appear and clear on a short test drive.
Често задавани въпроси
Can I fit an E90 DME myself without specialist equipment?
You can physically fit the unit, but the car will not start. ISN synchronisation requires software that communicates with the CAS over the OBD port. A workshop with BMW ISTA/P or equivalent is the minimum requirement. The job is not achievable with a generic scanner.
Does buying a used E90 DME from a breaker solve the coding problem?
It provides the hardware but not the coding. A used unit still needs ISN synchronisation and variant coding regardless of where it came from. The advantage of a properly tested unit from a known source is that the part number is confirmed and the ISN is often documented, saving diagnostic time at the workshop. For additional context, read BMW E90 DME MSD80 срещу MSD85: Неизправности и употребявани модули.
Will the E90 DME from a 325i fit a 330i without any changes?
Physically the units may look identical, but the engine calibration, fuel maps, ignition advance curves and variant flags are different. Fitting a 325i DME in a 330i without recoding will result in a running car with incorrect fuelling, fault codes and potentially reduced performance. The unit must be coded to the exact engine variant.
What happens if voltage drops during DME programming?
An interrupted programming session can leave the DME in an undefined state — partially overwritten EEPROM, which produces code 2B2A and typically prevents starting. Always connect a battery support unit maintaining at least 13.5 V before starting any DME programming session. Recovery from a failed flash usually requires the unit to be sent to a specialist.
Is the E90 N47 diesel DME any different to code than the petrol units?
The ISN synchronisation process is the same. The extra step on the N47 is injector quantity (IQ) coding — each injector has a correction code printed on it that must be entered into the DME to calibrate cylinder-specific fuel delivery. Without IQ coding, the engine runs roughly and sets multiple injector balance fault codes. This step has no equivalent on petrol variants.
Намерете проверени оригинални електронни части и модули на адрес:
https://giantparts.eu/
