← Back

BMW 3 Series E46 1998–2006 (M54) → Haltech Elite 2500 HT-151300 (auto)

BMW 3 Series E46 1998–2006 (M54) — Haltech — Elite 2500
⚠ NOT CHECKED. Don't build from this.
Drawn by Michael Gnankou · Rev 0 · draft · 2026-10-08

Before you start

Statusdraft · not yet verified: nobody has reported building and running this harness
Open errorsnone
Size of the job74 wires · 11 connectors · 1 part lines
ToolsCrimp and extraction tools for each terminal family (see Connectors) · wire strippers · multimeter · heat gun + heat-shrink
Order of work1. 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 Ω.

WireFromToGaugeColourCutLabelCrimp ACrimp BPin APin BContinuity
W1OEM-X60001-8SP-14V-10.85☐☐☐☐☐☐☐
W2OEM-X60001-9SP-14V-10.85☐☐☐☐☐☐☐
W3SP-14V-1ELITE2500-A-260.85☐☐☐☐☐☐☐
W4SP-14V-1ELITE2500-B-110.85☐☐☐☐☐☐☐
W5OEM-X60001-4SP-GND-10.85☐☐☐☐☐☐☐
W6OEM-X60001-5SP-GND-10.85☐☐☐☐☐☐☐
W7OEM-X60001-6SP-GND-10.85☐☐☐☐☐☐☐
W8OEM-X60005-5SP-GND-10.85☐☐☐☐☐☐☐
W9SP-GND-1ELITE2500-A-100.85☐☐☐☐☐☐☐
W10SP-GND-1ELITE2500-A-110.85☐☐☐☐☐☐☐
W11OEM-X60002-20SP-0V-10.5☐☐☐☐☐☐☐
W12OEM-X60002-21SP-0V-10.5☐☐☐☐☐☐☐
W13OEM-X60002-22SP-0V-10.5☐☐☐☐☐☐☐
W14OEM-X60002-24SP-0V-10.5☐☐☐☐☐☐☐
W15OEM-X60003-15SP-0V-10.5☐☐☐☐☐☐☐
W16OEM-X60003-17SP-0V-10.5☐☐☐☐☐☐☐
W17OEM-X60003-18SP-0V-10.5☐☐☐☐☐☐☐
W18OEM-X60003-20SP-0V-10.5☐☐☐☐☐☐☐
W19OEM-X60003-21SP-0V-10.5☐☐☐☐☐☐☐
W20OEM-X60003-23SP-0V-10.5☐☐☐☐☐☐☐
W21OEM-X60003-25SP-0V-10.5☐☐☐☐☐☐☐
W22OEM-X60003-28SP-0V-10.5☐☐☐☐☐☐☐
W23OEM-X60004-12SP-0V-10.5☐☐☐☐☐☐☐
W24OEM-X60004-7SP-0V-10.5☐☐☐☐☐☐☐
W25SP-0V-1ELITE2500-B-140.5☐☐☐☐☐☐☐
W26SP-0V-1ELITE2500-B-150.5☐☐☐☐☐☐☐
W27SP-0V-1ELITE2500-B-160.5☐☐☐☐☐☐☐
W28OEM-X60003-7SP-5V1-10.5☐☐☐☐☐☐☐
W29OEM-X60004-14SP-5V1-10.5☐☐☐☐☐☐☐
W30OEM-X60004-9SP-5V1-10.5☐☐☐☐☐☐☐
W31SP-5V1-1ELITE2500-A-90.5☐☐☐☐☐☐☐
W32OEM-X60003-8ELITE2500-B-10.5☐☐☐☐☐☐☐
W33SP-0V-1ELITE2500-B-50.5☐☐☐☐☐☐☐
W34OEM-X60003-2ELITE2500-B-20.5☐☐☐☐☐☐☐
W35SP-0V-1ELITE2500-B-60.5☐☐☐☐☐☐☐
W36OEM-X60003-5ELITE2500-B-80.5☐☐☐☐☐☐☐
W37OEM-X60003-29ELITE2500-B-210.5☐☐☐☐☐☐☐
W38OEM-X60003-30ELITE2500-B-220.5☐☐☐☐☐☐☐
W39OEM-X60005-3ELITE2500-A-30.5☐☐☐☐☐☐☐
W40OEM-X60005-2ELITE2500-A-40.5☐☐☐☐☐☐☐
W41OEM-X60005-1ELITE2500-A-50.5☐☐☐☐☐☐☐
W42OEM-X60005-9ELITE2500-A-60.5☐☐☐☐☐☐☐
W43OEM-X60005-8ELITE2500-A-70.5☐☐☐☐☐☐☐
W44OEM-X60005-7ELITE2500-A-80.5☐☐☐☐☐☐☐
W45OEM-X60003-33ELITE2500-A-190.5☐☐☐☐☐☐☐
W46OEM-X60003-34ELITE2500-A-200.5☐☐☐☐☐☐☐
W47OEM-X60003-35ELITE2500-A-210.5☐☐☐☐☐☐☐
W48OEM-X60003-36ELITE2500-A-220.5☐☐☐☐☐☐☐
W49OEM-X60003-37ELITE2500-A-270.5☐☐☐☐☐☐☐
W50OEM-X60003-38ELITE2500-A-280.5☐☐☐☐☐☐☐
W51OEM-X60003-43ELITE2500-B-250.5☐☐☐☐☐☐☐
W52OEM-X60003-44ELITE2500-B-260.5☐☐☐☐☐☐☐
W53OEM-X60001-1ELITE2500-A-250.5☐☐☐☐☐☐☐
W54OEM-X60002-23ELITE2500-A-180.5☐☐☐☐☐☐☐
W55OEM-X60004-10ELITE2500-A-240.5☐☐☐☐☐☐☐
W56OEM-X60002-1ELITE2500-A-10.5☐☐☐☐☐☐☐
W57OEM-X60002-13ELITE2500-A-230.5☐☐☐☐☐☐☐
W58OEM-X60002-19ELITE2500-B-190.5☐☐☐☐☐☐☐
W59OEM-X60002-7ELITE2500-A-310.5☐☐☐☐☐☐☐
W60OEM-X60003-40ELITE2500-A-320.5☐☐☐☐☐☐☐
W61OEM-X60003-41ELITE2500-A-330.5☐☐☐☐☐☐☐
W62OEM-X60003-42ELITE2500-A-340.5☐☐☐☐☐☐☐
W63OEM-X60003-45ELITE2500-A-290.5☐☐☐☐☐☐☐
W64OEM-X60003-49ELITE2500-A-300.5☐☐☐☐☐☐☐
W65OEM-X60003-1ELITE2500-B-130.5☐☐☐☐☐☐☐
W66OEM-X60003-19ELITE2500-A-160.5☐☐☐☐☐☐☐
W67OEM-X60004-8ELITE2500-A-170.5☐☐☐☐☐☐☐
W68OEM-X60003-10ELITE2500-A-20.5☐☐☐☐☐☐☐
W69OEM-X60004-13ELITE2500-B-200.5☐☐☐☐☐☐☐
W70OEM-X60002-14ELITE2500-B-120.5☐☐☐☐☐☐☐
W71OEM-X60002-15ELITE2500-B-30.5☐☐☐☐☐☐☐
W72OEM-X60002-16ELITE2500-B-40.5☐☐☐☐☐☐☐
W73OEM-X60002-18ELITE2500-A-150.5☐☐☐☐☐☐☐
W74OEM-X60003-24ELITE2500-A-140.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 AProbe BExpectWhyReading
1ELITE2500-A-26ELITE2500-B-14open (OL)+12 V supply must not touch sensor ground
2ELITE2500-A-10ELITE2500-A-26open (OL)power ground must not touch +12 V supply
3ELITE2500-A-10ELITE2500-A-9open (OL)power ground must not touch 5 V sensor reference
4ELITE2500-A-26ELITE2500-A-9open (OL)+12 V supply must not touch 5 V sensor reference
5ELITE2500-B-14ELITE2500-A-9open (OL)sensor ground must not touch 5 V sensor reference

