BP-ZE Engine 94-97 "NA8"

Technical Library › Engine Information › MazdaUpdated Sep 2026

The 1.8-liter BP-ZE in the 1994-97 NA8 Miata is one of the easiest engines to put on a Haltech, but a few details catch people out, like the manual-car throttle switch and the speed sensor signal. Here is what each sensor does, how it connects, and what we change when we build one.

Engine at a glance

ItemDetail
EngineMazda BP-ZE, inline four
Displacement112.2 ci (1839 cc)
Firing order1-3-4-2
Found inMX-5 Miata NA8 (Series 3), 1994-97
IgnitionTwo dual-post coils in wasted spark, external igniter
Factory injector flow230 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 wireSensor pinJob
Trigger cable, BlueAGround
Trigger cable, RedBSwitched 12V supply
Trigger cable, YellowC4x trigger signal
Home cable, YellowD2x 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 pinWhat it doesConnects to
IB1Trigger for coil 1Haltech Ignition Output 1 (Yellow/Black)
IB2Trigger for coil 2Haltech Ignition Output 2 (Yellow/Red)
OC1, OC2Coil negative drivesFactory wiring to each coil's negative terminal
VB12V supplyFactory ignition-switched 12V
TACTach signalFactory wiring to the tach
GNDGroundFactory ground at the cylinder head
IGfIgnition confirmationNot 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 pinJobHaltech wire
1 (VCC)5V supplyOrange 5V
2 (VTA)Position signalAny spare AVI
3 (IDL)Closed-throttle switchLeave disconnected
4 (E2)Signal groundBlack/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)JobHaltech connection
1 (Black/Light Green)Chassis groundStays on factory wiring
2 (Black/Blue)Signal groundBlack/White signal ground
3 (Red/Black)Air temp signalSpare AVI (AVI-7, Grey)
4 (Red/White)Airflow signalSpare AVI
5 (White/Red)Switched 12VStays 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.