Engine at a glance
| Item | Detail |
|---|---|
| Engine | Mazda BP-ZE, inline four |
| Displacement | 112.2 ci (1839 cc) |
| Firing order | 1-3-4-2 |
| Found in | MX-5 Miata NA8 (Series 3), 1994-97 |
| Ignition | Two dual-post coils in wasted spark, external igniter |
| Factory injector flow | 230 cc/min |
If your car is still on its factory loom, the quickest route is a plug-in adaptor harness, like the Elite 1500 Miata NA kit, the Elite 750 Miata NA kit or, for the newer platform, the Nexus S3 MX5 NA kit. The details below matter most for wire-in builds, and for anyone chasing a fault on an adaptor install.
Crank and cam sensor
The BP-ZE reads crank and cam position from one sensor assembly on the back of the head, driven off the intake camshaft. It produces two signals: a four-tooth trigger (the crank reference) and a two-tooth home signal (the cam reference), with the teeth in each set sized differently.
| Haltech wire | Sensor pin | Job |
|---|---|---|
| Trigger cable, Blue | A | Ground |
| Trigger cable, Red | B | Switched 12V supply |
| Trigger cable, Yellow | C | 4x trigger signal |
| Home cable, Yellow | D | 2x home signal |
Running both signals in one shielded cable
Because this sensor has its own power and ground, you only need four wires, and the Trigger- wire in the Haltech trigger cable goes unused. Many installers repurpose that spare wire as the home signal so only one shielded cable runs to the sensor. The spare is the Green wire. At the ECU connector:
- Elite 550, 750 and 950: pull the home cable's Yellow out of pin A32 and insulate it. Then move the Green wire from A33 into A32.
- Elite 1000, 1500, 2000 and 2500: pull the home cable's Yellow out of pin B2 and insulate it. Then move the Green wire from B5 into B2.
At the sensor end, the Green wire now lands on pin D. Label it, because the next person to work on the loom will expect Green to be Trigger-.
Ignition coils and igniter
The factory setup is two dual-post coils firing in wasted spark, switched by a separate igniter module. The igniter has its pin names printed on the case. Only two of its pins go to the Haltech, and everything else stays on factory wiring:
| Igniter pin | What it does | Connects to |
|---|---|---|
| IB1 | Trigger for coil 1 | Haltech Ignition Output 1 (Yellow/Black) |
| IB2 | Trigger for coil 2 | Haltech Ignition Output 2 (Yellow/Red) |
| OC1, OC2 | Coil negative drives | Factory wiring to each coil's negative terminal |
| VB | 12V supply | Factory ignition-switched 12V |
| TAC | Tach signal | Factory wiring to the tach |
| GND | Ground | Factory ground at the cylinder head |
| IGf | Ignition confirmation | Not used |
Haltech publishes a dwell time table for this coil and igniter pair. Need it? Ask us and we'll send it over with advice for your build.
Throttle position sensor
This is the part that trips people up. Automatic cars came with a proper 4-pin TPS. Manual cars got a 3-pin unit that is only a switch: it tells the ECU whether the throttle is closed, and nothing else. Haltech ECUs need a real position signal, so the 3-pin switch can't be used. Swap it for the 4-pin sensor.
| TPS pin | Job | Haltech wire |
|---|---|---|
| 1 (VCC) | 5V supply | Orange 5V |
| 2 (VTA) | Position signal | Any spare AVI |
| 3 (IDL) | Closed-throttle switch | Leave disconnected |
| 4 (E2) | Signal ground | Black/White signal ground |
Manifold pressure
The BP-ZE was a MAF engine and has no MAP sensor. For a naturally aspirated or mild boost build, the ECU's internal MAP sensor does the job. For higher boost, fit an external sensor with enough range, such as a 3 bar GM MAP sensor, on a spare AVI.
Idle valve
Idle air comes from a 2-pin bypass air control (BAC) valve that the ECU pulses with a single output. Pin 1 is the open signal and goes to a spare Haltech output. Pin 2 takes switched 12V. Set it up under idle control.
Temperature and knock sensors
- Coolant temperature: a two-wire sensor that doesn't care about polarity. One pin to a spare AVI, the other to signal ground. Use an AVI with a switchable pullup and turn it on. If yours doesn't have one, add a 1k resistor from the signal to 5V.
- Air temperature: the factory sensor lives inside the MAF. If the MAF comes out, fit a standalone air temp sensor and wire it the same way as the coolant sensor, pullup included.
- Knock sensor: pin 1 carries the knock signal to the Haltech knock input, pin 2 goes to signal ground.
Keeping the MAF (optional)
Most Haltech installs delete the MAF and tune on manifold pressure, but it can stay if you want the reading.
| MAF pin (wire color) | Job | Haltech connection |
|---|---|---|
| 1 (Black/Light Green) | Chassis ground | Stays on factory wiring |
| 2 (Black/Blue) | Signal ground | Black/White signal ground |
| 3 (Red/Black) | Air temp signal | Spare AVI (AVI-7, Grey) |
| 4 (Red/White) | Airflow signal | Spare AVI |
| 5 (White/Red) | Switched 12V | Stays on factory wiring |
Oxygen sensor
The factory sensor is a 4-wire heated narrowband. It can tell you rich or lean near stoichiometric, but that's all, so it's no good for tuning. We fit a Haltech WB1 wideband kit on every one of these cars, with its LSU 4.9 sensor going into the factory pre-cat location. A 22 mm wrench or socket gets the old sensor out. More on why in narrowband vs wideband sensors.
Vehicle speed sensor
The transmission sensor is a reluctor type, but it feeds the speedometer, which converts it to a clean digital signal and passes that to the ECU. How you set up the Haltech SPI depends on where you tap in:
- From the factory ECU wire (after the speedo): sensor type Hall Effect, Falling edge, pullup disabled.
- Directly at the transmission sensor: sensor type Reluctor, Falling edge. Pin 1 is the signal to any spare SPI, pin 2 goes to signal ground.
A starting calibration is about 2780 pulses per km (roughly 4470 per mile). Confirm it against GPS speed, since tire size changes it.
Injector data
The factory injectors flow 230 cc/min, measured held fully open. On a fuel system whose regulator isn't referenced to manifold pressure, the flow needs mapping against manifold pressure so the ECU accounts for the changing pressure across the injector. The dead time data (how long the injector takes to actually start and stop flowing) is published as a chart. Ask us and we'll send it with advice for your build.
Base maps and factory ECU pinout
Haltech has base maps made for use with its Elite adaptor harnesses on this car. You import them into the ECU rather than opening them as a regular file. See free base maps for your ECU and the adaptor harness guides. The factory ECU pinout diagrams are also available from us on request.
BP-ZE FAQ
Can I use the manual-car TPS with a Haltech?
No. It only reports closed or not closed. Fit the 4-pin sensor from an automatic car.
Is this the same as the 1.6 B6 or the NB engines?
Close, but not identical. Check our pages for the 1.6 B6 in the NA6, the 1999-00 NB1 and the 2001-05 NB2 with VVT, or browse all Mazda engine pages.
Do I need an external MAP sensor for boost?
Only once your boost goes beyond what the internal sensor can read. Pick a sensor with headroom above your highest target.




