M16A Engine

Technical Library › Engine Information › SuzukiUpdated Sep 2026

The M16A from the ZC31S Swift Sport is a rev-happy 1.6 with inlet cam phasing and drive by wire, and it takes a Haltech Elite well. Here's what we check and wire when we put one on an Elite 1500 or 2500.

The short version

The Suzuki M16A is a 1586 cc inline four with a 1-3-4-2 firing order, chain-driven cams, continuously variable inlet cam timing and an electronic throttle. Haltech lists this engine as supported only on the Elite 1500 or Elite 2500, so plan your ECU choice around those two.

Which Swift Sport do you have?

ZC31S (MY05-11)ZC32S (MY11-14)
Factory rating93 kW (about 125 hp), 148 Nm (about 109 lb-ft)101 kW (about 135 hp), 160 Nm (about 118 lb-ft)
Notes11.1:1 compression, inlet VVT, DBW7200 rpm factory limit
Haltech CAN supportSupported on Elite 1500 and 2500Not tested or supported

The Swift uses CAN bus to talk to the dash, ABS and body control. On a ZC31S the Elite can keep those modules happy. On a ZC32S that support has not been tested, so don't count on the Elite talking to those modules.

Crank and cam triggers

Both sensors are Hall effect, powered from switched 12V.

  • Crank wheel: 36 teeth nominal, with one 2-tooth gap on one side and, opposite it, two 2-tooth gaps split by a single tooth. You'll see the same layout on plenty of Subaru and Mazda engines. The sensor lives near the alternator.
  • Cam wheel: six teeth in total, four evenly spaced plus two extra single teeth. It handles engine sync and also gives the ECU the inlet cam position for VVT. It's on the intake side of the head at the transmission end.
Sensor pinCrank sensor to Trigger 4-coreCam sensor to Home 4-core
212V+ (red)12V+ (red)
3Signal ground (blue)Signal ground (blue)
4Trigger+ (yellow)Home+ (yellow)

Once it runs, verify base timing with a light before any tuning.

Ignition

The M16A runs waste spark with two coils: one sits on plug 4 and also fires plug 1, the other sits on plug 2 and also fires plug 3. The coils have igniters built in, so they wire straight to ECU ignition outputs.

  • Pin 1 (black/white): switched 12V
  • Pin 2 (black/blue): ground to the cylinder head
  • Pin 3 (green/white or green/yellow): trigger signal from the ECU ignition output

Set dwell from the coil's characterization, not guesswork. Our dwell time article explains why too much dwell cooks coils.

Drive by wire

There's a single electronic throttle body and a two-track pedal. Wire them like this, then run the DBW calibration before you try to start it:

ComponentWireGoes to
Throttle body sensorsRed / Black5V+ / signal ground
Throttle body sensorsGreen (TPS 1) / White (TPS 2)AVI-3 (orange/red) / AVI-2 (orange/black)
Throttle motorLight green/red (motor +)DBW1 (brown/black)
Throttle motorLight green/black (motor -)DBW2 (brown/red)
Pedal track 1Brown 5V, green signal, blue ground5V+ (orange), AVI-4 (orange/yellow), signal ground (black/white)
Pedal track 2Red 5V, yellow signal, white ground5V+ (orange), AVI-5 (orange/green), signal ground (black/white)

Idle speed is controlled with the throttle blade, so there's no separate idle valve to wire. The Elite 1500/2500 DBW wiring guide has more on the ECU side.

Sensors

MAP

The factory MAP sensor sits in the plenum. Pin 1 takes 5V+ (orange), pin 2 signal ground (black/white) and pin 3 is the output, which goes to a spare AVI such as AVI-9 (yellow). You can skip it and use the ECU's internal MAP sensor instead. Once you add real boost, fit an external sensor with enough range, like a 3 bar or 5 bar unit, on a spare AVI.

Coolant and air temperature

The two-pin coolant sensor doesn't care about polarity: one pin to a spare AVI, the other to signal ground. Use an AVI with a switchable pull-up. If yours doesn't have one, add an external 1k resistor to 5V. Intake air temperature is measured inside the MAF housing, so if you delete the MAF you'll need a separate air temp sensor.

Knock

Factory knock sensing is an older single-wire resonant type. They fail with age and lose accuracy on a modified engine. If you get odd knock readings, replace it with a flat "donut" broadband sensor. See knock control for setup.

O2 sensors

The narrowband sensors will work with an Elite, but they tell you very little when tuning. We strongly recommend a WB1 wideband kit, with its LSU 4.9 sensor going in where the pre-cat sensor was. A 22 mm socket or wrench gets the old one out.

Vehicle speed

Speed normally comes over CAN, though some cars have a Hall effect speed sensor: pin 2 is 12V, pin 3 signal ground, pin 4 the signal to a spare SPI.

MAF

Most builds delete the MAF, but the Elite can read one if you want to keep it. The only confirmed connection is pin 5, which is switched 12V (grey/red).

Cam control and alternator

  • Inlet VVT: fully supported through the Elite's cam control function, using the cam sensor above for position feedback.
  • Alternator: the charging voltage can be ECU-controlled with a low-side signal from any spare output. See alternator control.

Injector data

Two numbers make or break the fuel model:

  • Flow rate is measured with the injector held fully open. If the fuel system uses a fixed regulator that isn't referenced to manifold pressure (common on returnless setups), the effective flow changes with boost and vacuum, so map flow against manifold pressure.
  • Dead time is the part of each pulse where the injector isn't flowing fully. It includes the delay to open, the delay to close, and the ramps in between. Get it wrong and idle and light-load fueling never settle. Our injector dead time article explains it in more detail.

Factory ECU and base maps

The factory ECU is in the engine bay. If you need the factory pinout to build or check a harness, ask us and we'll send it over with advice for your build.

Base maps exist for use with Haltech's Elite adaptor harnesses, and you import them into the ECU rather than opening them as a new file. A base map only gets the car started. Every M16A still needs to be tuned on its own fuel, cams and exhaust. Our base map basics article covers what to expect.

M16A FAQ

Can I run an M16A on an Elite 750?

Not as a supported combination. Haltech only lists the M16A for the Elite 1500 and 2500, so that is where we start.

Will my ZC32S dash and ABS work?

CAN support is only confirmed on the ZC31S. The ZC32S hasn't been tested, so talk to us before you commit.

Do I need a wideband?

For anything beyond a basic start-up, yes. Narrowbands only tell you rich or lean near stoichiometric, which isn't enough to tune power or boost safely.