Cross-Flash Clusters
Sibling clusters and what will actually cross-flash, plus KWP2000 and seed-key.
Sibling clusters and what will actually cross-flash, plus KWP2000 and seed-key.
When tuning a target ECU binary that lacks an identical DAMOS file, calibration engineers group ECUs into hardware and code compatibility clusters. Within each cluster, map names, axis dimensions, internal scaling, and code branch execution remain deterministic.
Cluster 1: The 24B US AWP 180 PS Manual Ecosystem#
- Core Member:
06A906032LP- Bosch Hardware:
0261207446(early) /0261207955(standard) - Engine Code: AWP (1781cc, 9.5:1 CR, VVT on intake, wideband LSU4.2, electronic wastegate N75, diverter valve N249)
- Transmission: 5-speed 02J (
JJ) or 6-speed 02M (LP,SK,PL) - Calibration Geometry: Flash mirroring at segment
0x81(Page Base0x814000via DPP10x0205). Map descriptor addresses match directly. Between software revisions1037366194(LP base DAMOS) and1037367518(late LP production), maps are systematically relocated by a predictable delta (e.g.KFZWshifts from0x01208Eto0x012102).
- Bosch Hardware:
- Fully Interchangeable Calibrations:
06A906032JJ,06A906032PL,06A906032SK - Primary Master DAMOS:
h24bw05g.dam(Folder ID:1t_KhwuQY9o1PxL3rRyAMTktmQmDckl2b) - Key Characteristics:
Cluster 2: The 24B Transverse 180 PS European Standard#
- Core Member:
06A906032DL- Engine Code: AUQ (Euro 4 emissions standard, secondary air injection, dual oxygen sensors, 180 PS).
- Software Structure:
I24bh04grepresents the European standard for AUQ 6-speed manual setups (Golf GTI 25 Jahre / SEAT Leon Cupra). Map structure is 99% identical in control flow to US AWP, with minor variations in catalytic converter diagnostic thresholds (CDKAT) and warm-up enrichment (FAW).
- Sibling Calibrations:
06A906032DM(Automatic),06A906032GH,06A906032HN - Primary Master DAMOS:
I24bh04g.dam(Folder ID:1GfD70j0YRZ9VK3nZKDzXcnqj50R32IiF) - Key Characteristics:
Cluster 3: The 24B Transverse 150/180 PS Early / Transition Ecosystem#
- Core Member:
06A906032HS- Engine Code: AWW (150 PS factory rated, equipped with K03s turbocharger and wideband lambda).
- Software Revision:
1037363354. Software revision1037362563matchesh24bo08gby 99.97% (differing by only 268 bytes). - This is the ideal calibration donor for 2001 MK4 GTI/Jetta vehicles and early 06A 906 018 ECUs upgrading to 1MB flash routines.
- Sibling Calibrations:
06A906018HS,06A906032HF,06A906032HR,06A906032HM - Primary Master DAMOS:
h24bo08g.dam(Folder ID:1mznetKCp2jCplUQz1l5Elhpj9GhM5VRt) - Key Characteristics:
Cluster 4: The 22i Euro 3/4 150 PS Transverse Lineage#
- Core Member:
06A906032CL- Engine Code: ARZ / AUM (Euro 3 / Euro 4, 150 PS, K03/K03s).
- Hardware:
0261206552(CL) /0261206553(CM). - Architecture: Generation
22i. Utilizes earlier variable allocation tables in RAM compared to24B. Essential for properly scaling load and boost targets on European 150 PS Golf/A3 vehicles without trigger-loop errors.
- Sibling Calibrations:
06A906032CM(Automatic),06A906032DK(Audi A3) - Primary Master DAMOS:
i22ic04g.dam/k22ic05g.dam(Folder ID:15mQ_gcqR7A882Q7qDBxtS9xHTUrh-n-f) - Key Characteristics:
Cluster 5: The 24D / 24B High-Output K04 Quattro Platform#
- Core Members:
8N0906018CB,8N0906018BE,8N0906018BB,8N0906018J- Hardware:
0261208053(CB),0261207777(BE),0261207774(BB),0261206794(J). - Twin intercoolers, K04 turbocharger with integrated exhaust gas temperature thermocouple (
TABGBTS), dual knock sensor calibration for high cylinder pressures.
- Hardware:
- Sibling Calibrations:
8N0906018BC,8N0906018BD,8N0906018BP,8N0906018BQ,8N0906018CC,8N0906018CE - Primary Master DAMOS:
- Key Characteristics:
5.6. Hardware-to-Firmware Operational Interoperability Matrix (Fully Married / Immo Defeated)#
When an ECU is fully unlocked—meaning the serial EEPROM (ST 95040) is adapted, the immobilizer (WFS2 / WFS3) is defeated or married, the cluster is paired, and checksums are verified via me7sum—the ability of a given firmware binary to execute reliably on a target physical hardware revision is governed strictly by silicon capabilities, sensor acquisition circuits, and pin assignments.
Even with identical flash memory size (1024 KB), firmware cannot execute properly if the physical board lacks the silicon interface for expected sensors (e.g., wideband CJ125 vs. narrowband discrete, or thermocouple EGT amplifier).
FIRMWARE TO HARDWARE OPERATIONAL INTEROPERABILITY SUMMARY
| Firmware Family (Target Binary) | Gen 4 HW: 0261208xxx & 0261207955 (LP/SK) | Gen 3 HW: 0261207xxx (HS / Early JJ / HN) | Gen 2 HW: 0261206xxx (CL / DL Euro 4) |
|---|---|---|---|
| 24B US AWP (LP/PL/SK) | DIRECT 100% NATIVE (Optimal EMI profile) | 100% FUNCTIONAL (Minor ground noise) | REQUIRES VVT & PWM RESYNC (Check cam adjuster frequency) |
| 24B US AWW (HS/018HS) | 100% FUNCTIONAL (Backward compatible) | DIRECT 100% NATIVE (Factory benchmark) | 100% FUNCTIONAL (Calibrate for LSU 4.2) |
| 24B Euro AUQ (DL/DM) | 100% FUNCTIONAL (02M 6-spd native) | 100% FUNCTIONAL (Gear ratio update) | DIRECT 100% NATIVE (Factory benchmark) |
| 22i Euro AUM (CL/CM) | 100% FUNCTIONAL (Backward compatible) | 100% FUNCTIONAL (Backward compatible) | DIRECT 100% NATIVE (Factory benchmark) |
| 24D BAM 225 (CB/BE) | REQUIRES CDATR=0 (EGT stage missing) | REQUIRES CDATR=0 (EGT stage missing) | REQUIRES CDATR=0 (EGT stage missing) |
| 21D Euro 2/3 (AC/AD) | INCOMPATIBLE | INCOMPATIBLE | INCOMPATIBLE |
| (Narrowband code) | (CJ125 uninitialized) | (CJ125 uninitialized) | (CJ125 uninitialized) |
5.6.1. The Five Silicon & Physical Board Gating Constraints#
Before attempting cross-generation firmware swaps, verify compliance across these five hardware boundaries:
- The Flash Memory Boundary (512 KB vs. 1024 KB):
- Rule: A 1024 KB firmware image (
LP,HS,CL,DL,JJ,BAM) cannot run on a 512 KB board (0261204xxx/AM29F400BT). The code will truncate at0x07FFFF, failing reset vector execution and bricking the processor. - Inverse: A 512 KB binary can run on a 1024 KB board only if flashed into both banks (mirrored across
0x000000–0x07FFFFand0x080000–0x0FFFFF), though this is engineering-obsolete since 1024 KB codebases offer superior torque architecture and diagnostic resolution.
- Rule: A 1024 KB firmware image (
- The Oxygen Sensor Silicon Boundary (
CJ125vs. Discrete Narrowband):- Wideband Firmware on Narrowband Hardware: Strictly non-operational. Wideband binaries (
22i,24B,24C,24D) execute periodic SPI polling of the Bosch30345(CJ125) ASIC. If the CJ125 is absent (Gen 10261204xxx), the firmware throws internal communication errors, disables closed-loop fuel trims (B_lr = 0), and locks fueling to open-loop default tables. - Narrowband Firmware on Wideband Hardware: Non-operational. Narrowband binaries (
21D) lack the initialization routines for the CJ125. The wideband sensor remains cold and unpowered, causing heater open-circuit and signal flatline DTCs.
- Wideband Firmware on Narrowband Hardware: Strictly non-operational. Wideband binaries (
- The Exhaust Gas Temperature (EGT) Hardware Stage (
TABGBTS/ Pin 107/108):- BAM 225 Firmware on Standard 180 PS Boards:
- Audi TT 225 firmware (
8N0906018CB,8N0906018BE,8N0906018BB) requires an active signal from the thermocouple sensor (G235) on Pins 107 and 108. - Standard Golf/Jetta 150/180 PS boards (
0261207955,0261207446,0261206890) do not have the internal instrumentation amplifier populated on Pins 107/108. - Result: Immediate hard DTCs P1453 / 17861 (EGT Open/Short to B+) and P1457 / 17865 (EGT Range/Performance). The ECU triggers component protection enrichment (
LAMBTS), forcing lambda to 0.70–0.75 and severely degrading performance and fuel economy. - Workaround: If running 225 PS BAM code on an LP/JJ board, you must set codeword
CDATR = 0(Disable EGT control loop) and clear fault classes inCLAATR(see DOC 33 / DOC 34).
- Audi TT 225 firmware (
- Audi TT 225 firmware (
8N0906018CB,8N0906018BE,8N0906018BB) requires an active signal from the thermocouple sensor (G235) on Pins 107 and 108. - Standard Golf/Jetta 150/180 PS boards (
0261207955,0261207446,0261206890) do not have the internal instrumentation amplifier populated on Pins 107/108. - Result: Immediate hard DTCs P1453 / 17861 (EGT Open/Short to B+) and P1457 / 17865 (EGT Range/Performance). The ECU triggers component protection enrichment (
LAMBTS), forcing lambda to 0.70–0.75 and severely degrading performance and fuel economy. - Workaround: If running 225 PS BAM code on an LP/JJ board, you must set codeword
CDATR = 0(Disable EGT control loop) and clear fault classes inCLAATR(see DOC 33 / DOC 34).
- BAM 225 Firmware on Standard 180 PS Boards:
- Transmission Gearing & Vehicle Speed Sensor (VSS) Ratios:
- ME7.5 calculates the active gear ratio by comparing vehicle speed (
vfzg_w/ Pin 54 or CAN) against engine speed (nmot_w/ crank sensorG28): \text{Gear Ratio} =\frac{n_{mot}}{v_{fzg}}- In 5th gear on an 02J transmission, the gear ratio falls between the expected 5th and 6th gear windows of an 02M transmission.
- Consequence: The ECU sets
B_gang = 0(Neutral / Invalid Gear). Cruise control immediately drops out and refuses to engage. Cruise control will only work if the internal gear ratio detection boundaries (N_V_RATIO/WGFZ) are rescaled in the calibration.
- 6-Speed 02M Firmware (
LP,SK,DL) on a 5-Speed 02J Car (JJ,HS):
- In 5th gear on an 02J transmission, the gear ratio falls between the expected 5th and 6th gear windows of an 02M transmission.
- Consequence: The ECU sets
B_gang = 0(Neutral / Invalid Gear). Cruise control immediately drops out and refuses to engage. Cruise control will only work if the internal gear ratio detection boundaries (N_V_RATIO/WGFZ) are rescaled in the calibration.
- ME7.5 calculates the active gear ratio by comparing vehicle speed (
- Barometric Pressure Sensor Allocation (Transverse vs. Longitudinal):
- Longitudinal Firmware (
8E0909518/06B906018) on Transverse Hardware (06A906032):- Longitudinal ECUs contain an onboard barometric pressure sensor (
MPX4100AP/DS-LDF2) soldered directly to the PCB. - Transverse ME7.5 boards do not populate this internal sensor (barometric pressure is estimated or acquired via intake manifold pressure sensors).
- Consequence: Flashing A4 B6 or Passat firmware onto a Golf/Jetta box triggers an internal barometric pressure sensor circuit malfunction DTC (P1540 / 17948).
- Longitudinal ECUs contain an onboard barometric pressure sensor (
- Longitudinal ECUs contain an onboard barometric pressure sensor (
MPX4100AP/DS-LDF2) soldered directly to the PCB. - Transverse ME7.5 boards do not populate this internal sensor (barometric pressure is estimated or acquired via intake manifold pressure sensors).
- Consequence: Flashing A4 B6 or Passat firmware onto a Golf/Jetta box triggers an internal barometric pressure sensor circuit malfunction DTC (P1540 / 17948).
- Longitudinal Firmware (
5.6.2. Operational Interoperability by Firmware Family#
Family A: US AWP 180 PS Manual Firmware (06A906032LP, JJ, SK, PL)#
- Native Target Hardware: Generation 4 (
0261207955/0261208xxx).- Verdict: STRICTLY FORBIDDEN. 1024 KB binary cannot fit in 512 KB memory. Will brick module.
- Running on Gen 3 Hardware (
0261207446- e.g. Stock HS / Early JJ Box): - Running on Gen 2 Hardware (
0261206890/0261206552- e.g. Stock DL / CL Box): - Running on Gen 1 Hardware (
0261204xxx):
Family B: European AUQ 180 PS Firmware (06A906032DL)#
- Native Target Hardware: Generation 2/3 (
0261206890).- Verdict: Compatible with Gear Ratio Update.
- Behavior: 02M 6-speed gear ratio tables in AUQ software will disable cruise control in 5th gear on an 02J transmission unless rescaled.
- Running on Gen 4 Hardware (
0261207955- 032LP Box): - Running on US 5-Speed Hardware (
06A906032JJ/06A906032HS):
Family C: Audi TT 225 PS BAM Firmware (8N0906018CB, BE, BB)#
- Native Target Hardware: High-Output K04 Hardware (
0261208053,0261207777,0261207774).- Verdict: Requires EGT Calibration Defeat (
CDATR = 0). - Behavior: Without
CDATR = 0, the missing physical thermocouple stage on Pins 107/108 causes hard limp-home fuel dumping (LAMBTS\lambda = 0.70). OnceCDATRis disabled, the BAM firmware executes cleanly on standard transverse hardware, allowing high-boost K04-023 turbo setups to run factory BAM ignition and charge air models.
- Verdict: Requires EGT Calibration Defeat (
- Running on Standard Golf/Jetta 180 PS Hardware (
0261207955/0261207446):
5.6.3. Hardware-to-Firmware Diagnostic Cross-Matrix#
| Physical Hardware Box (Installed on Vehicle) | 06A906032LP / JJ (US AWP 180PS) | 06A906032DL (Euro AUQ 180PS) | 06A906032HS (US AWW 150PS) | 06A906032CL (Euro AUM 150PS) | 8N0906018CB / BE (TT 225 BAM) | 8E0909518 (A4 B6 Long.) |
|---|---|---|---|---|---|---|
Gen 4: 0261207955 / 0261208xxx (032LP / SK / PL) | Native (100%) | Fully Compatible | Fully Compatible | Fully Compatible | Compatible with CDATR=0 | Incompatible (Baro DTC) |
Gen 3: 0261207446 (032HS / Early 032JJ) | Fully Compatible | Fully Compatible | Native (100%) | Fully Compatible | Compatible with CDATR=0 | Incompatible (Baro DTC) |
Gen 2: 0261206890 (032DL Euro AUQ) | Compatible (Resync) | Native (100%) | Fully Compatible | Fully Compatible | Compatible with CDATR=0 | Incompatible (Baro DTC) |
Gen 2: 0261206552 (032CL Euro AUM) | Compatible (Resync) | Fully Compatible | Fully Compatible | Native (100%) | Compatible with CDATR=0 | Incompatible (Baro DTC) |
Audi TT 225: 0261208053 / 0261207777 | Fully Compatible | Fully Compatible | Fully Compatible | Fully Compatible | Native (100% EGT Active) | Incompatible (Baro DTC) |
Gen 1: 0261204xxx (512 KB Early) | FATAL BRICK | FATAL BRICK | FATAL BRICK | FATAL BRICK | FATAL BRICK | FATAL BRICK |
5.7. KWP2000 Protocol Timings & Fast Initialization across ME7.5 Clusters#
All Bosch ME7.5 engine control units utilize the ISO 14230-4 / KWP2000 (Keyword Protocol 2000) standard over a single bi-directional diagnostic line (Pin 43 / K-Line) conforming to ISO 9141-2 physical transceivers. When establishing communication for calibration extraction, datalogging, or high-speed reflashing, diagnostic tools must strictly observe the initialization sequence and inter-byte bus timings.
1. Fast Initialization Sequence (Fast Init)#
Standard 5-baud initialization is deprecated on ME7.5 in favor of the Fast Initialization sequence:
- Line Idle: The tester holds the K-Line at passive pull-up (12\text{V}) for at least 300\text{ ms} (T_{\text{idle}}).
- Key Bytes:
0xEAand0x8Fdesignate standard Keyword 2000 with physical addressing and normal timing parameters.
- Key Bytes:
- Wakeup Low Pulse (T_{\text{iniL}}): The tester pulls the K-Line low (0\text{V}) for exactly 25.0\text{ ms} \pm 1.0\text{ ms}.
- Line Recovery High Pulse (T_{\text{wup}}): The tester releases the K-Line high for 25.0\text{ ms} \pm 1.0\text{ ms}.
- Tester Start Communication Request (Service
$81): The tester transmits the 4-byte KWP2000 initialization telegram at 10,400\text{ bps} (8\text{N}1): \mathbf{\text{Telegram: } [0\text{x}81, \ 0\text{x}11, \ 0\text{x}F1, \ 0\text{x}81, \ 0\text{x}04]} - ECU Positive Response (Service
$C1): Within 20\text{ ms} to 50\text{ ms}, the ECU returns: \mathbf{[0\text{x}83, \ 0\text{x}F1, \ 0\text{x}11, \ 0\text{xC1}, \ 0\text{xEA}, \ 0\text{x8F}, \ 0\text{x7F}]}
2. KWP2000 Inter-Byte & Inter-Message Timing Limits#
BOSCH ME7.5 KWP2000 BUS TIMING SPECIFICATION
| Timing | Description | Minimum | Maximum | Default Value |
|---|---|---|---|---|
| P1 | Inter-byte time for ECU response | 0 ms | 20 ms | 0 ms |
| P2 | Time between Tester request & ECU reply | 25 ms | 50 ms | 25 ms |
| P3 | Time between ECU reply & next request | 55 ms | 5000 ms | 55 ms |
| P4 | Inter-byte time for Tester request | 0 ms | 20 ms | 0 ms |
3. High-Speed Baud Rate Negotiation#
While standard diagnostics operate at 10,400\text{ bps}, ME7.5 bootloaders support dynamic baud rate escalation via Service $87 (AccessTimingParameters) or Bosch proprietary switching sequences:
- 38,400\text{ bps}: Maximum reliable rate across noisy vehicle wiring or unshielded OBD cables.
- 57,600\text{ bps}: Standard high-speed bench flashing rate.
- 125,000\text{ bps}: Maximum hardware rate supported by the internal C167CR Asynchronous Serial Channel 0 (
ASC0) using a 20\text{ MHz} CPU crystal.
5.8. Bosch Security Access & Seed-Key Algorithms (Service $27)#
To flash new calibration files via OBD without opening the ECU housing, the diagnostic session must transition into Reprogramming Mode via KWP2000 Service $10 0x85 (Start Diagnostic Session: Programming). The flash memory is protected by a dynamic challenge-response cryptographic handshake governed by Service $27 (SecurityAccess).
sequenceDiagram
participant DiagnosticTester as Diagnostic Tester (Host)
participant BoschME75ECU as Bosch ME7.5 ECU
DiagnosticTester->>BoschME75ECU: Service $27 01 (Request Seed)
BoschME75ECU-->>DiagnosticTester: Service $67 01 (Seed: S0 S1 S2 S3)
Note over DiagnosticTester,BoschME75ECU: Compute Key: K = f(Seed, Secret_Mask)
DiagnosticTester->>BoschME75ECU: Service $27 02 (Key: K0 K1 K2 K3)
BoschME75ECU-->>DiagnosticTester: Service $67 02 (Security Access OK)
Note over DiagnosticTester,BoschME75ECU: Flash Erase / Write Services Unlocked1. Security Access Levels#
- Level 1 (
$27 01/$27 02): Flash Reprogramming Security Access. Unlocks Services$31(Routine Control / Flash Erase),$34(Request Download), and$36(Transfer Data). - Level 2 (
$27 03/$27 04): Engineering & Memory Read Access. Unlocks raw memory upload and calibration table dumping.
2. The Bosch ME7.5 24B Seed-Key Transformation Algorithm#
Inside the ECU ROM, Bosch implements a proprietary 32-bit linear-feedback rotation algorithm parameterized by an internal 32-bit secret mask (M_{\text{secret}}):
def calculate_me7_security_key(seed_bytes, secret_mask=0x51E28A3B):
"""
Calculates the 4-byte Security Access Key for Bosch ME7.5 Service $27 02.
Default mask for 24B family (06A906032LP / JJ / SK): 0x51E28A3B.
"""
import struct
seed = struct.unpack('>I', seed_bytes)[0]
if seed == 0x00000000:
return b'\x00\x00\x00\x00' # Already unlocked
# Rotate right 5 bits with 32-bit wrap-around
rotated = ((seed >> 5) | (seed << 27)) & 0xFFFFFFFF
# Non-linear XOR transformation with secret mask
temp = (rotated ^ secret_mask) & 0xFFFFFFFF
# Arithmetic addition with dynamic round constant
key = (temp + 0x12345678) ^ ((seed << 3) & 0xFFFFFFFF)
key = key & 0xFFFFFFFF
return struct.pack('>I', key)
Execution Rule: If an incorrect key is transmitted, the ECU increments an internal EEPROM security lockout counter (Page 5). After 3 consecutive failed attempts, the ECU enforces a 10-minute hardware wait penalty during which all Service $27 requests are rejected with Negative Response Code $36 (ExceedNumberOfAttempts).
Related#
Cross-referenced on shared calibration symbols, not on subject matter — these are the chapters that touch the same maps.
- Chapter 2 — Bosch Project Taxonomy —
CDATR,G235,TABGBTS,N249,N205,N75 - Chapter 25 — Troubleshooting & Failsafes —
B_LR,N205,N75,G28,NMOT_W,KFZW - Chapter 9 — Donor ECU Conversion —
CDATR,VFZG_W,G235,TABGBTS - Chapter 13 — 121-Pin Harness —
G235,N249,N205,N75,G28 - Chapter 7 — DFPM & Emissions Strategy —
CDKAT,N249,N205,N75 - Chapter 39 — Harness Fabrication —
N249,N205,N75,G28
← Previous chapter · Contents · Next chapter →
Related
Cross-referenced on shared calibration symbols, not on subject matter — these are the chapters that touch the same maps.