Honda K Series Engine

Technical Library › Engine Information › HondaUpdated Sep 2026

The K-series is one of the friendliest engines to put on a Haltech: Hall effect triggers, smart coils and a clean sensor package. Here is everything we check when we wire and configure a K20 or K24, from the trigger settings to the cam control outputs.

What you're working with

Honda's K-series arrived in 2001 and quickly became the default four-cylinder swap. For ECU purposes it's a straightforward engine: twin overhead cams on roller rockers, one coil sitting on top of each plug with no distributor, and a crank sensor plus two cam sensors that are all Hall effect. That combination is why it runs so well on a standalone. The ECU gets clean square-wave trigger signals and fires each coil directly.

The notes below cover the K20A and K24A found in the DC5 Integra/RSX and EP3 Civic, plus the K20Z1. Other K variants share most of this, but always confirm connector colors and pin order on your own engine before powering anything up.

Which Haltech ECU for a K-series?

It comes down to the chassis and whether you need drive by wire:

Running a Nexus instead? See our notes on the Nexus plug-in ECU for EP3 and DC5.

Base settings at a glance

These are the values Haltech uses for the K20 in the Elite software. The K20 base maps that install with ESP already contain the trigger setup, so treat this as a checklist to confirm rather than something to type in from scratch.

ESP settingK20 / K24 valueWhy it matters
Cylinders / capacity4, 1998cc (2.0L) or 2354cc (2.4L)Feeds the fuel model
Firing order1-3-4-2Wrong order means sequential fuel and coils land on the wrong cylinder
Injection modeSequential, 4 injectorsOne injector per cylinder, timed to its own intake stroke
Stock injector size / current310cc, HighStarting point only, change it the moment you change injectors
Ignition mode / edge / dwellDirect Fire, Falling, Constant ChargeMust match the smart coils or you risk the coils and the ECU
Trigger pattern12+1 crank, 4+1 on the exhaust cam for home. ESP pattern: Honda K20Lets the ECU know crank angle and which stroke it's on
TDC angle311Confirm with a timing light before tuning
Trigger and home sensorsHall, Falling edge, filter 0, Strong pullupBoth cam and crank are Hall effect
Home min RPM1000Leave at the base map value unless you have a reason to change it
Quick StartEnabledAimed at getting the engine firing quickly on the first crank

Even with a base map loaded, we always check ignition timing with a light before any real load goes through the engine.

Trigger sensors and wiring

The crank wheel carries 12 evenly spaced teeth with one extra tooth that gives the ECU its crank reference. Each cam has its own sensor, and the heads are stamped EX and IN so you can tell them apart. The exhaust cam (4+1 teeth) is the one the ECU uses as its home, or stroke, reference. The intake cam (4 teeth) is only there so the ECU can measure where the variable intake cam actually is.

Crank sensor

Here's the catch: the K20 and K24 crank sensors use the same three functions but in a different pin order, and the connectors are different colors. Don't assume one pinout fits both.

Haltech trigger lead (4-core)K20 sensor pin (blue plug)K24 sensor pin (grey plug)
Trigger +Pin 1Pin 2
Signal GroundPin 2Pin 3
12V+ (switched)Pin 3Pin 1

Cam sensors

Both cam sensors share a layout. Viewed from the back of the plug with the release tab on top, pins run 1, 2, 3 left to right.

PinExhaust cam (home)Intake cam (iVTEC position)
1Green wire, to Home + on the home 4-core leadBlue/White wire, to a spare SPI assigned to Cam Control
2Brown/Yellow, 0V, to Signal GroundBrown/Yellow, 0V, to Signal Ground
3Yellow/Black, 12VYellow/Black, 12V

If you're chasing a no-start or sync error, our guide to checking crank and cam angle sensors walks through what to look for on the trigger scope.

Ignition coils

The factory coils have the igniter built in, so they wire straight to the ECU ignition outputs with no external module. Each coil has three pins: pin 1 is the trigger from an ECU ignition output, pin 2 grounds to the cylinder head, and pin 3 takes switched 12V.

Get this right before cranking

Run these coils as Constant Charge on a Falling edge. The wrong dwell mode or edge can hold the coils on and cook them, and it can take an ECU output with them. Double-check it before the first crank.

Fuel system and injector data