Revisions

RevLabelByDate
No revisions yet.

Schematic

ELITE2500-AELITE2500-BOEM-X60001OEM-X60002OEM-X60003OEM-X60004OEM-X60005SP-0VSP-14VSP-5V1SP-GND

Connectors

ELITE2500-A

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1DPO 2—W56—0.5OEM-X60002-1———
10Battery ground—W9—0.85SP-GND-1———
11Battery ground—W10—0.85SP-GND-1———
12+8V DC————————
1312V ignition input————————
14AVI 10 (TPS)—W74—0.5OEM-X60003-24———
15AVI 9 (MAP)—W73—0.5OEM-X60002-18———
16AVI 2—W66—0.5OEM-X60003-19———
17AVI 3—W67—0.5OEM-X60004-8———
18DPO 1—W54—0.5OEM-X60002-23———
19INJ 1—W45—0.5OEM-X60003-33———
2AVI 4—W68—0.5OEM-X60003-10———
20INJ 2—W46—0.5OEM-X60003-34———
21INJ 3—W47—0.5OEM-X60003-35———
22INJ 4—W48—0.5OEM-X60003-36———
23DPO 3—W57—0.5OEM-X60002-13———
24DPO 5 (fuel pump trigger)—W55—0.5OEM-X60004-10———
25DPO 6 (ECR OUT)—W53—0.5OEM-X60001-1———
26ECU injector power input—W3—0.85SP-14V-1———
27INJ 5—W49—0.5OEM-X60003-37———
28INJ 6—W50—0.5OEM-X60003-38———
29INJ 7—W63—0.5OEM-X60003-45———
3IGN 1—W39—0.5OEM-X60005-3———
30INJ 8—W64—0.5OEM-X60003-49———
31Stepper 1 P1 / DPO—W59—0.5OEM-X60002-7———
32Stepper 1 P2 / DPO—W60—0.5OEM-X60003-40———
33Stepper 1 P3 / DPO—W61—0.5OEM-X60003-41———
34Stepper 1 P4 / DPO—W62—0.5OEM-X60003-42———
4IGN 2—W40—0.5OEM-X60005-2———
5IGN 3—W41—0.5OEM-X60005-1———
6IGN 4—W42—0.5OEM-X60005-9———
7IGN 5—W43—0.5OEM-X60005-8———
8IGN 6—W44—0.5OEM-X60005-7———
9+5V DC—W31—0.5SP-5V1-1———

