← Back

MX-5 Miata NB2 2001-05 (BP-Z3, VVT; excludes Mazdaspeed) → Haltech Elite 2500 HT-151300 (auto)

MX-5 Miata NB2 2001-05 (BP-Z3, VVT; excludes Mazdaspeed) — Haltech — Elite 2500
Drawn by Michael Gnankou · Rev 0 · proposal · 2026-10-09

Before you start

Not confident with automotive wiring? Have a professional harness builder or tuner do it, or check your work before first power-up. A wiring mistake can damage the ECU, the engine or the car, or start a fire.

Install modifications

Steps on the car itself, outside the harness. Every harness for this car inherits them.

  • Re-route the pressure-sensor vacuum hose to the intake manifoldrequired

    Re-route the pressure sensor's (Mazda "EGR boost sensor", pin 4AE) vacuum hose directly to the intake manifold, bypassing the EGR boost solenoid. The stock ECU multiplexes baro + MAP through that solenoid: with it off the sensor reads atmosphere, with it energized it reads manifold. After re-routing the sensor reads MAP only, so the standalone needs its own barometric source — its onboard baro sensor if fitted, or a separate baro sensor on a spare analog input. (Alternative, not recommended: keep the hose stock and have the ECU energize the solenoid permanently via a low-side output switched with ignition; this costs an output.)

    Why: With the solenoid off (its default) the sensor reads atmospheric pressure, not manifold pressure, so a standalone that uses this sensor as its MAP input would read the wrong value.

    Where: EGR boost solenoid and the pressure sensor's vacuum hose (sensor signal 4AE).

    Source: Justin Barrera — Miata NA/NB wiring corrections