The K20 uses a returnless fuel system whose regulator is not referenced to the intake manifold. Fuel pressure stays roughly constant while manifold pressure swings, so the pressure difference across the injector changes with load. That's why the injector flow should be mapped against injector pressure differential rather than treated as a fixed number. If there's no fuel pressure sensor on the car, the ECU leans on the Base Fuel Pressure setting to work this out, so make sure it's realistic.

Dead time matters just as much. It's the slice of every injection pulse where the injector is waking up or closing and not flowing its full rate. Get it wrong and idle and light cruise will never tune cleanly. Our injector dead time article explains how it's used.

iVTEC and VTEC: two different jobs

People lump them together, but the K-series has two separate systems and Haltech controls them with two separate functions:

  • VTC (the variable part of iVTEC): a phaser on the intake cam that can advance or retard it continuously. Honda only puts it on the intake side. In the ECU this is Cam Control. It needs the intake cam sensor set up as a feedback input plus an output to drive the oil control solenoid.
  • VTEC: an on/off switch between a mild low-rpm cam lobe and a bigger high-rpm lobe. In the ECU this is Cam Control Switched. It only needs an output that can drive high side. On an Elite, use a stepper output for this.

Why bother with either? One fixed cam profile is always a compromise. A cam that breathes well at 8,000 rpm idles poorly and feels soft down low. That lumpy idle on a big-cam V8 is exactly that trade-off. Switching lobes gives you two profiles, and moving the intake cam lets you set valve overlap for each rpm and load point. Better filling means more torque, and more torque at high rpm is more horsepower.

Not every K uses VTEC the same way

The K20A2 (RSX Type S, TSX) uses VTEC for performance, swapping to the big lobe around 5,800 rpm while VTC works all the time. The K20A3 (RSX base, Civic Si, Accord, CR-V, Element) uses an economy-style VTEC instead. At low rpm one intake valve barely opens, and around 2,200 rpm the second valve comes in. Know which one you have before you set the switching point, because the right strategy is completely different.

Throttle, MAP and speed sensors

Sensor5V supplySignalGround
Throttle position (TPS)Pin 3, orangePin 2, to a spare AVI (AVI-10, white)Pin 1, black/white
MAP (on the intake)Pin 1, orangePin 2, to a spare AVI (AVI-9, yellow)Pin 3, black/white

The vehicle speed sensor is Hall effect, and yes, the pin order changed between years:

  • 2002-2004: pin 1 ground, pin 2 12V, pin 3 signal.
  • 2005: pin 1 12V, pin 2 signal, pin 3 ground.

Swapping gearboxes and speedo problems

From the factory, one speed sensor feeds both the gauge cluster and the ECU. Put a DC5 transmission in an EP3, for example, and the new sensor's calibration doesn't match the old cluster, so the speedo reads wrong. The clean fix is to cut the wire running to the speedometer and let the Haltech drive it. Wire the sensor to the ECU, then use the Speedo function on a spare DPO to generate a corrected speed signal for the cluster. The dash then reads correctly whatever gearbox and sensor you run.

Troubleshooting

SymptomUsually
Cranks, no RPM signalK20 pinout used on a K24 crank sensor (or the reverse), or no 12V at the sensor
RPM shown but never syncsHome wired to the intake cam instead of the exhaust cam
Cam Control can't hold a targetIntake cam sensor not assigned to Cam Control, or the solenoid output isn't set up
VTEC never engagesOutput can't drive high side. On an Elite, move it to a stepper output
Fueling drifts with boost or vacuumInjector flow not mapped over pressure differential, or Base Fuel Pressure wrong
Speedo reads wrong after a trans swapCluster still fed directly by the new sensor. Use the ECU Speedo output

K-series FAQ

Can I use the factory coils with a Haltech?

Yes. They have built-in igniters, so they wire directly to the ECU ignition outputs. Just make sure dwell is Constant Charge and the edge is Falling.

Do I need drive by wire on a K swap?

Only if the engine you're using has an electronic throttle and you want to keep it. If so, choose an Elite 1500 or bigger. Cable throttle engines run fine on smaller ECUs.

Where do I get the ECU pinout?

The factory ECU pinout is useful for plug-in and patch-harness work. It's a diagram, so ask us and we'll send it over with advice for your build. For a deeper background read, see what's so special about Honda's K-series, or compare the older B-series and F20C notes.

Planning a K swap and want a second opinion on parts? Book a free 30-minute consultation.