ELITE2500-B

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Crank (Trigger) (+)—W32—0.5OEM-X60003-8———
10SPI 3————————
11+13.8V ECU supply—W4—0.85SP-14V-1———
12AVI 6 (O2 Input 1)—W70—0.5OEM-X60002-14———
13AVI 1 (O2 Input 2)—W65—0.5OEM-X60003-1———
14Signal ground—W25—0.5SP-0V-1———
15Signal ground—W26—0.5SP-0V-1———
16Signal ground—W27—0.5SP-0V-1———
17IGN 7————————
18IGN 8————————
19DPO 4—W58—0.5OEM-X60002-19———
2Cam (Home) (+)—W34—0.5OEM-X60003-2———
20AVI 5—W69—0.5OEM-X60004-13———
21KNOCK 1—W37—0.5OEM-X60003-29———
22KNOCK 2—W38—0.5OEM-X60003-30———
23CAN H————————
24CAN L————————
25DBW 1 / DPO—W51—0.5OEM-X60003-43———
26DBW 2 / DPO—W52—0.5OEM-X60003-44———
3AVI 7 (Air Temp)—W71—0.5OEM-X60002-15———
4AVI 8 (Coolant Temp)—W72—0.5OEM-X60002-16———
5Crank (Trigger) (−)—W33—0.5SP-0V-1———
6Cam (Home) (−)—W35—0.5SP-0V-1———
7SPI 4————————
8SPI 1—W36—0.5OEM-X60003-5———
9SPI 2————————

OEM-X60001

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Injector/unloader relay control (terminal 15)—W53—0.5ELITE2500-A-25———
4Power ground—W5—0.85SP-GND-1———
5Power ground—W6—0.85SP-GND-1———
6Power ground—W7—0.85SP-GND-1———
7Battery constant (terminal 30)————————
8ECU main power (terminal 87 via main relay)—W1—0.85SP-14V-1———
9Voltage supply (injector / fuse carrier)—W2—0.85SP-14V-1———

OEM-X60002

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1O2 sensor heater, bank 1 pre-cat—W56—0.5ELITE2500-A-1———
13O2 sensor heater, bank 2 pre-cat—W57—0.5ELITE2500-A-23———
14O2 sensor signal, bank 1 pre-cat—W70—0.5ELITE2500-B-12———
15O2 sensor signal, bank 2 pre-cat—W71—0.5ELITE2500-B-3———
16O2 sensor signal, bank 1 post-cat—W72—0.5ELITE2500-B-4———
18O2 sensor signal, bank 2 post-cat—W73—0.5ELITE2500-A-15———
19O2 sensor heater, bank 2 post-cat—W58—0.5ELITE2500-B-19———
20O2 sensor ground, bank 1 pre-cat—W11—0.5SP-0V-1———
21O2 sensor ground, bank 2 pre-cat—W12—0.5SP-0V-1———
22O2 sensor ground, bank 1 post-cat—W13—0.5SP-0V-1———
23Main relay control—W54—0.5ELITE2500-A-18———
24O2 sensor ground, bank 2 post-cat—W14—0.5SP-0V-1———
7O2 sensor heater, bank 1 post-cat—W59—0.5ELITE2500-A-31———

OEM-X60003

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Mass air flow (MAF) signal—W65—0.5ELITE2500-B-13———
10Throttle position sensor 2—W68—0.5ELITE2500-A-2———
15Exhaust camshaft ground—W15—0.5SP-0V-1———
17MAF ground—W16—0.5SP-0V-1———
18Intake camshaft ground—W17—0.5SP-0V-1———
19Throttle position sensor 1—W66—0.5ELITE2500-A-16———
2Exhaust camshaft position—W34—0.5ELITE2500-B-2———
20Throttle ground—W18—0.5SP-0V-1———
21Crankshaft ground—W19—0.5SP-0V-1———
22Intake air temperature (IAT)————————
23IAT ground—W20—0.5SP-0V-1———
24Engine coolant temperature (ECT)—W74—0.5ELITE2500-A-14———
25ECT ground—W21—0.5SP-0V-1———
27Engine oil temperature————————
28Oil temperature ground—W22—0.5SP-0V-1———
29Knock sensor, cylinders 1-3 (A)—W37—0.5ELITE2500-B-21———
30Knock sensor, cylinders 1-3 (B)—W38—0.5ELITE2500-B-22———
31Knock sensor, cylinders 4-6 (A)————————
32Knock sensor, cylinders 4-6 (B)————————
33Injector cylinder 1—W45—0.5ELITE2500-A-19———
34Injector cylinder 2—W46—0.5ELITE2500-A-20———
35Injector cylinder 3—W47—0.5ELITE2500-A-21———
36Injector cylinder 4—W48—0.5ELITE2500-A-22———
37Injector cylinder 5—W49—0.5ELITE2500-A-27———
38Injector cylinder 6—W50—0.5ELITE2500-A-28———
40VANOS intake solenoid—W60—0.5ELITE2500-A-32———
41VANOS exhaust solenoid—W61—0.5ELITE2500-A-33———
42Evap purge valve—W62—0.5ELITE2500-A-34———
43Throttle motor drive 1 (H-bridge)—W51—0.5ELITE2500-B-25———
44Throttle motor drive 2 (H-bridge)—W52—0.5ELITE2500-B-26———
45Map-controlled thermostat—W63—0.5ELITE2500-A-29———
46Idle speed control, close————————
47Idle speed control, open————————
48Knock sensor shield————————
49DISA intake flap—W64—0.5ELITE2500-A-30———
5Intake camshaft position—W36—0.5ELITE2500-B-8———
7Throttle body +5V supply—W28—0.5SP-5V1-1———
8Crankshaft position—W32—0.5ELITE2500-B-1———

