2AZ-FE Engine

Technical Library › Engine Information › ToyotaUpdated Sep 2026

The 2AZ-FE is a tough 2.4L Toyota four that's popular in swaps and budget turbo builds. It's a modern engine, with drive-by-wire, variable intake cam timing and a CAN-connected car around it, so ECU choice and wiring details matter. Here's how we set one up on a Haltech Elite.

Check your variant first

Toyota's AZ family includes several engines Haltech can't run. The FSE engines use direct injection, and the FXE is a hybrid Atkinson-cycle engine. None of them are supported, so confirm the code on the block before you buy parts.

EngineWhat's differentHaltech support
1AZ-FE2.0L (1998cc), 9.6:1, continuously variable intake cam, drive-by-wireYes
2AZ-FE (early)2.4L (2362cc, about 144 ci), 9.6:1Yes
2AZ-FE (late)9.8:1, intake cam with more lift and duration, piston oil squirtersYes
1AZ-FSE / 2AZ-FSE11.0:1, D4 direct injectionNo
2AZ-FXE12.5:1 Atkinson cycle hybrid engine with its own pistons and intake camNo

The supported engines are inline fours firing 1-3-4-2.

Which Haltech ECU?

Haltech recommends the Elite 1500 or Elite 2500. Both handle the drive-by-wire throttle and the variable intake cam, which this engine can't do without. Choose the 2500 if you're planning extra outputs for things like boost control, fans and pumps on top of the basics.

About the factory CAN network

In the donor car, the engine ECU talks over CAN to the dash, ABS and body control modules. The Elite doesn't speak that network. That's rarely a problem in a swap, but if you're putting a Haltech into the original car, plan for how you'll run the cluster and anything else that expects to hear from the factory ECU.

Crank and cam sensors

The crank wheel sits behind the front pulley and uses a 36-2 pattern, with 36 tooth positions and two missing to mark a reference point. The cam wheel is at the end of the intake cam and has three teeth. Both sensors are two-wire reluctors, and unlike most Toyota harnesses, each has its own ground run all the way back to the ECU. That makes wiring them into Haltech's shielded cables tidy:

Sensor wireGoes to
Crank pin 1 (red, positive)Trigger+ (yellow in the Trigger 4-core)
Crank pin 2 (white, negative)Trigger- (green in the Trigger 4-core)
Cam pin 1 (positive)Home+ (yellow in the Home 4-core)
Cam pin 2 (negative)Home- (green in the Home 4-core)

If the ECU sees the trigger backwards, it will usually still count teeth but show erratic timing. Swapping a reluctor's two wires is the first fix to try. Want Haltech's pictures of the crank and cam wheels for reference? Ask us and we'll send them over.

Ignition coils

Each coil has its igniter built in, so the ECU drives them directly. On each coil, pin 3 is the only wire that goes to the Haltech, and it connects to that cylinder's ignition output. Pin 1 takes switched 12V and pin 4 grounds to the cylinder head. Pin 2 is IGF, the factory ignition confirmation signal, and you can leave it disconnected. Haltech has a suggested dwell table for these coils. Use it as your starting point.

Drive-by-wire throttle and pedal

This engine uses a single electronic throttle body with no cable. Match Haltech's wire colors and it's a very straightforward job:

WherePinFunctionHaltech wire
Throttle2Motor positiveDBW-1 (brown/black)
Throttle1Motor negativeDBW-2 (brown/red)
Throttle4Position signalAVI-2 (orange/black)
Throttle6Second position signal (TPS2)AVI-3 (orange/red)
Throttle5 and 3Sensor supply and ground5V+ (orange) and Signal Ground (black/white)
Pedal6Pedal track one (APP1)AVI-4 (orange/yellow)
Pedal3Pedal track two (APP2)AVI-5 (orange/green)
Pedal1 and 4Supply for each track5V+ (orange)
Pedal2 and 5Ground for each trackSignal Ground (black/white)

Idle speed is also controlled through the throttle blade, so there's no separate idle valve. Once it's wired, calibrate in the Drive By Wire function. If the throttle faults or won't move, How To Diagnose DBW Issues is the checklist we use.

Variable intake cam

The intake cam timing on these engines is continuously variable, and the Elite supports it fully. It reads the three-tooth cam wheel and drives the oil control solenoid to hit the target angle you set. Set it up in Cam Control, and log cam angle against target before you tune fuel and timing around it.

Sensors

MAP

There isn't one from the factory. On a naturally aspirated or low-boost engine, the Elite's internal sensor does the job. For serious boost, fit an external sensor on a spare AVI, such as the 4 Bar Motorsport MAP sensor.

Coolant temperature

This sensor has two wires, and either way round works. One goes to a spare AVI and the other to signal ground. Pick an AVI with a switchable pullup, or add a 1k resistor to 5V if it doesn't have one.

Air temperature

The factory air temperature sensor is part of the MAF housing. Delete the MAF and you'll need a separate sensor in the intake, placed as close as you can to where the MAP sensor draws its vacuum. The Haltech HT-010206 air temp sensor suits this. It wires like the coolant sensor, with one wire to a pulled-up AVI, the other to signal ground, and polarity doesn't matter.

Knock

The factory sensor is a non-resonant (broadband) type, and it works with the Elite 1000, 1500, 2000 and 2500. Pin 1 is the knock signal and pin 2 goes to signal ground.

MAF, if you keep it

Most people delete it, but it can stay. The MAF signal on pin 5 goes to a spare AVI, and pin 4 is its ground. The air temperature signal is on pin 1 (AVI-7, grey, in the Haltech harness), with its ground on pin 2. Pin 3 is the switched 12V feed.

O2 sensors: add a wideband

The factory narrowband sensors can help with light-load cruise tuning around lambda 1.0, but they can't tell you anything useful under power. We fit a WB1 wideband kit, with its LSU 4.9 sensor replacing the pre-cat narrowband. A 22mm socket or wrench gets the old one out.

Alternator

This engine's alternator needs a control signal from the ECU to set charging voltage. Without it, the battery won't charge properly. Assign an output and configure Alternator Control as part of the install, not as an afterthought.

Injector data

Factory injectors flow roughly 370 cc/min. That rating is measured with the injector held fully open. If the car keeps a returnless fuel system with a regulator that isn't referenced to manifold pressure, the pressure across the injector changes with load, so you need to map flow against manifold pressure to keep fueling accurate.

Dead time needs the same care. It's the part of each commanded pulse where the injector is still opening or closing and not flowing fully. Wrong dead time throws off idle and small pulse widths more than anything else.

Factory ECU

The factory ECU sits in the engine bay above the transmission. Haltech's pinout drawings for it are image-only. If you're building a harness from the factory loom, ask us and we'll send the pinouts along with advice for your install.

2AZ FAQ

Can I turbo a 2AZ-FE on a Haltech?

Yes. Add an external MAP sensor sized for your boost target, an air temperature sensor after the intercooler and a wideband. Then size injectors for the power goal, because the factory ones are small.

Will the Haltech run my 2AZ-FSE?

No. The FSE is direct injection, and it isn't supported. The same goes for the hybrid 2AZ-FXE.

Does the 2AZ need an idle valve?

No. The drive-by-wire throttle handles idle air, so idle control is set up in the DBW and idle functions.

Doing a bigger Toyota swap? Our 1UZ-FE guide covers the V8.