Statusproposal · not yet verified: nobody has reported building and running this harness
Open errorsnone
Size of the job55 wires · 8 connectors · 0 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-2-PSP-14V-10.85☐☐☐☐☐☐☐
W2OEM-4-AFSP-14V-10.85☐☐☐☐☐☐☐
W3SP-14V-1ELITE2500-A-260.85☐☐☐☐☐☐☐
W4SP-14V-1ELITE2500-B-110.85☐☐☐☐☐☐☐
W5OEM-3-ASP-GND-10.85☐☐☐☐☐☐☐
W6OEM-3-BSP-GND-10.85☐☐☐☐☐☐☐
W7OEM-4-ASP-GND-10.85☐☐☐☐☐☐☐
W8SP-GND-1ELITE2500-A-100.85☐☐☐☐☐☐☐
W9SP-GND-1ELITE2500-A-110.85☐☐☐☐☐☐☐
W10OEM-4-OSP-0V-10.5☐☐☐☐☐☐☐
W11SP-0V-1ELITE2500-B-140.5☐☐☐☐☐☐☐
W12SP-0V-1ELITE2500-B-150.5☐☐☐☐☐☐☐
W13SP-0V-1ELITE2500-B-160.5☐☐☐☐☐☐☐
W14OEM-4-LELITE2500-A-90.5☐☐☐☐☐☐☐
W15OEM-3-YELITE2500-B-10.5☐☐☐☐☐☐☐
W16SP-0V-1ELITE2500-B-50.5☐☐☐☐☐☐☐
W17OEM-3-VELITE2500-B-20.5☐☐☐☐☐☐☐
W18SP-0V-1ELITE2500-B-60.5☐☐☐☐☐☐☐
W19OEM-4-MELITE2500-B-210.5☐☐☐☐☐☐☐
W20OEM-3-FELITE2500-A-30.5☐☐☐☐☐☐☐
W21OEM-3-IELITE2500-A-40.5☐☐☐☐☐☐☐
W22OEM-2-AELITE2500-A-190.5☐☐☐☐☐☐☐
W23OEM-2-DELITE2500-A-200.5☐☐☐☐☐☐☐
W24OEM-2-GELITE2500-A-210.5☐☐☐☐☐☐☐
W25OEM-2-JELITE2500-A-220.5☐☐☐☐☐☐☐
W26OEM-2-BELITE2500-A-250.5☐☐☐☐☐☐☐
W27OEM-2-CELITE2500-A-180.5☐☐☐☐☐☐☐
W28OEM-2-KELITE2500-A-10.5☐☐☐☐☐☐☐
W29OEM-2-MELITE2500-A-240.5☐☐☐☐☐☐☐
W30OEM-3-HELITE2500-A-230.5☐☐☐☐☐☐☐
W31OEM-3-JELITE2500-B-190.5☐☐☐☐☐☐☐
W32OEM-3-PELITE2500-A-310.5☐☐☐☐☐☐☐
W33OEM-2-QELITE2500-A-320.5☐☐☐☐☐☐☐
W34OEM-2-EELITE2500-A-330.5☐☐☐☐☐☐☐
W35OEM-2-FELITE2500-A-340.5☐☐☐☐☐☐☐
W36OEM-2-HELITE2500-A-270.5☐☐☐☐☐☐☐
W37OEM-2-IELITE2500-A-280.5☐☐☐☐☐☐☐
W38OEM-2-NELITE2500-A-290.5☐☐☐☐☐☐☐
W39OEM-2-RELITE2500-A-300.5☐☐☐☐☐☐☐
W40OEM-3-EELITE2500-B-250.5☐☐☐☐☐☐☐
W41OEM-3-MELITE2500-B-260.5☐☐☐☐☐☐☐
W42OEM-4-XELITE2500-B-130.5☐☐☐☐☐☐☐
W43OEM-4-AEELITE2500-A-160.5☐☐☐☐☐☐☐
W44OEM-4-VELITE2500-A-170.5☐☐☐☐☐☐☐
W45OEM-4-AAELITE2500-A-20.5☐☐☐☐☐☐☐
W46OEM-4-WELITE2500-B-200.5☐☐☐☐☐☐☐
W47OEM-4-PELITE2500-B-40.5☐☐☐☐☐☐☐
W48OEM-4-NELITE2500-B-120.5☐☐☐☐☐☐☐
W49OEM-4-ADELITE2500-B-30.5☐☐☐☐☐☐☐
W50OEM-3-TELITE2500-B-80.5☐☐☐☐☐☐☐
W51OEM-3-SELITE2500-B-90.5☐☐☐☐☐☐☐
W52OEM-4-BELITE2500-B-100.5☐☐☐☐☐☐☐
W53OEM-4-CELITE2500-B-70.5☐☐☐☐☐☐☐
W54OEM-4-FELITE2500-A-150.5☐☐☐☐☐☐☐
W55OEM-4-HELITE2500-A-140.5☐☐☐☐☐☐☐

Bench test (before first power-up)

Pre-power install steps (make these cuts/modifications on the car first, then verify the checks below): Re-route the pressure-sensor vacuum hose to the intake manifold.

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-A-10open (OL)+12 V supply must not touch power ground
2ELITE2500-A-26ELITE2500-B-14open (OL)+12 V supply must not touch sensor ground
3ELITE2500-A-9ELITE2500-B-14open (OL)5 V sensor reference must not touch sensor ground
4ELITE2500-A-10ELITE2500-A-9open (OL)power ground must not touch 5 V sensor reference
5ELITE2500-A-26ELITE2500-A-9open (OL)+12 V supply must not touch 5 V sensor reference

If any reading doesn't match, stop and get help before powering up.

Revisions

RevLabelByDate
No revisions yet.

Schematic

ELITE2500-AELITE2500-BOEM-2OEM-3OEM-4SP-0VSP-14VSP-GND

Connectors