OEM-X60004

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
10Fuel pump relay control—W55—0.5ELITE2500-A-24———
12Pedal ground 2—W23—0.5SP-0V-1———
13Pedal position signal 2—W69—0.5ELITE2500-B-20———
14Pedal +5V supply 2—W29—0.5SP-5V1-1———
7Pedal ground 1—W24—0.5SP-0V-1———
8Pedal position signal 1—W67—0.5ELITE2500-A-17———
9Pedal +5V supply 1—W30—0.5SP-5V1-1———

OEM-X60005

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Ignition coil 3—W41—0.5ELITE2500-A-5———
2Ignition coil 2—W40—0.5ELITE2500-A-4———
3Ignition coil 1—W39—0.5ELITE2500-A-3———
5Ignition ground—W8—0.85SP-GND-1———
7Ignition coil 6—W44—0.5ELITE2500-A-8———
8Ignition coil 5—W43—0.5ELITE2500-A-7———
9Ignition coil 4—W42—0.5ELITE2500-A-6———

SP-0V

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W11—0.5OEM-X60002-20———
1——W12—0.5OEM-X60002-21———
1——W13—0.5OEM-X60002-22———
1——W14—0.5OEM-X60002-24———
1——W15—0.5OEM-X60003-15———
1——W16—0.5OEM-X60003-17———
1——W17—0.5OEM-X60003-18———
1——W18—0.5OEM-X60003-20———
1——W19—0.5OEM-X60003-21———
1——W20—0.5OEM-X60003-23———
1——W21—0.5OEM-X60003-25———
1——W22—0.5OEM-X60003-28———
1——W23—0.5OEM-X60004-12———
1——W24—0.5OEM-X60004-7———
1——W25—0.5ELITE2500-B-14———
1——W26—0.5ELITE2500-B-15———
1——W27—0.5ELITE2500-B-16———
1——W33—0.5ELITE2500-B-5———
1——W35—0.5ELITE2500-B-6———

SP-14V

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W1—0.85OEM-X60001-8———
1——W2—0.85OEM-X60001-9———
1——W3—0.85ELITE2500-A-26———
1——W4—0.85ELITE2500-B-11———

SP-5V1

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W28—0.5OEM-X60003-7———
1——W29—0.5OEM-X60004-14———
1——W30—0.5OEM-X60004-9———
1——W31—0.5ELITE2500-A-9———

SP-GND

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W5—0.85OEM-X60001-4———
1——W6—0.85OEM-X60001-5———
1——W7—0.85OEM-X60001-6———
1——W8—0.85OEM-X60005-5———
1——W9—0.85ELITE2500-A-10———
1——W10—0.85ELITE2500-A-11———

Pin map

