BMW 3 Series E36 1990–2000 (M50/M52) → Haltech Elite 2500 HT-151300 (auto)
BMW 3 Series E36 1990–2000 (M50/M52) — Haltech — Elite 2500
Drawn by Michael Gnankou · Rev 0 · proposal · 2026-10-08
Before you start
| Status | proposal · not yet verified: nobody has reported building and running this harness |
|---|---|
| Open errors | none |
| Size of the job | 52 wires · 6 connectors · 1 part lines |
| Tools | Crimp and extraction tools for each terminal family (see Connectors) · wire strippers · multimeter · heat gun + heat-shrink |
| Order of work | 1. Check every part against the parts list. 2. Cut and label every wire (labels: Export → Wire labels). 3. Crimp and pin connector by connector, ticking the build checklist. 4. Run the bench test with nothing plugged in and the battery disconnected. 5. Only then connect the ECU and power up. |
Build checklist
Tick each box as you go. Continuity: meter from end to end, expect under 1 Ω.
| Wire | From | To | Gauge | Colour | Cut | Label | Crimp A | Crimp B | Pin A | Pin B | Continuity |
|---|---|---|---|---|---|---|---|---|---|---|---|
| W1 | OEM-X-54 | SP-14V-1 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W2 | SP-14V-1 | ELITE2500-A-26 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W3 | SP-14V-1 | ELITE2500-B-11 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W4 | OEM-X-15 | SP-GND-1 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W5 | OEM-X-34 | SP-GND-1 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W6 | OEM-X-55 | SP-GND-1 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W7 | OEM-X-6 | SP-GND-1 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W8 | SP-GND-1 | ELITE2500-A-10 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W9 | SP-GND-1 | ELITE2500-A-11 | 0.85 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W10 | OEM-X-28 | SP-0V-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W11 | OEM-X-40 | SP-0V-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W12 | OEM-X-43 | SP-0V-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W13 | OEM-X-44 | SP-0V-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W14 | OEM-X-71 | SP-0V-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W15 | SP-0V-1 | ELITE2500-B-14 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W16 | SP-0V-1 | ELITE2500-B-15 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W17 | SP-0V-1 | ELITE2500-B-16 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W18 | OEM-X-59 | ELITE2500-A-9 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W19 | OEM-X-16 | ELITE2500-B-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W20 | SP-0V-1 | ELITE2500-B-5 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W21 | OEM-X-17 | ELITE2500-B-2 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W22 | SP-0V-1 | ELITE2500-B-6 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W23 | OEM-X-70 | ELITE2500-B-21 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W24 | OEM-X-69 | ELITE2500-B-22 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W25 | OEM-X-50 | ELITE2500-A-3 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W26 | OEM-X-51 | ELITE2500-A-4 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W27 | OEM-X-52 | ELITE2500-A-5 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W28 | OEM-X-23 | ELITE2500-A-6 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W29 | OEM-X-25 | ELITE2500-A-7 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W30 | OEM-X-24 | ELITE2500-A-8 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W31 | OEM-X-33 | ELITE2500-A-19 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W32 | OEM-X-32 | ELITE2500-A-20 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W33 | OEM-X-31 | ELITE2500-A-21 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W34 | OEM-X-5 | ELITE2500-A-22 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W35 | OEM-X-3 | ELITE2500-A-27 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W36 | OEM-X-4 | ELITE2500-A-28 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W37 | OEM-X-56 | ELITE2500-A-13 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W38 | OEM-X-1 | ELITE2500-A-25 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W39 | OEM-X-27 | ELITE2500-A-18 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W40 | OEM-X-38 | ELITE2500-A-1 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W41 | OEM-X-2 | ELITE2500-A-23 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W42 | OEM-X-29 | ELITE2500-B-19 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W43 | OEM-X-36 | ELITE2500-A-24 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W44 | OEM-X-7 | ELITE2500-A-31 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W45 | OEM-X-8 | ELITE2500-A-32 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W46 | OEM-X-47 | ELITE2500-A-33 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W47 | OEM-X-41 | ELITE2500-B-13 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W48 | OEM-X-73 | ELITE2500-A-16 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W49 | OEM-X-13 | ELITE2500-A-17 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W50 | OEM-X-78 | ELITE2500-B-4 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W51 | OEM-X-77 | ELITE2500-A-2 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | |
| W52 | OEM-X-42 | ELITE2500-B-8 | 0.5 | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ |
Bench test (before first power-up)
Battery disconnected, ECU and every sensor unplugged. Meter on resistance. Each pair below must read open (OL): a reading means a pinched wire, a stray strand or a mis-pinned cavity. Then check continuity of every wire (last column of the build checklist).
| # | Probe A | Probe B | Expect | Why | Reading |
|---|---|---|---|---|---|
| 1 | ELITE2500-A-10 | ELITE2500-A-26 | open (OL) | power ground must not touch +12 V supply | |
| 2 | ELITE2500-A-10 | ELITE2500-A-9 | open (OL) | power ground must not touch 5 V sensor reference | |
| 3 | ELITE2500-A-26 | ELITE2500-A-9 | open (OL) | +12 V supply must not touch 5 V sensor reference | |
| 4 | ELITE2500-B-14 | ELITE2500-A-26 | open (OL) | sensor ground must not touch +12 V supply | |
| 5 | ELITE2500-B-14 | ELITE2500-A-9 | open (OL) | sensor ground must not touch 5 V sensor reference |
Revisions
| Rev | Label | By | Date |
|---|---|---|---|
| No revisions yet. | |||
Schematic
Connectors
ELITE2500-A
| Cavity | Function | Signal | Wire | Colour | Gauge (mm²) | Destination | Terminal | Seal | Plug |
|---|---|---|---|---|---|---|---|---|---|
| 1 | DPO 2 | — | W40 | — | 0.5 | OEM-X-38 | — | — | — |
| 10 | Battery ground | — | W8 | — | 0.85 | SP-GND-1 | — | — | — |
| 11 | Battery ground | — | W9 | — | 0.85 | SP-GND-1 | — | — | — |
| 12 | +8V DC | — | — | — | — | — | — | — | — |
| 13 | 12V ignition input | — | W37 | — | 0.5 | OEM-X-56 | — | — | — |
| 14 | AVI 10 (TPS) | — | — | — | — | — | — | — | — |
| 15 | AVI 9 (MAP) | — | — | — | — | — | — | — | — |
| 16 | AVI 2 | — | W48 | — | 0.5 | OEM-X-73 | — | — | — |
| 17 | AVI 3 | — | W49 | — | 0.5 | OEM-X-13 | — | — | — |
| 18 | DPO 1 | — | W39 | — | 0.5 | OEM-X-27 | — | — | — |
| 19 | INJ 1 | — | W31 | — | 0.5 | OEM-X-33 | — | — | — |
| 2 | AVI 4 | — | W51 | — | 0.5 | OEM-X-77 | — | — | — |
| 20 | INJ 2 | — | W32 | — | 0.5 | OEM-X-32 | — | — | — |
| 21 | INJ 3 | — | W33 | — | 0.5 | OEM-X-31 | — | — | — |
| 22 | INJ 4 | — | W34 | — | 0.5 | OEM-X-5 | — | — | — |
| 23 | DPO 3 | — | W41 | — | 0.5 | OEM-X-2 | — | — | — |
| 24 | DPO 5 (fuel pump trigger) | — | W43 | — | 0.5 | OEM-X-36 | — | — | — |
| 25 | DPO 6 (ECR OUT) | — | W38 | — | 0.5 | OEM-X-1 | — | — | — |
| 26 | ECU injector power input | — | W2 | — | 0.85 | SP-14V-1 | — | — | — |
| 27 | INJ 5 | — | W35 | — | 0.5 | OEM-X-3 | — | — | — |
| 28 | INJ 6 | — | W36 | — | 0.5 | OEM-X-4 | — | — | — |
| 29 | INJ 7 | — | — | — | — | — | — | — | — |
| 3 | IGN 1 | — | W25 | — | 0.5 | OEM-X-50 | — | — | — |
| 30 | INJ 8 | — | — | — | — | — | — | — | — |
| 31 | Stepper 1 P1 / DPO | — | W44 | — | 0.5 | OEM-X-7 | — | — | — |
| 32 | Stepper 1 P2 / DPO | — | W45 | — | 0.5 | OEM-X-8 | — | — | — |
| 33 | Stepper 1 P3 / DPO | — | W46 | — | 0.5 | OEM-X-47 | — | — | — |
| 34 | Stepper 1 P4 / DPO | — | — | — | — | — | — | — | — |
| 4 | IGN 2 | — | W26 | — | 0.5 | OEM-X-51 | — | — | — |
| 5 | IGN 3 | — | W27 | — | 0.5 | OEM-X-52 | — | — | — |
| 6 | IGN 4 | — | W28 | — | 0.5 | OEM-X-23 | — | — | — |
| 7 | IGN 5 | — | W29 | — | 0.5 | OEM-X-25 | — | — | — |
| 8 | IGN 6 | — | W30 | — | 0.5 | OEM-X-24 | — | — | — |
| 9 | +5V DC | — | W18 | — | 0.5 | OEM-X-59 | — | — | — |
ELITE2500-B
| Cavity | Function | Signal | Wire | Colour | Gauge (mm²) | Destination | Terminal | Seal | Plug |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Crank (Trigger) (+) | — | W19 | — | 0.5 | OEM-X-16 | — | — | — |
| 10 | SPI 3 | — | — | — | — | — | — | — | — |
| 11 | +13.8V ECU supply | — | W3 | — | 0.85 | SP-14V-1 | — | — | — |
| 12 | AVI 6 (O2 Input 1) | — | — | — | — | — | — | — | — |
| 13 | AVI 1 (O2 Input 2) | — | W47 | — | 0.5 | OEM-X-41 | — | — | — |
| 14 | Signal ground | — | W15 | — | 0.5 | SP-0V-1 | — | — | — |
| 15 | Signal ground | — | W16 | — | 0.5 | SP-0V-1 | — | — | — |
| 16 | Signal ground | — | W17 | — | 0.5 | SP-0V-1 | — | — | — |
| 17 | IGN 7 | — | — | — | — | — | — | — | — |
| 18 | IGN 8 | — | — | — | — | — | — | — | — |
| 19 | DPO 4 | — | W42 | — | 0.5 | OEM-X-29 | — | — | — |
| 2 | Cam (Home) (+) | — | W21 | — | 0.5 | OEM-X-17 | — | — | — |
| 20 | AVI 5 | — | — | — | — | — | — | — | — |
| 21 | KNOCK 1 | — | W23 | — | 0.5 | OEM-X-70 | — | — | — |
| 22 | KNOCK 2 | — | W24 | — | 0.5 | OEM-X-69 | — | — | — |
| 23 | CAN H | — | — | — | — | — | — | — | — |
| 24 | CAN L | — | — | — | — | — | — | — | — |
| 25 | DBW 1 / DPO | — | — | — | — | — | — | — | — |
| 26 | DBW 2 / DPO | — | — | — | — | — | — | — | — |
| 3 | AVI 7 (Air Temp) | — | — | — | — | — | — | — | — |
| 4 | AVI 8 (Coolant Temp) | — | W50 | — | 0.5 | OEM-X-78 | — | — | — |
| 5 | Crank (Trigger) (−) | — | W20 | — | 0.5 | SP-0V-1 | — | — | — |
| 6 | Cam (Home) (−) | — | W22 | — | 0.5 | SP-0V-1 | — | — | — |
| 7 | SPI 4 | — | — | — | — | — | — | — | — |
| 8 | SPI 1 | — | W52 | — | 0.5 | OEM-X-42 | — | — | — |
| 9 | SPI 2 | — | — | — | — | — | — | — | — |
OEM-X
| Cavity | Function | Signal | Wire | Colour | Gauge (mm²) | Destination | Terminal | Seal | Plug |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Fuel pump relay control | — | W38 | — | 0.5 | ELITE2500-A-25 | — | — | — |
| 13 | O2 sensor signal | — | W49 | — | 0.5 | ELITE2500-A-17 | — | — | — |
| 15 | Ground | — | W4 | — | 0.85 | SP-GND-1 | — | — | — |
| 16 | Crank position sensor (+) | — | W19 | — | 0.5 | ELITE2500-B-1 | — | — | — |
| 17 | Camshaft position sensor (Hall) | — | W21 | — | 0.5 | ELITE2500-B-2 | — | — | — |
| 2 | Idle speed control valve (close winding) | — | W41 | — | 0.5 | ELITE2500-A-23 | — | — | — |
| 23 | Ignition coil cylinder 4 | — | W28 | — | 0.5 | ELITE2500-A-6 | — | — | — |
| 24 | Ignition coil cylinder 6 | — | W30 | — | 0.5 | ELITE2500-A-8 | — | — | — |
| 25 | Ignition coil cylinder 5 | — | W29 | — | 0.5 | ELITE2500-A-7 | — | — | — |
| 26 | Battery voltage (constant +12V) | — | — | — | — | — | — | — | — |
| 27 | Main relay control | — | W39 | — | 0.5 | ELITE2500-A-18 | — | — | — |
| 28 | Ground (electronics + sensor shielding) | — | W10 | — | 0.5 | SP-0V-1 | — | — | — |
| 29 | Idle speed control valve (open winding) | — | W42 | — | 0.5 | ELITE2500-B-19 | — | — | — |
| 3 | Injector cylinder 5 | — | W35 | — | 0.5 | ELITE2500-A-27 | — | — | — |
| 31 | Injector cylinder 3 | — | W33 | — | 0.5 | ELITE2500-A-21 | — | — | — |
| 32 | Injector cylinder 2 | — | W32 | — | 0.5 | ELITE2500-A-20 | — | — | — |
| 33 | Injector cylinder 1 | — | W31 | — | 0.5 | ELITE2500-A-19 | — | — | — |
| 34 | Ground (output stages) | — | W5 | — | 0.85 | SP-GND-1 | — | — | — |
| 36 | Evap purge solenoid | — | W43 | — | 0.5 | ELITE2500-A-24 | — | — | — |
| 38 | O2 sensor heater relay control | — | W40 | — | 0.5 | ELITE2500-A-1 | — | — | — |
| 4 | Injector cylinder 6 | — | W36 | — | 0.5 | ELITE2500-A-28 | — | — | — |
| 40 | O2 sensor signal ground | — | W11 | — | 0.5 | SP-0V-1 | — | — | — |
| 41 | Mass air flow (MAF) signal | — | W47 | — | 0.5 | ELITE2500-B-13 | — | — | — |
| 42 | Vehicle speed signal | — | W52 | — | 0.5 | ELITE2500-B-8 | — | — | — |
| 43 | Crank position sensor (-) | — | W12 | — | 0.5 | SP-0V-1 | — | — | — |
| 44 | Sensor ground (IAT/ECT/TPS) | — | W13 | — | 0.5 | SP-0V-1 | — | — | — |
| 45 | Shield ground | — | — | — | — | — | — | — | — |
| 47 | Tachometer output | — | W46 | — | 0.5 | ELITE2500-A-33 | — | — | — |
| 5 | Injector cylinder 4 | — | W34 | — | 0.5 | ELITE2500-A-22 | — | — | — |
| 50 | Ignition coil cylinder 1 | — | W25 | — | 0.5 | ELITE2500-A-3 | — | — | — |
| 51 | Ignition coil cylinder 2 | — | W26 | — | 0.5 | ELITE2500-A-4 | — | — | — |
| 52 | Ignition coil cylinder 3 | — | W27 | — | 0.5 | ELITE2500-A-5 | — | — | — |
| 54 | ECU power (+14V from main relay) | — | W1 | — | 0.85 | SP-14V-1 | — | — | — |
| 55 | Ground (ignition) | — | W6 | — | 0.85 | SP-GND-1 | — | — | — |
| 56 | Ignition switch (terminal 15) | — | W37 | — | 0.5 | ELITE2500-A-13 | — | — | — |
| 59 | +5V sensor supply | — | W18 | — | 0.5 | ELITE2500-A-9 | — | — | — |
| 6 | Ground (injector output stages) | — | W7 | — | 0.85 | SP-GND-1 | — | — | — |
| 69 | Knock sensor cylinders 4-6 | — | W24 | — | 0.5 | ELITE2500-B-22 | — | — | — |
| 7 | VANOS intake camshaft solenoid | — | W44 | — | 0.5 | ELITE2500-A-31 | — | — | — |
| 70 | Knock sensor cylinders 1-3 | — | W23 | — | 0.5 | ELITE2500-B-21 | — | — | — |
| 71 | Knock sensor ground/shield | — | W14 | — | 0.5 | SP-0V-1 | — | — | — |
| 73 | Throttle position (TPS) | — | W48 | — | 0.5 | ELITE2500-A-16 | — | — | — |
| 77 | Intake air temperature (IAT) | — | W51 | — | 0.5 | ELITE2500-A-2 | — | — | — |
| 78 | Engine coolant temperature (ECT) | — | W50 | — | 0.5 | ELITE2500-B-4 | — | — | — |
| 8 | Check engine light (MIL) | — | W45 | — | 0.5 | ELITE2500-A-32 | — | — | — |
SP-0V
| Cavity | Function | Signal | Wire | Colour | Gauge (mm²) | Destination | Terminal | Seal | Plug |
|---|---|---|---|---|---|---|---|---|---|
| 1 | — | — | W10 | — | 0.5 | OEM-X-28 | — | — | — |
| 1 | — | — | W11 | — | 0.5 | OEM-X-40 | — | — | — |
| 1 | — | — | W12 | — | 0.5 | OEM-X-43 | — | — | — |
| 1 | — | — | W13 | — | 0.5 | OEM-X-44 | — | — | — |
| 1 | — | — | W14 | — | 0.5 | OEM-X-71 | — | — | — |
| 1 | — | — | W15 | — | 0.5 | ELITE2500-B-14 | — | — | — |
| 1 | — | — | W16 | — | 0.5 | ELITE2500-B-15 | — | — | — |
| 1 | — | — | W17 | — | 0.5 | ELITE2500-B-16 | — | — | — |
| 1 | — | — | W20 | — | 0.5 | ELITE2500-B-5 | — | — | — |
| 1 | — | — | W22 | — | 0.5 | ELITE2500-B-6 | — | — | — |
SP-14V
| Cavity | Function | Signal | Wire | Colour | Gauge (mm²) | Destination | Terminal | Seal | Plug |
|---|---|---|---|---|---|---|---|---|---|
| 1 | — | — | W1 | — | 0.85 | OEM-X-54 | — | — | — |
| 1 | — | — | W2 | — | 0.85 | ELITE2500-A-26 | — | — | — |
| 1 | — | — | W3 | — | 0.85 | ELITE2500-B-11 | — | — | — |
SP-GND
| Cavity | Function | Signal | Wire | Colour | Gauge (mm²) | Destination | Terminal | Seal | Plug |
|---|---|---|---|---|---|---|---|---|---|
| 1 | — | — | W4 | — | 0.85 | OEM-X-15 | — | — | — |
| 1 | — | — | W5 | — | 0.85 | OEM-X-34 | — | — | — |
| 1 | — | — | W6 | — | 0.85 | OEM-X-55 | — | — | — |
| 1 | — | — | W7 | — | 0.85 | OEM-X-6 | — | — | — |
| 1 | — | — | W8 | — | 0.85 | ELITE2500-A-10 | — | — | — |
| 1 | — | — | W9 | — | 0.85 | ELITE2500-A-11 | — | — | — |
Pin map
| OEM point | OEM function | OEM family | Target point | Target function | Target family | Wire colour | Evidence |
|---|---|---|---|---|---|---|---|
| OEM-X-1 | Fuel pump relay control | low_side_out | ELITE2500-A-25 | DPO 6 (ECR OUT) | low_side_out | corroborated | |
| OEM-X-13 | O2 sensor signal | lambda_nb_in | ELITE2500-A-17 | AVI 3 | analog_in | corroborated | |
| OEM-X-15 | Ground | ground | ELITE2500-A-10 + ELITE2500-A-11 | Battery ground + Battery ground | ground | corroborated | |
| OEM-X-16 | Crank position sensor (+) | trigger_in | ELITE2500-B-1 | Crank (Trigger) (+) | trigger_in | corroborated | |
| OEM-X-17 | Camshaft position sensor (Hall) | trigger_in | ELITE2500-B-2 | Cam (Home) (+) | trigger_in | corroborated | |
| OEM-X-2 | Idle speed control valve (close winding) | low_side_out | ELITE2500-A-23 | DPO 3 | low_side_out | corroborated | |
| OEM-X-23 | Ignition coil cylinder 4 | ignition_out | ELITE2500-A-6 | IGN 4 | ignition_out | corroborated | |
| OEM-X-24 | Ignition coil cylinder 6 | ignition_out | ELITE2500-A-8 | IGN 6 | ignition_out | corroborated | |
| OEM-X-25 | Ignition coil cylinder 5 | ignition_out | ELITE2500-A-7 | IGN 5 | ignition_out | corroborated | |
| OEM-X-26 | Battery voltage (constant +12V) | power_in | — | — | — | corroborated | |
| OEM-X-27 | Main relay control | low_side_out | ELITE2500-A-18 | DPO 1 | low_side_out | corroborated | |
| OEM-X-28 | Ground (electronics + sensor shielding) | sensor_ground | ELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6 | Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−) | sensor_ground + trigger_in | corroborated | |
| OEM-X-29 | Idle speed control valve (open winding) | low_side_out | ELITE2500-B-19 | DPO 4 | low_side_out | corroborated | |
| OEM-X-3 | Injector cylinder 5 | injector_out | ELITE2500-A-27 | INJ 5 | injector_out | corroborated | |
| OEM-X-31 | Injector cylinder 3 | injector_out | ELITE2500-A-21 | INJ 3 | injector_out | corroborated | |
| OEM-X-32 | Injector cylinder 2 | injector_out | ELITE2500-A-20 | INJ 2 | injector_out | corroborated | |
| OEM-X-33 | Injector cylinder 1 | injector_out | ELITE2500-A-19 | INJ 1 | injector_out | corroborated | |
| OEM-X-34 | Ground (output stages) | ground | ELITE2500-A-10 + ELITE2500-A-11 | Battery ground + Battery ground | ground | corroborated | |
| OEM-X-36 | Evap purge solenoid | low_side_out | ELITE2500-A-24 | DPO 5 (fuel pump trigger) | low_side_out | corroborated | |
| OEM-X-38 | O2 sensor heater relay control | low_side_out | ELITE2500-A-1 | DPO 2 | low_side_out | corroborated | |
| OEM-X-4 | Injector cylinder 6 | injector_out | ELITE2500-A-28 | INJ 6 | injector_out | corroborated | |
| OEM-X-40 | O2 sensor signal ground | sensor_ground | ELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6 | Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−) | sensor_ground + trigger_in | corroborated | |
| OEM-X-41 | Mass air flow (MAF) signal | analog_in | ELITE2500-B-13 | AVI 1 (O2 Input 2) | analog_in | corroborated | |
| OEM-X-42 | Vehicle speed signal | digital_in | ELITE2500-B-8 | SPI 1 | digital_in | corroborated | |
| OEM-X-43 | Crank position sensor (-) | sensor_ground | ELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6 | Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−) | sensor_ground + trigger_in | corroborated | |
| OEM-X-44 | Sensor ground (IAT/ECT/TPS) | sensor_ground | ELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6 | Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−) | sensor_ground + trigger_in | corroborated | |
| OEM-X-45 | Shield ground | shield | — | — | — | corroborated | |
| OEM-X-47 | Tachometer output | tacho_out | ELITE2500-A-33 | Stepper 1 P3 / DPO | switch_out | corroborated | |
| OEM-X-5 | Injector cylinder 4 | injector_out | ELITE2500-A-22 | INJ 4 | injector_out | corroborated | |
| OEM-X-50 | Ignition coil cylinder 1 | ignition_out | ELITE2500-A-3 | IGN 1 | ignition_out | corroborated | |
| OEM-X-51 | Ignition coil cylinder 2 | ignition_out | ELITE2500-A-4 | IGN 2 | ignition_out | corroborated | |
| OEM-X-52 | Ignition coil cylinder 3 | ignition_out | ELITE2500-A-5 | IGN 3 | ignition_out | corroborated | |
| OEM-X-54 | ECU power (+14V from main relay) | power_in | ELITE2500-A-26 + ELITE2500-B-11 | ECU injector power input + +13.8V ECU supply | power_in | corroborated | |
| OEM-X-55 | Ground (ignition) | ground | ELITE2500-A-10 + ELITE2500-A-11 | Battery ground + Battery ground | ground | corroborated | |
| OEM-X-56 | Ignition switch (terminal 15) | digital_in | ELITE2500-A-13 | 12V ignition input | digital_in | corroborated | |
| OEM-X-59 | +5V sensor supply | vref | ELITE2500-A-9 | +5V DC | vref | corroborated | |
| OEM-X-6 | Ground (injector output stages) | ground | ELITE2500-A-10 + ELITE2500-A-11 | Battery ground + Battery ground | ground | corroborated | |
| OEM-X-69 | Knock sensor cylinders 4-6 | knock_in | ELITE2500-B-22 | KNOCK 2 | knock_in | corroborated | |
| OEM-X-7 | VANOS intake camshaft solenoid | low_side_out | ELITE2500-A-31 | Stepper 1 P1 / DPO | switch_out | corroborated | |
| OEM-X-70 | Knock sensor cylinders 1-3 | knock_in | ELITE2500-B-21 | KNOCK 1 | knock_in | corroborated | |
| OEM-X-71 | Knock sensor ground/shield | sensor_ground | ELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6 | Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−) | sensor_ground + trigger_in | corroborated | |
| OEM-X-73 | Throttle position (TPS) | analog_in | ELITE2500-A-16 | AVI 2 | analog_in | corroborated | |
| OEM-X-77 | Intake air temperature (IAT) | temp_in | ELITE2500-A-2 | AVI 4 | analog_in | corroborated | |
| OEM-X-78 | Engine coolant temperature (ECT) | temp_in | ELITE2500-B-4 | AVI 8 (Coolant Temp) | analog_in | corroborated | |
| OEM-X-8 | Check engine light (MIL) | low_side_out | ELITE2500-A-32 | Stepper 1 P2 / DPO | switch_out | corroborated |
Cut list
| Wire | From | To | Gauge (mm²) | Colour | Length | Signal | Ident |
|---|---|---|---|---|---|---|---|
| W1 | OEM-X-54 | SP-14V-1 | 0.85 | no route | ECU power (+14V from main relay) | — | |
| W2 | SP-14V-1 | ELITE2500-A-26 | 0.85 | no route | ECU injector power input | — | |
| W3 | SP-14V-1 | ELITE2500-B-11 | 0.85 | no route | +13.8V ECU supply | — | |
| W4 | OEM-X-15 | SP-GND-1 | 0.85 | no route | Ground | — | |
| W5 | OEM-X-34 | SP-GND-1 | 0.85 | no route | Ground (output stages) | — | |
| W6 | OEM-X-55 | SP-GND-1 | 0.85 | no route | Ground (ignition) | — | |
| W7 | OEM-X-6 | SP-GND-1 | 0.85 | no route | Ground (injector output stages) | — | |
| W8 | SP-GND-1 | ELITE2500-A-10 | 0.85 | no route | Battery ground | — | |
| W9 | SP-GND-1 | ELITE2500-A-11 | 0.85 | no route | Battery ground | — | |
| W10 | OEM-X-28 | SP-0V-1 | 0.5 | no route | Ground (electronics + sensor shielding) | — | |
| W11 | OEM-X-40 | SP-0V-1 | 0.5 | no route | O2 sensor signal ground | — | |
| W12 | OEM-X-43 | SP-0V-1 | 0.5 | no route | Crank position sensor (-) | — | |
| W13 | OEM-X-44 | SP-0V-1 | 0.5 | no route | Sensor ground (IAT/ECT/TPS) | — | |
| W14 | OEM-X-71 | SP-0V-1 | 0.5 | no route | Knock sensor ground/shield | — | |
| W15 | SP-0V-1 | ELITE2500-B-14 | 0.5 | no route | Signal ground | — | |
| W16 | SP-0V-1 | ELITE2500-B-15 | 0.5 | no route | Signal ground | — | |
| W17 | SP-0V-1 | ELITE2500-B-16 | 0.5 | no route | Signal ground | — | |
| W18 | OEM-X-59 | ELITE2500-A-9 | 0.5 | no route | +5V sensor supply | — | |
| W19 | OEM-X-16 | ELITE2500-B-1 | 0.5 | no route | Crank position sensor (+) | — | |
| W20 | SP-0V-1 | ELITE2500-B-5 | 0.5 | no route | Crank (Trigger) (−) | — | |
| W21 | OEM-X-17 | ELITE2500-B-2 | 0.5 | no route | Camshaft position sensor (Hall) | — | |
| W22 | SP-0V-1 | ELITE2500-B-6 | 0.5 | no route | Cam (Home) (−) | — | |
| W23 | OEM-X-70 | ELITE2500-B-21 | 0.5 | no route | Knock sensor cylinders 1-3 | — | |
| W24 | OEM-X-69 | ELITE2500-B-22 | 0.5 | no route | Knock sensor cylinders 4-6 | — | |
| W25 | OEM-X-50 | ELITE2500-A-3 | 0.5 | no route | Ignition coil cylinder 1 | — | |
| W26 | OEM-X-51 | ELITE2500-A-4 | 0.5 | no route | Ignition coil cylinder 2 | — | |
| W27 | OEM-X-52 | ELITE2500-A-5 | 0.5 | no route | Ignition coil cylinder 3 | — | |
| W28 | OEM-X-23 | ELITE2500-A-6 | 0.5 | no route | Ignition coil cylinder 4 | — | |
| W29 | OEM-X-25 | ELITE2500-A-7 | 0.5 | no route | Ignition coil cylinder 5 | — | |
| W30 | OEM-X-24 | ELITE2500-A-8 | 0.5 | no route | Ignition coil cylinder 6 | — | |
| W31 | OEM-X-33 | ELITE2500-A-19 | 0.5 | no route | Injector cylinder 1 | — | |
| W32 | OEM-X-32 | ELITE2500-A-20 | 0.5 | no route | Injector cylinder 2 | — | |
| W33 | OEM-X-31 | ELITE2500-A-21 | 0.5 | no route | Injector cylinder 3 | — | |
| W34 | OEM-X-5 | ELITE2500-A-22 | 0.5 | no route | Injector cylinder 4 | — | |
| W35 | OEM-X-3 | ELITE2500-A-27 | 0.5 | no route | Injector cylinder 5 | — | |
| W36 | OEM-X-4 | ELITE2500-A-28 | 0.5 | no route | Injector cylinder 6 | — | |
| W37 | OEM-X-56 | ELITE2500-A-13 | 0.5 | no route | Ignition switch (terminal 15) | — | |
| W38 | OEM-X-1 | ELITE2500-A-25 | 0.5 | no route | Fuel pump relay control | — | |
| W39 | OEM-X-27 | ELITE2500-A-18 | 0.5 | no route | Main relay control | — | |
| W40 | OEM-X-38 | ELITE2500-A-1 | 0.5 | no route | O2 sensor heater relay control | — | |
| W41 | OEM-X-2 | ELITE2500-A-23 | 0.5 | no route | Idle speed control valve (close winding) | — | |
| W42 | OEM-X-29 | ELITE2500-B-19 | 0.5 | no route | Idle speed control valve (open winding) | — | |
| W43 | OEM-X-36 | ELITE2500-A-24 | 0.5 | no route | Evap purge solenoid | — | |
| W44 | OEM-X-7 | ELITE2500-A-31 | 0.5 | no route | VANOS intake camshaft solenoid | — | |
| W45 | OEM-X-8 | ELITE2500-A-32 | 0.5 | no route | Check engine light (MIL) | — | |
| W46 | OEM-X-47 | ELITE2500-A-33 | 0.5 | no route | Tachometer output | — | |
| W47 | OEM-X-41 | ELITE2500-B-13 | 0.5 | no route | Mass air flow (MAF) signal | — | |
| W48 | OEM-X-73 | ELITE2500-A-16 | 0.5 | no route | Throttle position (TPS) | — | |
| W49 | OEM-X-13 | ELITE2500-A-17 | 0.5 | no route | O2 sensor signal | — | |
| W50 | OEM-X-78 | ELITE2500-B-4 | 0.5 | no route | Engine coolant temperature (ECT) | — | |
| W51 | OEM-X-77 | ELITE2500-A-2 | 0.5 | no route | Intake air temperature (IAT) | — | |
| W52 | OEM-X-42 | ELITE2500-B-8 | 0.5 | no route | Vehicle speed signal | — |
Bill of materials
| Category | Part number | Manufacturer | Description | Qty | Unit |
|---|---|---|---|---|---|
| connector | BMW-E36-DME-CONN | BMW | E36 DME (M3.1/M3.3.1) harness connector | 1.000 | ea |
ECU setup sheet
| Role | Engine ref | Engine signal | Sensor | ECU point | ECU function | ECU class | Setup flag |
|---|---|---|---|---|---|---|---|
| No configured channels. | |||||||
Findings
Open (7)
| Severity | Code | Subject | Message |
|---|---|---|---|
| info | NET_FAMILY | ELITE2500-B-16 ↔ ELITE2500-B-5 | ELITE2500-B-16 "Signal ground" [sensor_ground] is wired to ELITE2500-B-5 "Crank (Trigger) (−)" [trigger_in]. Trigger return tied to sensor/trigger ground: correct for single-ended trigger inputs. |
| info | NET_FAMILY | OEM-X-47 ↔ ELITE2500-A-33 | OEM-X-47 "Tachometer output" [tacho_out] is wired to ELITE2500-A-33 "Stepper 1 P3 / DPO" [switch_out]. Frequency output on a general output: set it up as a tacho/frequency output with the right pull-up. |
| info | NET_FAMILY | OEM-X-7 ↔ ELITE2500-A-31 | OEM-X-7 "VANOS intake camshaft solenoid" [low_side_out] is wired to ELITE2500-A-31 "Stepper 1 P1 / DPO" [switch_out]. Configure this output as low side. |
| info | NET_FAMILY | OEM-X-77 ↔ ELITE2500-A-2 | OEM-X-77 "Intake air temperature (IAT)" [temp_in] is wired to ELITE2500-A-2 "AVI 4" [analog_in]. Thermistor on a plain analog input needs a pull-up; check the channel can enable one. |
| info | NET_FAMILY | OEM-X-78 ↔ ELITE2500-B-4 | OEM-X-78 "Engine coolant temperature (ECT)" [temp_in] is wired to ELITE2500-B-4 "AVI 8 (Coolant Temp)" [analog_in]. Thermistor on a plain analog input needs a pull-up; check the channel can enable one. |
| info | NET_FAMILY | OEM-X-8 ↔ ELITE2500-A-32 | OEM-X-8 "Check engine light (MIL)" [low_side_out] is wired to ELITE2500-A-32 "Stepper 1 P2 / DPO" [switch_out]. Configure this output as low side. |
| info | UNMAPPED | OEM | 1 optional OEM pins are not mapped: OEM-X-45 Shield ground |
Accepted (1)
| Code | Subject | Reason | By |
|---|---|---|---|
| REQUIRED_UNMAPPED | OEM-X-26 | Battery-constant (memory) feed of the stock ECU: the new ECU has no such input, so it is not needed. | mapping-proposal |
Notes
Auto-mapped by auto_map() from the library pin data on 2026-10-06. Review every wire against both manuals before building. Not wired: - OEM-X 26: Battery voltage (constant +12V): Haltech Elite 2500 has no battery-constant input; not needed - OEM-X 45: Shield ground: no shield pin on Haltech Elite 2500
Sources
| Reliability | Kind | Title | URL | Archive | Captured | SHA-256 |
|---|---|---|---|---|---|---|
| 4 | vendor_doc | Haltech Elite 2500 (HT-151300) spec sheet | https://joeblospeedshop.com/wp-content/uploads/2023/11/HT-151300_SPEC-SHEET-2500-ELITE.pdf | archive | 2026-10-05 | c97da78cb851 |
| 4 | vendor_doc | Haltech Elite 2500 — 26-pin connector pinout | https://support.haltech.com/portal/en/kb/articles/main-connector-26-pin-elite2500 | archive | 2026-10-05 | ea6fd4d27ac7 |
| 4 | vendor_doc | Haltech Elite 2500 — 34-pin main connector pinout | https://support.haltech.com/portal/en/kb/articles/main-connector-34-pin-elite2500 | archive | 2026-10-05 | 4e633dff8340 |
| 4 | vendor_doc | Link BMWLink E36X (G4X) plug-in install manual | https://linkecu.com/documentation/E36X.pdf | archive | 2026-10-05 | 010cda3acd08 |
| 2 | community_copy | bimmer-service: Bosch Motronic M3.3.1 pinout (E36 M50) | https://www.bimmer-service.com/2025/11/17/bosch-motronic-m3-3-1-pinout-wiring-diagram/ | — | — | — |