ELITE2500-A

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1DPO 2—W28—0.5OEM-2-K———
10Battery ground—W8—0.85SP-GND-1———
11Battery ground—W9—0.85SP-GND-1———
12+8V DC————————
1312V ignition input————————
14AVI 10 (TPS)—W55—0.5OEM-4-H———
15AVI 9 (MAP)—W54—0.5OEM-4-F———
16AVI 2—W43—0.5OEM-4-AE———
17AVI 3—W44—0.5OEM-4-V———
18DPO 1—W27—0.5OEM-2-C———
19INJ 1—W22—0.5OEM-2-A———
2AVI 4—W45—0.5OEM-4-AA———
20INJ 2—W23—0.5OEM-2-D———
21INJ 3—W24—0.5OEM-2-G———
22INJ 4—W25—0.5OEM-2-J———
23DPO 3—W30—0.5OEM-3-H———
24DPO 5 (fuel pump trigger)—W29—0.5OEM-2-M———
25DPO 6 (ECR OUT)—W26—0.5OEM-2-B———
26ECU injector power input—W3—0.85SP-14V-1———
27INJ 5—W36—0.5OEM-2-H———
28INJ 6—W37—0.5OEM-2-I———
29INJ 7—W38—0.5OEM-2-N———
3IGN 1—W20—0.5OEM-3-F———
30INJ 8—W39—0.5OEM-2-R———
31Stepper 1 P1 / DPO—W32—0.5OEM-3-P———
32Stepper 1 P2 / DPO—W33—0.5OEM-2-Q———
33Stepper 1 P3 / DPO—W34—0.5OEM-2-E———
34Stepper 1 P4 / DPO—W35—0.5OEM-2-F———
4IGN 2—W21—0.5OEM-3-I———
5IGN 3————————
6IGN 4————————
7IGN 5————————
8IGN 6————————
9+5V DC—W14—0.5OEM-4-L———

ELITE2500-B

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1Crank (Trigger) (+)—W15—0.5OEM-3-Y———
10SPI 3—W52—0.5OEM-4-B———
11+13.8V ECU supply—W4—0.85SP-14V-1———
12AVI 6 (O2 Input 1)—W48—0.5OEM-4-N———
13AVI 1 (O2 Input 2)—W42—0.5OEM-4-X———
14Signal ground—W11—0.5SP-0V-1———
15Signal ground—W12—0.5SP-0V-1———
16Signal ground—W13—0.5SP-0V-1———
17IGN 7————————
18IGN 8————————
19DPO 4—W31—0.5OEM-3-J———
2Cam (Home) (+)—W17—0.5OEM-3-V———
20AVI 5—W46—0.5OEM-4-W———
21KNOCK 1—W19—0.5OEM-4-M———
22KNOCK 2————————
23CAN H————————
24CAN L————————
25DBW 1 / DPO—W40—0.5OEM-3-E———
26DBW 2 / DPO—W41—0.5OEM-3-M———
3AVI 7 (Air Temp)—W49—0.5OEM-4-AD———
4AVI 8 (Coolant Temp)—W47—0.5OEM-4-P———
5Crank (Trigger) (−)—W16—0.5SP-0V-1———
6Cam (Home) (−)—W18—0.5SP-0V-1———
7SPI 4—W53—0.5OEM-4-C———
8SPI 1—W50—0.5OEM-3-T———
9SPI 2—W51—0.5OEM-3-S———

OEM-2

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
AInjector 1—W22—0.5ELITE2500-A-19———
BCooling fan relay—W26—0.5ELITE2500-A-25———
CCondenser fan relay—W27—0.5ELITE2500-A-18———
DInjector 2—W23—0.5ELITE2500-A-20———
EEGR valve—W34—0.5ELITE2500-A-33———
FEGR valve—W35—0.5ELITE2500-A-34———
GInjector 3—W24—0.5ELITE2500-A-21———
HEGR valve—W36—0.5ELITE2500-A-27———
IEGR valve—W37—0.5ELITE2500-A-28———
JInjector 4—W25—0.5ELITE2500-A-22———
KA/C clutch relay—W28—0.5ELITE2500-A-1———
MFuel pump relay—W29—0.5ELITE2500-A-24———
NVTCS solenoid (intake butterflies)—W38—0.5ELITE2500-A-29———
PISC valve +14V feed—W1—0.85SP-14V-1———
QISC valve low side—W33—0.5ELITE2500-A-32———
RMalfunction indicator lamp (MIL)—W39—0.5ELITE2500-A-30———