OEM pointOEM functionOEM familyTarget pointTarget functionTarget familyWire colourEvidence
OEM-X60001-1Injector/unloader relay control (terminal 15)low_side_outELITE2500-A-25DPO 6 (ECR OUT)low_side_outcorroborated
OEM-X60001-4Power groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundcorroborated
OEM-X60001-5Power groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundcorroborated
OEM-X60001-6Power groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundcorroborated
OEM-X60001-7Battery constant (terminal 30)power_in———corroborated
OEM-X60001-8ECU main power (terminal 87 via main relay)power_inELITE2500-A-26 + ELITE2500-B-11ECU injector power input + +13.8V ECU supplypower_incorroborated
OEM-X60001-9Voltage supply (injector / fuse carrier)power_inELITE2500-A-26 + ELITE2500-B-11ECU injector power input + +13.8V ECU supplypower_incorroborated
OEM-X60002-1O2 sensor heater, bank 1 pre-catlow_side_outELITE2500-A-1DPO 2low_side_outcorroborated
OEM-X60002-13O2 sensor heater, bank 2 pre-catlow_side_outELITE2500-A-23DPO 3low_side_outcorroborated
OEM-X60002-14O2 sensor signal, bank 1 pre-catlambda_nb_inELITE2500-B-12AVI 6 (O2 Input 1)analog_incorroborated
OEM-X60002-15O2 sensor signal, bank 2 pre-catlambda_nb_inELITE2500-B-3AVI 7 (Air Temp)analog_incorroborated
OEM-X60002-16O2 sensor signal, bank 1 post-catlambda_nb_inELITE2500-B-4AVI 8 (Coolant Temp)analog_incorroborated
OEM-X60002-18O2 sensor signal, bank 2 post-catlambda_nb_inELITE2500-A-15AVI 9 (MAP)analog_incorroborated
OEM-X60002-19O2 sensor heater, bank 2 post-catlow_side_outELITE2500-B-19DPO 4low_side_outcorroborated
OEM-X60002-20O2 sensor ground, bank 1 pre-catsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60002-21O2 sensor ground, bank 2 pre-catsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60002-22O2 sensor ground, bank 1 post-catsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60002-23Main relay controllow_side_outELITE2500-A-18DPO 1low_side_outcorroborated
OEM-X60002-24O2 sensor ground, bank 2 post-catsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60002-7O2 sensor heater, bank 1 post-catlow_side_outELITE2500-A-31Stepper 1 P1 / DPOswitch_outcorroborated
OEM-X60003-1Mass air flow (MAF) signalanalog_inELITE2500-B-13AVI 1 (O2 Input 2)analog_incorroborated
OEM-X60003-10Throttle position sensor 2analog_inELITE2500-A-2AVI 4analog_incorroborated
OEM-X60003-15Exhaust camshaft groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-17MAF groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-18Intake camshaft groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-19Throttle position sensor 1analog_inELITE2500-A-16AVI 2analog_incorroborated
OEM-X60003-2Exhaust camshaft positiontrigger_inELITE2500-B-2Cam (Home) (+)trigger_incorroborated
OEM-X60003-20Throttle groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-21Crankshaft groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-22Intake air temperature (IAT)temp_in———corroborated
OEM-X60003-23IAT groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-24Engine coolant temperature (ECT)temp_inELITE2500-A-14AVI 10 (TPS)analog_incorroborated
OEM-X60003-25ECT groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-27Engine oil temperaturetemp_in———corroborated
OEM-X60003-28Oil temperature groundsensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60003-29Knock sensor, cylinders 1-3 (A)knock_inELITE2500-B-21KNOCK 1knock_incorroborated
OEM-X60003-30Knock sensor, cylinders 1-3 (B)knock_inELITE2500-B-22KNOCK 2knock_incorroborated
OEM-X60003-31Knock sensor, cylinders 4-6 (A)knock_in———corroborated
OEM-X60003-32Knock sensor, cylinders 4-6 (B)knock_in———corroborated
OEM-X60003-33Injector cylinder 1injector_outELITE2500-A-19INJ 1injector_outcorroborated
OEM-X60003-34Injector cylinder 2injector_outELITE2500-A-20INJ 2injector_outcorroborated
OEM-X60003-35Injector cylinder 3injector_outELITE2500-A-21INJ 3injector_outcorroborated
OEM-X60003-36Injector cylinder 4injector_outELITE2500-A-22INJ 4injector_outcorroborated
OEM-X60003-37Injector cylinder 5injector_outELITE2500-A-27INJ 5injector_outcorroborated
OEM-X60003-38Injector cylinder 6injector_outELITE2500-A-28INJ 6injector_outcorroborated
OEM-X60003-40VANOS intake solenoidlow_side_outELITE2500-A-32Stepper 1 P2 / DPOswitch_outcorroborated
OEM-X60003-41VANOS exhaust solenoidlow_side_outELITE2500-A-33Stepper 1 P3 / DPOswitch_outcorroborated
OEM-X60003-42Evap purge valvelow_side_outELITE2500-A-34Stepper 1 P4 / DPOswitch_outcorroborated
OEM-X60003-43Throttle motor drive 1 (H-bridge)hbridge_outELITE2500-B-25DBW 1 / DPOhbridge_outcorroborated
OEM-X60003-44Throttle motor drive 2 (H-bridge)hbridge_outELITE2500-B-26DBW 2 / DPOhbridge_outcorroborated
OEM-X60003-45Map-controlled thermostatlow_side_outELITE2500-A-29INJ 7injector_outcorroborated
OEM-X60003-46Idle speed control, closehbridge_out———corroborated
OEM-X60003-47Idle speed control, openhbridge_out———corroborated
OEM-X60003-48Knock sensor shieldshield———corroborated
OEM-X60003-49DISA intake flaplow_side_outELITE2500-A-30INJ 8injector_outcorroborated
OEM-X60003-5Intake camshaft positiontrigger_inELITE2500-B-8SPI 1digital_incorroborated
OEM-X60003-7Throttle body +5V supplyvrefELITE2500-A-9+5V DCvrefcorroborated
OEM-X60003-8Crankshaft positiontrigger_inELITE2500-B-1Crank (Trigger) (+)trigger_incorroborated
OEM-X60004-10Fuel pump relay controllow_side_outELITE2500-A-24DPO 5 (fuel pump trigger)low_side_outcorroborated
OEM-X60004-12Pedal ground 2sensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60004-13Pedal position signal 2analog_inELITE2500-B-20AVI 5analog_incorroborated
OEM-X60004-14Pedal +5V supply 2vrefELITE2500-A-9+5V DCvrefcorroborated
OEM-X60004-7Pedal ground 1sensor_groundELITE2500-B-14 + ELITE2500-B-15 + ELITE2500-B-16 + ELITE2500-B-5 + ELITE2500-B-6Signal ground + Signal ground + Signal ground + Crank (Trigger) (−) + Cam (Home) (−)sensor_ground + trigger_incorroborated
OEM-X60004-8Pedal position signal 1analog_inELITE2500-A-17AVI 3analog_incorroborated
OEM-X60004-9Pedal +5V supply 1vrefELITE2500-A-9+5V DCvrefcorroborated
OEM-X60005-1Ignition coil 3ignition_outELITE2500-A-5IGN 3ignition_outcorroborated
OEM-X60005-2Ignition coil 2ignition_outELITE2500-A-4IGN 2ignition_outcorroborated
OEM-X60005-3Ignition coil 1ignition_outELITE2500-A-3IGN 1ignition_outcorroborated
OEM-X60005-5Ignition groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundcorroborated
OEM-X60005-7Ignition coil 6ignition_outELITE2500-A-8IGN 6ignition_outcorroborated
OEM-X60005-8Ignition coil 5ignition_outELITE2500-A-7IGN 5ignition_outcorroborated
OEM-X60005-9Ignition coil 4ignition_outELITE2500-A-6IGN 4ignition_outcorroborated

Cut list

WireFromToGauge (mm²)ColourLengthSignalIdent
W1OEM-X60001-8SP-14V-10.85no routeECU main power (terminal 87 via main relay)—
W2OEM-X60001-9SP-14V-10.85no routeVoltage supply (injector / fuse carrier)—
W3SP-14V-1ELITE2500-A-260.85no routeECU injector power input—
W4SP-14V-1ELITE2500-B-110.85no route+13.8V ECU supply—
W5OEM-X60001-4SP-GND-10.85no routePower ground—
W6OEM-X60001-5SP-GND-10.85no routePower ground—
W7OEM-X60001-6SP-GND-10.85no routePower ground—
W8OEM-X60005-5SP-GND-10.85no routeIgnition ground—
W9SP-GND-1ELITE2500-A-100.85no routeBattery ground—
W10SP-GND-1ELITE2500-A-110.85no routeBattery ground—
W11OEM-X60002-20SP-0V-10.5no routeO2 sensor ground, bank 1 pre-cat—
W12OEM-X60002-21SP-0V-10.5no routeO2 sensor ground, bank 2 pre-cat—
W13OEM-X60002-22SP-0V-10.5no routeO2 sensor ground, bank 1 post-cat—
W14OEM-X60002-24SP-0V-10.5no routeO2 sensor ground, bank 2 post-cat—
W15OEM-X60003-15SP-0V-10.5no routeExhaust camshaft ground—
W16OEM-X60003-17SP-0V-10.5no routeMAF ground—
W17OEM-X60003-18SP-0V-10.5no routeIntake camshaft ground—
W18OEM-X60003-20SP-0V-10.5no routeThrottle ground—
W19OEM-X60003-21SP-0V-10.5no routeCrankshaft ground—
W20OEM-X60003-23SP-0V-10.5no routeIAT ground—
W21OEM-X60003-25SP-0V-10.5no routeECT ground—
W22OEM-X60003-28SP-0V-10.5no routeOil temperature ground—
W23OEM-X60004-12SP-0V-10.5no routePedal ground 2—
W24OEM-X60004-7SP-0V-10.5no routePedal ground 1—
W25SP-0V-1ELITE2500-B-140.5no routeSignal ground—
W26SP-0V-1ELITE2500-B-150.5no routeSignal ground—
W27SP-0V-1ELITE2500-B-160.5no routeSignal ground—
W28OEM-X60003-7SP-5V1-10.5no routeThrottle body +5V supply—
W29OEM-X60004-14SP-5V1-10.5no routePedal +5V supply 2—
W30OEM-X60004-9SP-5V1-10.5no routePedal +5V supply 1—
W31SP-5V1-1ELITE2500-A-90.5no route+5V DC—
W32OEM-X60003-8ELITE2500-B-10.5no routeCrankshaft position—
W33SP-0V-1ELITE2500-B-50.5no routeCrank (Trigger) (−)—
W34OEM-X60003-2ELITE2500-B-20.5no routeExhaust camshaft position—
W35SP-0V-1ELITE2500-B-60.5no routeCam (Home) (−)—
W36OEM-X60003-5ELITE2500-B-80.5no routeIntake camshaft position—
W37OEM-X60003-29ELITE2500-B-210.5no routeKnock sensor, cylinders 1-3 (A)—
W38OEM-X60003-30ELITE2500-B-220.5no routeKnock sensor, cylinders 1-3 (B)—
W39OEM-X60005-3ELITE2500-A-30.5no routeIgnition coil 1—
W40OEM-X60005-2ELITE2500-A-40.5no routeIgnition coil 2—
W41OEM-X60005-1ELITE2500-A-50.5no routeIgnition coil 3—
W42OEM-X60005-9ELITE2500-A-60.5no routeIgnition coil 4—
W43OEM-X60005-8ELITE2500-A-70.5no routeIgnition coil 5—
W44OEM-X60005-7ELITE2500-A-80.5no routeIgnition coil 6—
W45OEM-X60003-33ELITE2500-A-190.5no routeInjector cylinder 1—
W46OEM-X60003-34ELITE2500-A-200.5no routeInjector cylinder 2—
W47OEM-X60003-35ELITE2500-A-210.5no routeInjector cylinder 3—
W48OEM-X60003-36ELITE2500-A-220.5no routeInjector cylinder 4—
W49OEM-X60003-37ELITE2500-A-270.5no routeInjector cylinder 5—
W50OEM-X60003-38ELITE2500-A-280.5no routeInjector cylinder 6—
W51OEM-X60003-43ELITE2500-B-250.5no routeThrottle motor drive 1 (H-bridge)—
W52OEM-X60003-44ELITE2500-B-260.5no routeThrottle motor drive 2 (H-bridge)—
W53OEM-X60001-1ELITE2500-A-250.5no routeInjector/unloader relay control (terminal 15)—
W54OEM-X60002-23ELITE2500-A-180.5no routeMain relay control—
W55OEM-X60004-10ELITE2500-A-240.5no routeFuel pump relay control—
W56OEM-X60002-1ELITE2500-A-10.5no routeO2 sensor heater, bank 1 pre-cat—
W57OEM-X60002-13ELITE2500-A-230.5no routeO2 sensor heater, bank 2 pre-cat—
W58OEM-X60002-19ELITE2500-B-190.5no routeO2 sensor heater, bank 2 post-cat—
W59OEM-X60002-7ELITE2500-A-310.5no routeO2 sensor heater, bank 1 post-cat—
W60OEM-X60003-40ELITE2500-A-320.5no routeVANOS intake solenoid—
W61OEM-X60003-41ELITE2500-A-330.5no routeVANOS exhaust solenoid—
W62OEM-X60003-42ELITE2500-A-340.5no routeEvap purge valve—
W63OEM-X60003-45ELITE2500-A-290.5no routeMap-controlled thermostat—
W64OEM-X60003-49ELITE2500-A-300.5no routeDISA intake flap—
W65OEM-X60003-1ELITE2500-B-130.5no routeMass air flow (MAF) signal—
W66OEM-X60003-19ELITE2500-A-160.5no routeThrottle position sensor 1—
W67OEM-X60004-8ELITE2500-A-170.5no routePedal position signal 1—
W68OEM-X60003-10ELITE2500-A-20.5no routeThrottle position sensor 2—
W69OEM-X60004-13ELITE2500-B-200.5no routePedal position signal 2—
W70OEM-X60002-14ELITE2500-B-120.5no routeO2 sensor signal, bank 1 pre-cat—
W71OEM-X60002-15ELITE2500-B-30.5no routeO2 sensor signal, bank 2 pre-cat—
W72OEM-X60002-16ELITE2500-B-40.5no routeO2 sensor signal, bank 1 post-cat—
W73OEM-X60002-18ELITE2500-A-150.5no routeO2 sensor signal, bank 2 post-cat—
W74OEM-X60003-24ELITE2500-A-140.5no routeEngine coolant temperature (ECT)—