OEM-3

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
APower ground—W5—0.85SP-GND-1———
BPower ground—W6—0.85SP-GND-1———
DEGR boost solenoid————————
ECharcoal canister purge—W40—0.5ELITE2500-B-25———
FIgnition 1 (coils 1+4, wasted spark)—W20—0.5ELITE2500-A-3———
HMain relay—W30—0.5ELITE2500-A-23———
IIgnition 2 (coils 2+3, wasted spark)—W21—0.5ELITE2500-A-4———
JFront O2 heater—W31—0.5ELITE2500-B-19———
MAlternator control—W41—0.5ELITE2500-B-26———
OTachometer output————————
PRear O2 heater—W32—0.5ELITE2500-A-31———
SImmobiliser—W51—0.5ELITE2500-B-9———
TVehicle speed—W50—0.5ELITE2500-B-8———
UCharge lamp————————
VCam position (CMP)—W17—0.5ELITE2500-B-2———
YCrank position (CKP)—W15—0.5ELITE2500-B-1———

OEM-4

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
APower ground—W7—0.85SP-GND-1———
AARear O2 signal—W45—0.5ELITE2500-A-2———
ADFuel level—W49—0.5ELITE2500-B-3———
AEPressure sensor (Mazda: EGR boost sensor)—W43—0.5ELITE2500-A-16———
AFECU power +14V (main relay)—W2—0.85SP-14V-1———
AGConstant +12V————————
BBrake switch—W52—0.5ELITE2500-B-10———
CPower steering pressure switch—W53—0.5ELITE2500-B-7———
DVVT oil-control solenoid————————
FA/C request—W54—0.5ELITE2500-A-15———
HNeutral switch—W55—0.5ELITE2500-A-14———
IClutch switch————————
JVTCS vacuum switch————————
L+5V sensor supply—W14—0.5ELITE2500-A-9———
MKnock sensor—W19—0.5ELITE2500-B-21———
NIntake air temperature (IAT)—W48—0.5ELITE2500-B-12———
OSignal ground—W10—0.5SP-0V-1———
PCoolant temperature (ECT)—W47—0.5ELITE2500-B-4———
VThrottle position (TPS)—W44—0.5ELITE2500-A-17———
WFront O2 signal—W46—0.5ELITE2500-B-20———
XMass air flow (MAF)—W42—0.5ELITE2500-B-13———

SP-0V

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W10—0.5OEM-4-O———
1——W11—0.5ELITE2500-B-14———
1——W12—0.5ELITE2500-B-15———
1——W13—0.5ELITE2500-B-16———
1——W16—0.5ELITE2500-B-5———
1——W18—0.5ELITE2500-B-6———

SP-14V

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W1—0.85OEM-2-P———
1——W2—0.85OEM-4-AF———
1——W3—0.85ELITE2500-A-26———
1——W4—0.85ELITE2500-B-11———

SP-GND

CavityFunctionSignalWireColourGauge (mm²)DestinationTerminalSealPlug
1——W5—0.85OEM-3-A———
1——W6—0.85OEM-3-B———
1——W7—0.85OEM-4-A———
1——W8—0.85ELITE2500-A-10———
1——W9—0.85ELITE2500-A-11———

Pin map

OEM pointOEM functionOEM familyTarget pointTarget functionTarget familyWire colourEvidence
OEM-2-AInjector 1injector_outELITE2500-A-19INJ 1injector_outsingle_source
OEM-2-BCooling fan relaylow_side_outELITE2500-A-25DPO 6 (ECR OUT)low_side_outsingle_source
OEM-2-CCondenser fan relaylow_side_outELITE2500-A-18DPO 1low_side_outsingle_source
OEM-2-DInjector 2injector_outELITE2500-A-20INJ 2injector_outsingle_source
OEM-2-EEGR valvelow_side_outELITE2500-A-33Stepper 1 P3 / DPOswitch_outsingle_source
OEM-2-FEGR valvelow_side_outELITE2500-A-34Stepper 1 P4 / DPOswitch_outsingle_source
OEM-2-GInjector 3injector_outELITE2500-A-21INJ 3injector_outsingle_source
OEM-2-HEGR valvelow_side_outELITE2500-A-27INJ 5injector_outsingle_source
OEM-2-IEGR valvelow_side_outELITE2500-A-28INJ 6injector_outsingle_source
OEM-2-JInjector 4injector_outELITE2500-A-22INJ 4injector_outsingle_source
OEM-2-KA/C clutch relaylow_side_outELITE2500-A-1DPO 2low_side_outsingle_source
OEM-2-MFuel pump relaylow_side_outELITE2500-A-24DPO 5 (fuel pump trigger)low_side_outsingle_source
OEM-2-NVTCS solenoid (intake butterflies)low_side_outELITE2500-A-29INJ 7injector_outsingle_source
OEM-2-PISC valve +14V feedpower_inELITE2500-A-26 + ELITE2500-B-11ECU injector power input + +13.8V ECU supplypower_insingle_source
OEM-2-QISC valve low sidelow_side_outELITE2500-A-32Stepper 1 P2 / DPOswitch_outsingle_source
OEM-2-RMalfunction indicator lamp (MIL)low_side_outELITE2500-A-30INJ 8injector_outsingle_source
OEM-3-APower groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundsingle_source
OEM-3-BPower groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundsingle_source
OEM-3-DEGR boost solenoid————single_source
OEM-3-ECharcoal canister purgelow_side_outELITE2500-B-25DBW 1 / DPOhbridge_outsingle_source
OEM-3-FIgnition 1 (coils 1+4, wasted spark)ignition_outELITE2500-A-3IGN 1ignition_outsingle_source
OEM-3-HMain relaylow_side_outELITE2500-A-23DPO 3low_side_outsingle_source
OEM-3-IIgnition 2 (coils 2+3, wasted spark)ignition_outELITE2500-A-4IGN 2ignition_outsingle_source
OEM-3-JFront O2 heaterlow_side_outELITE2500-B-19DPO 4low_side_outsingle_source
OEM-3-MAlternator controllow_side_outELITE2500-B-26DBW 2 / DPOhbridge_outsingle_source
OEM-3-OTachometer outputtacho_out———single_source
OEM-3-PRear O2 heaterlow_side_outELITE2500-A-31Stepper 1 P1 / DPOswitch_outsingle_source
OEM-3-SImmobiliserdigital_inELITE2500-B-9SPI 2digital_insingle_source
OEM-3-TVehicle speeddigital_inELITE2500-B-8SPI 1digital_insingle_source
OEM-3-UCharge lamplow_side_out———single_source
OEM-3-VCam position (CMP)trigger_inELITE2500-B-2Cam (Home) (+)trigger_insingle_source
OEM-3-YCrank position (CKP)trigger_inELITE2500-B-1Crank (Trigger) (+)trigger_insingle_source
OEM-4-APower groundgroundELITE2500-A-10 + ELITE2500-A-11Battery ground + Battery groundgroundsingle_source
OEM-4-AARear O2 signallambda_nb_inELITE2500-A-2AVI 4analog_insingle_source
OEM-4-ADFuel levelanalog_inELITE2500-B-3AVI 7 (Air Temp)analog_insingle_source
OEM-4-AEPressure sensor (Mazda: EGR boost sensor)analog_inELITE2500-A-16AVI 2analog_incorroborated
OEM-4-AFECU power +14V (main relay)power_inELITE2500-A-26 + ELITE2500-B-11ECU injector power input + +13.8V ECU supplypower_insingle_source
OEM-4-AGConstant +12Vpower_in———single_source
OEM-4-BBrake switchdigital_inELITE2500-B-10SPI 3digital_insingle_source
OEM-4-CPower steering pressure switchdigital_inELITE2500-B-7SPI 4digital_insingle_source
OEM-4-DVVT oil-control solenoidlow_side_out———single_source
OEM-4-FA/C requestdigital_inELITE2500-A-15AVI 9 (MAP)analog_insingle_source
OEM-4-HNeutral switchdigital_inELITE2500-A-14AVI 10 (TPS)analog_insingle_source
OEM-4-IClutch switchdigital_in———single_source
OEM-4-JVTCS vacuum switchdigital_in———single_source
OEM-4-L+5V sensor supplyvrefELITE2500-A-9+5V DCvrefsingle_source
OEM-4-MKnock sensorknock_inELITE2500-B-21KNOCK 1knock_insingle_source
OEM-4-NIntake air temperature (IAT)temp_inELITE2500-B-12AVI 6 (O2 Input 1)analog_insingle_source
OEM-4-OSignal 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_insingle_source
OEM-4-PCoolant temperature (ECT)temp_inELITE2500-B-4AVI 8 (Coolant Temp)analog_insingle_source
OEM-4-VThrottle position (TPS)analog_inELITE2500-A-17AVI 3analog_insingle_source
OEM-4-WFront O2 signallambda_nb_inELITE2500-B-20AVI 5analog_insingle_source
OEM-4-XMass air flow (MAF)analog_inELITE2500-B-13AVI 1 (O2 Input 2)analog_insingle_source