Bill of materials

CategoryPart numberManufacturerDescriptionQtyUnit
connectorBMW-E46-MS43-CONNBMWE46 DME (MS43) harness connector1.000ea

ECU setup sheet

RoleEngine refEngine signalSensorECU pointECU functionECU classSetup flag
No configured channels.

Findings

Open (12)

SeverityCodeSubjectMessage
warnDBW_MOTOR_CURRENTELITE2500-B-25Cannot confirm Elite 2500 can drive the throttle motor: ELITE2500-B-25 "DBW 1 / DPO" is rated 5.0 A, but the motor current at OEM-X60003-43 is unknown. Add the motor's peak current from a source, or measure the motor resistance: peak ≈ 14 V ÷ R (Hondata measured 4.9 A for a Civic Si body, 10.4 A for a ZDX body; holding current is about 1 A).
warnDBW_MOTOR_CURRENTELITE2500-B-26Cannot confirm Elite 2500 can drive the throttle motor: ELITE2500-B-26 "DBW 2 / DPO" is rated 5.0 A, but the motor current at OEM-X60003-44 is unknown. Add the motor's peak current from a source, or measure the motor resistance: peak ≈ 14 V ÷ R (Hondata measured 4.9 A for a Civic Si body, 10.4 A for a ZDX body; holding current is about 1 A).
warnNET_FAMILYOEM-X60003-5 ↔ ELITE2500-B-8OEM-X60003-5 "Intake camshaft position" [trigger_in] is wired to ELITE2500-B-8 "SPI 1" [digital_in]. Hall-type cam/speed signals can use a digital input if it handles the frequency; VR signals cannot.
infoNET_FAMILYELITE2500-B-16 ↔ ELITE2500-B-5ELITE2500-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.
infoNET_FAMILYOEM-X60002-7 ↔ ELITE2500-A-31OEM-X60002-7 "O2 sensor heater, bank 1 post-cat" [low_side_out] is wired to ELITE2500-A-31 "Stepper 1 P1 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-X60003-24 ↔ ELITE2500-A-14OEM-X60003-24 "Engine coolant temperature (ECT)" [temp_in] is wired to ELITE2500-A-14 "AVI 10 (TPS)" [analog_in]. Thermistor on a plain analog input needs a pull-up; check the channel can enable one.
infoNET_FAMILYOEM-X60003-40 ↔ ELITE2500-A-32OEM-X60003-40 "VANOS intake solenoid" [low_side_out] is wired to ELITE2500-A-32 "Stepper 1 P2 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-X60003-41 ↔ ELITE2500-A-33OEM-X60003-41 "VANOS exhaust solenoid" [low_side_out] is wired to ELITE2500-A-33 "Stepper 1 P3 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-X60003-42 ↔ ELITE2500-A-34OEM-X60003-42 "Evap purge valve" [low_side_out] is wired to ELITE2500-A-34 "Stepper 1 P4 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-X60003-45 ↔ ELITE2500-A-29OEM-X60003-45 "Map-controlled thermostat" [low_side_out] is wired to ELITE2500-A-29 "INJ 7" [injector_out]. Injector drivers can usually run general low-side loads; check current and PWM frequency.
infoNET_FAMILYOEM-X60003-49 ↔ ELITE2500-A-30OEM-X60003-49 "DISA intake flap" [low_side_out] is wired to ELITE2500-A-30 "INJ 8" [injector_out]. Injector drivers can usually run general low-side loads; check current and PWM frequency.
infoUNMAPPEDOEM7 optional OEM pins are not mapped: OEM-X60003-22 Intake air temperature (IAT); OEM-X60003-27 Engine oil temperature; OEM-X60003-31 Knock sensor, cylinders 4-6 (A); OEM-X60003-32 Knock sensor, cylinders 4-6 (B); OEM-X60003-46 Idle speed control, close; OEM-X60003-47 Idle speed control, open; OEM-X60003-48 Knock sensor shield

Accepted (1)

CodeSubjectReasonBy
REQUIRED_UNMAPPEDOEM-X60001-7Battery-constant (memory) feed of the stock ECU: the new ECU has no such input, so it is not needed.mapping-proposal

Notes

Fit check: unconfirmed. Confirm these before building: - Needs CAN (E46 K-bus/CAN); not documented for this ECU - This car has EWS 3.3 (rolling code) immobilizer; needs a delete/bypass 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-X60001 7: Battery constant (terminal 30): Haltech Elite 2500 has no battery-constant input; not needed - OEM-X60003 31: Knock sensor, cylinders 4-6 (A): no free knock input on Haltech Elite 2500 - OEM-X60003 32: Knock sensor, cylinders 4-6 (B): no free knock input on Haltech Elite 2500 - OEM-X60003 48: Knock sensor shield: no shield pin on Haltech Elite 2500 - OEM-X60003 46: Idle speed control, close: no free hbridge on Haltech Elite 2500 - OEM-X60003 47: Idle speed control, open: no free hbridge on Haltech Elite 2500 - OEM-X60003 22: Intake air temperature (IAT): no free thermistor/analog_0_5 on Haltech Elite 2500 - OEM-X60003 27: Engine oil temperature: no free thermistor/analog_0_5 on Haltech Elite 2500 - ELITE2500-A 13: 12V ignition input: not fed (the stock ECU has no ignition-sense pin); feed it from a switched-ignition source

Sources

ReliabilityKindTitleURLArchiveCapturedSHA-256
4vendor_docHaltech Elite 2500 (HT-151300) spec sheethttps://joeblospeedshop.com/wp-content/uploads/2023/11/HT-151300_SPEC-SHEET-2500-ELITE.pdfarchive2026-10-05c97da78cb851
4vendor_docHaltech Elite 2500 — 26-pin connector pinouthttps://support.haltech.com/portal/en/kb/articles/main-connector-26-pin-elite2500archive2026-10-05ea6fd4d27ac7
4vendor_docHaltech Elite 2500 — 34-pin main connector pinouthttps://support.haltech.com/portal/en/kb/articles/main-connector-34-pin-elite2500archive2026-10-054e633dff8340
2community_copyms4x.net: Siemens MS43 Pinouthttps://www.ms4x.net/index.php?title=Siemens_MS43_Pinout———
2community_copyrusefi wiki: 2002 BMW 325 / 2004 BMW 330Ci E46 DME pinout (M54/MS43)https://github.com/rusefi/rusefi/wiki/2002-BMW-325-and-2004-BMW-330Ci-E46-DME-pinout———