Cut list

WireFromToGauge (mm²)ColourLengthSignalIdent
W1OEM-2-PSP-14V-10.85no routeISC valve +14V feed—
W2OEM-4-AFSP-14V-10.85no routeECU power +14V (main relay)—
W3SP-14V-1ELITE2500-A-260.85no routeECU injector power input—
W4SP-14V-1ELITE2500-B-110.85no route+13.8V ECU supply—
W5OEM-3-ASP-GND-10.85no routePower ground—
W6OEM-3-BSP-GND-10.85no routePower ground—
W7OEM-4-ASP-GND-10.85no routePower ground—
W8SP-GND-1ELITE2500-A-100.85no routeBattery ground—
W9SP-GND-1ELITE2500-A-110.85no routeBattery ground—
W10OEM-4-OSP-0V-10.5no routeSignal ground—
W11SP-0V-1ELITE2500-B-140.5no routeSignal ground—
W12SP-0V-1ELITE2500-B-150.5no routeSignal ground—
W13SP-0V-1ELITE2500-B-160.5no routeSignal ground—
W14OEM-4-LELITE2500-A-90.5no route+5V sensor supply—
W15OEM-3-YELITE2500-B-10.5no routeCrank position (CKP)—
W16SP-0V-1ELITE2500-B-50.5no routeCrank (Trigger) (−)—
W17OEM-3-VELITE2500-B-20.5no routeCam position (CMP)—
W18SP-0V-1ELITE2500-B-60.5no routeCam (Home) (−)—
W19OEM-4-MELITE2500-B-210.5no routeKnock sensor—
W20OEM-3-FELITE2500-A-30.5no routeIgnition 1 (coils 1+4, wasted spark)—
W21OEM-3-IELITE2500-A-40.5no routeIgnition 2 (coils 2+3, wasted spark)—
W22OEM-2-AELITE2500-A-190.5no routeInjector 1—
W23OEM-2-DELITE2500-A-200.5no routeInjector 2—
W24OEM-2-GELITE2500-A-210.5no routeInjector 3—
W25OEM-2-JELITE2500-A-220.5no routeInjector 4—
W26OEM-2-BELITE2500-A-250.5no routeCooling fan relay—
W27OEM-2-CELITE2500-A-180.5no routeCondenser fan relay—
W28OEM-2-KELITE2500-A-10.5no routeA/C clutch relay—
W29OEM-2-MELITE2500-A-240.5no routeFuel pump relay—
W30OEM-3-HELITE2500-A-230.5no routeMain relay—
W31OEM-3-JELITE2500-B-190.5no routeFront O2 heater—
W32OEM-3-PELITE2500-A-310.5no routeRear O2 heater—
W33OEM-2-QELITE2500-A-320.5no routeISC valve low side—
W34OEM-2-EELITE2500-A-330.5no routeEGR valve—
W35OEM-2-FELITE2500-A-340.5no routeEGR valve—
W36OEM-2-HELITE2500-A-270.5no routeEGR valve—
W37OEM-2-IELITE2500-A-280.5no routeEGR valve—
W38OEM-2-NELITE2500-A-290.5no routeVTCS solenoid (intake butterflies)—
W39OEM-2-RELITE2500-A-300.5no routeMalfunction indicator lamp (MIL)—
W40OEM-3-EELITE2500-B-250.5no routeCharcoal canister purge—
W41OEM-3-MELITE2500-B-260.5no routeAlternator control—
W42OEM-4-XELITE2500-B-130.5no routeMass air flow (MAF)—
W43OEM-4-AEELITE2500-A-160.5no routePressure sensor (Mazda: EGR boost sensor)—
W44OEM-4-VELITE2500-A-170.5no routeThrottle position (TPS)—
W45OEM-4-AAELITE2500-A-20.5no routeRear O2 signal—
W46OEM-4-WELITE2500-B-200.5no routeFront O2 signal—
W47OEM-4-PELITE2500-B-40.5no routeCoolant temperature (ECT)—
W48OEM-4-NELITE2500-B-120.5no routeIntake air temperature (IAT)—
W49OEM-4-ADELITE2500-B-30.5no routeFuel level—
W50OEM-3-TELITE2500-B-80.5no routeVehicle speed—
W51OEM-3-SELITE2500-B-90.5no routeImmobiliser—
W52OEM-4-BELITE2500-B-100.5no routeBrake switch—
W53OEM-4-CELITE2500-B-70.5no routePower steering pressure switch—
W54OEM-4-FELITE2500-A-150.5no routeA/C request—
W55OEM-4-HELITE2500-A-140.5no routeNeutral switch—

Bill of materials

CategoryPart numberManufacturerDescriptionQtyUnit

ECU setup sheet

RoleEngine refEngine signalSensorECU pointECU functionECU classSetup flag
No configured channels.

Findings

Open (16)

SeverityCodeSubjectMessage
warnNET_FAMILYOEM-3-E ↔ ELITE2500-B-25OEM-3-E "Charcoal canister purge" [low_side_out] is wired to ELITE2500-B-25 "DBW 1 / DPO" [hbridge_out]. A half-bridge can act as a low-side switch only if configured that way.
warnNET_FAMILYOEM-3-M ↔ ELITE2500-B-26OEM-3-M "Alternator control" [low_side_out] is wired to ELITE2500-B-26 "DBW 2 / DPO" [hbridge_out]. A half-bridge can act as a low-side switch only if configured that way.
warnNET_FAMILYOEM-4-F ↔ ELITE2500-A-15OEM-4-F "A/C request" [digital_in] is wired to ELITE2500-A-15 "AVI 9 (MAP)" [analog_in]. Analog and digital on one net. A switch on an analog input works with a pull-up and a threshold; an analog sensor on a digital input loses its value.
warnNET_FAMILYOEM-4-H ↔ ELITE2500-A-14OEM-4-H "Neutral switch" [digital_in] is wired to ELITE2500-A-14 "AVI 10 (TPS)" [analog_in]. Analog and digital on one net. A switch on an analog input works with a pull-up and a threshold; an analog sensor on a digital input loses its value.
infoNET_FAMILYELITE2500-B-14 ↔ ELITE2500-B-6ELITE2500-B-14 "Signal ground" [sensor_ground] is wired to ELITE2500-B-6 "Cam (Home) (−)" [trigger_in]. Trigger return tied to sensor/trigger ground: correct for single-ended trigger inputs.
infoNET_FAMILYOEM-2-E ↔ ELITE2500-A-33OEM-2-E "EGR valve" [low_side_out] is wired to ELITE2500-A-33 "Stepper 1 P3 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-2-F ↔ ELITE2500-A-34OEM-2-F "EGR valve" [low_side_out] is wired to ELITE2500-A-34 "Stepper 1 P4 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-2-H ↔ ELITE2500-A-27OEM-2-H "EGR valve" [low_side_out] is wired to ELITE2500-A-27 "INJ 5" [injector_out]. Injector drivers can usually run general low-side loads; check current and PWM frequency.
infoNET_FAMILYOEM-2-I ↔ ELITE2500-A-28OEM-2-I "EGR valve" [low_side_out] is wired to ELITE2500-A-28 "INJ 6" [injector_out]. Injector drivers can usually run general low-side loads; check current and PWM frequency.
infoNET_FAMILYOEM-2-N ↔ ELITE2500-A-29OEM-2-N "VTCS solenoid (intake butterflies)" [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-2-Q ↔ ELITE2500-A-32OEM-2-Q "ISC valve low side" [low_side_out] is wired to ELITE2500-A-32 "Stepper 1 P2 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-2-R ↔ ELITE2500-A-30OEM-2-R "Malfunction indicator lamp (MIL)" [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.
infoNET_FAMILYOEM-3-P ↔ ELITE2500-A-31OEM-3-P "Rear O2 heater" [low_side_out] is wired to ELITE2500-A-31 "Stepper 1 P1 / DPO" [switch_out]. Configure this output as low side.
infoNET_FAMILYOEM-4-N ↔ ELITE2500-B-12OEM-4-N "Intake air temperature (IAT)" [temp_in] is wired to ELITE2500-B-12 "AVI 6 (O2 Input 1)" [analog_in]. Thermistor on a plain analog input needs a pull-up; check the channel can enable one.
infoNET_FAMILYOEM-4-P ↔ ELITE2500-B-4OEM-4-P "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.
infoUNMAPPEDOEM6 optional OEM pins are not mapped: OEM-3-D EGR boost solenoid; OEM-3-O Tachometer output; OEM-3-U Charge lamp; OEM-4-D VVT oil-control solenoid; OEM-4-I Clutch switch; OEM-4-J VTCS vacuum switch

Accepted (1)

CodeSubjectReasonBy
REQUIRED_UNMAPPEDOEM-4-AGBattery-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-09. Review every wire against both manuals before building. Not wired: - OEM-4 AG: Constant +12V: Haltech Elite 2500 has no battery-constant input; not needed - OEM-3 U: Charge lamp: no free low_side/ls_hs/injector/hbridge on Haltech Elite 2500 - OEM-4 D: VVT oil-control solenoid: no free low_side/ls_hs/injector/hbridge on Haltech Elite 2500 - OEM-3 O: Tachometer output: no free tacho/frequency_out/low_side/ls_hs on Haltech Elite 2500 - OEM-4 I: Clutch switch: no free switch_in/frequency_in/analog_0_5 on Haltech Elite 2500 - OEM-4 J: VTCS vacuum switch: no free switch_in/frequency_in/analog_0_5 on Haltech Elite 2500 - OEM-3 D: EGR boost solenoid: not classified in the library; wire by hand - 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
4vendor_docLink G4X MX5NB2X install manual (NB2 2001-05)https://linkecu.com/documentation/MX5XNB2.pdfarchive2026-10-05741efdd9f2c8
4oem_manualMazda MX-5 NB2 (2003) wiring diagram — engine / starting / charginghttps://web.archive.org/web/20191104195207/http://mellens.net/mazda/mazda_miata_extra_manual/2003_wiring.pdf—2026-10-055ee0777f12c1
2expert_reportJustin Barrera — Miata NA/NB wiring corrections————