Why the version matters before you buy anything
The 1UZ-FE, 2UZ-FE and 3UZ-FE share a firing order and a basic layout, but trigger patterns, idle control, throttle type and injection all changed over the years. Pin down exactly which engine you have first. It decides which ECU makes sense and how the trigger gets configured.
| Engine | Key traits | Crank / cam pattern | Found in |
|---|---|---|---|
| 1UZ-FE, 1989-1995 | 4.0L (242 ci) alloy block, 10.0:1 | 12 tooth / 1 tooth | Soarer SC400, Aristo GS400, Celsior LS400, Crown |
| 1UZ-FE, 1995-1997 | Compression raised to 10.4:1 | 12 tooth / 1 tooth | Same family of cars |
| 1UZ-FE VVT-i, 1998 on | 10.5:1, continuously variable intake cams | 36-2 / 3 tooth | Later versions of the 1UZ cars |
| 2UZ-FE, 1998-2005 | 4.7L (284 ci) iron block | 36-2 / 3 tooth | Land Cruiser, 4Runner, Tundra, Sequoia, GX470, LX470 |
| 2UZ-FE VVT-i, 2004 on | Variable intake cams, electronic throttle | 36-2 / 3 tooth | Later versions of the trucks above |
| 3UZ-FE VVT-i | 4.3L (262 ci) alloy block, variable intake cams | 36-2 / 3 tooth | LS430, GS430, SC430, Crown Majesta |
All of them are V8s firing 1-8-4-3-6-5-7-2. Toyota puts the odd cylinders (1, 3, 5 and 7) on the left bank as viewed from the driver's seat. Keep that in mind when you label coil and injector wiring, because getting a bank backwards is the most common first-start headache on these swaps.
Picking a Haltech ECU
Any Haltech ECU can run a UZ, so the decision comes down to which factory features you want to keep:
- Keeping the stock idle valve on a cable-throttle engine? That valve is a stepper motor, and it needs an Elite 1000 or higher. The Elite 550, 750 and 950 can't drive it.
- Converting an early engine to sequential injection? Haltech lists the Elite 950, 2000 and 2500 for that job.
- Running a later drive-by-wire engine? Choose a model with DBW control, such as the Elite 2500.
If you're unsure, a free 30-minute consultation with us will usually settle it in five minutes once we know the engine, the transmission and the power goal.
Crank and cam triggers
Every UZ uses a reluctor crank sensor plus one reluctor cam sensor per bank. What differs is the tooth count. Early 1UZ engines have a 12 tooth crank wheel and a single tooth on the back of each cam pulley, with the cam sensors tucked under the cam drive pulleys. VVT-i 1UZ engines and every 2UZ and 3UZ switched to a 36-2 crank wheel and three teeth on the cam pulley backing plate. The sensors sit in the same places, so a quick look at the crank wheel usually tells you which setup you're dealing with.
These trigger configurations are published as screenshots. Need them? Ask us and we'll send them over with advice for your build. When you set up a new engine, always check timing with a light before any load goes on it. Our 2JZ VVT-i trigger article covers the same kind of Toyota reluctor setup if you want more background.
Ignition
Early 1UZ engines fire through twin distributors. They have no advance weights or vacuum can, so the ECU controls all the timing and each distributor simply routes the spark to its bank. Those engines use two coils and two igniters, and both igniters wire the same way. Later direct-fire engines have a coil on each plug with the igniter built in, so each coil takes an ECU ignition output directly.
On every variant, set the ignition outputs to Constant Charge with a Falling edge. Haltech publishes separate dwell tables for the distributor and coil-on-plug versions. Start with the one that suits your engine, then check for a clean spark and no hot coils before chasing more dwell.
Throttle: cable, full DBW and ETCS-i
This is where some swaps hit a wall. Haltech supports the cable-throttle engines and the full drive-by-wire engines with no throttle cable at all. The in-between ETCS-i system, which keeps a cable but adds electronic control, is not supported. If your engine has it, plan on a cable or full DBW throttle body. Every UZ uses a single throttle body.
Cable-throttle position sensor
The early four-pin sensor gives you 5V on pin A, the position signal on pin B (to a spare AVI) and sensor ground on pin D. Pin C is the old closed-throttle switch, and the Haltech doesn't use it.
Full DBW throttle body and pedal
| Part | Pin | Job | Wire it to |
|---|---|---|---|
| Throttle body | Pin 4 | Main position track (TPS1) | AVI2 |
| Throttle body | Pin 2 | Second position track (TPS2) | AVI3 |
| Throttle body | Pins 1 and 5 | Sensor supply and return | 5V+ on pin 1, Signal Ground on pin 5 |
| Throttle motor | Pins 3 and 6 | Motor drive | DBW1 on pin 3, DBW2 on pin 6 |
| Pedal | Pin 5 | Pedal track one (APP1) | AVI4 |
| Pedal | Pin 2 | Pedal track two (APP2) | AVI5 |
| Pedal | Pins 4 and 6 | Supply for each track | 5V+ |
| Pedal | Pins 1 and 3 | Return for each track | Signal Ground |
After wiring, run the calibration in the Drive By Wire function and confirm both tracks agree across the full pedal travel.
Idle control on cable-throttle engines
The early engines idle on a six-pin stepper motor valve driven from the ECU's stepper outputs. The coils land on A (Stepper 4), C (Stepper 3), D (Stepper 1) and F (Stepper 2). Pins B and E can either take switched 12V or be left empty, and that choice sets the drive type: Low Side if you feed them 12V, Both if you don't. Haltech's settings for this valve are 240 steps at a speed of 75.
Sensors
MAP
No UZ came with a MAP sensor. The ECU's internal sensor works for naturally aspirated and mild boost builds. For higher boost, fit an external sensor such as the 5 Bar TI MAP sensor on a spare AVI.
Coolant temperature
You'll find it near the right-hand distributor. It's a two-wire sensor and polarity doesn't matter: one wire to a spare AVI, the other to signal ground. Use an AVI with a selectable pullup, or add a 1k resistor from the signal to 5V if the input doesn't have one, and pick the matching temperature calibration in the software.
Air temperature
The factory intake air sensor lives inside the MAF. Most Haltech installs delete the MAF, so you'll need a separate air temperature sensor in the intake, ideally in the plenum near where the MAP sensor takes its vacuum. Haltech's calibration for its GM-style air sensor is Temperature - GM Air Sensor.cal.
Knock
The factory sensors are older single-wire resonant units in the valley near the starter. They'll work, but modern donut-style sensors are far more dependable. We'd fit the Bosch knock sensor HT-011100 while the intake is off.
Keeping the MAF
If you'd rather keep it, note that early 1UZ MAFs put out a frequency, not a 0-5V signal, so the MAF signal (pin 3) needs an SPI or DPI. Pin 2 is the air temperature signal to an AVI, pin 4 is 5V, and pins 1 and 5 are grounds. On the 2UZ MAF, pin 1 takes 12V, pin 3 is the MAF signal to an SPI or DPI, pin 4 is air temperature to an AVI, and pins 2 and 5 go to signal ground.
Vehicle speed
The speed sensor is a reluctor: positive to any spare SPI and negative to signal ground.
O2 sensors and heaters
A UZ has four four-wire narrowband sensors. They exist mainly so the factory ECU can watch catalytic converter efficiency, and they're no use for tuning under load. On each one, black is the signal (AVI1 or AVI6), grey goes to signal ground, one white wire takes switched 12V and the other white is the heater ground.
That heater ground can go straight to chassis ground, or you can let the ECU pulse it from a spare injector or stepper output, like the factory ECU did. Heaters are commonly 12W or 18W. On an 18W sensor, keep duty to roughly 50% or less so you don't overload the output. For post-cat sensors, hold off on heating until the engine is fully warm, because water in a cold exhaust can crack a hot heater element. The O2 heater function handles this.
Put a WB2 dual-channel wideband kit on it and swap its LSU 4.9 sensors in place of the two pre-cat narrowbands. You get a real air-fuel reading for each bank. The sensors only come out from under the car, and you'll need a 22mm socket or wrench.
Injectors and fuel
The early 1UZ ECU has only four injector drivers, so the factory harness pairs injectors 1+7, 2+8, 3+5 and 4+6 and fires them semi-sequentially. VVT-i 1UZ engines and every 2UZ and 3UZ are fully sequential from the factory. The early engines use injectors of about 240 cc/min.
Two things matter when you enter injector data. First, flow is rated at 100% duty. If the fuel system uses a fixed-pressure regulator that isn't referenced to manifold pressure, which is typical of returnless systems, map flow against manifold pressure so fueling stays accurate under boost and vacuum. Second, get the dead time right. It covers the delay while the injector opens and closes, plus the ramp where it isn't flowing fully, and bad dead time shows up as poor idle and a lean tip-in.
Variable cam timing
VVT-i engines have Toyota's continuously variable intake cams. The ECU reads cam position from the three-tooth wheels, then pulses each bank's oil control solenoid to move the cam to its target. It only runs closed loop, so there's no open-loop duty that parks the cam at a fixed angle. Set it up in Cam Control.
Factory ECU connectors
Toyota used several ECU connector layouts across the 1UZ, 2UZ and 3UZ, including different ones for the LS400 and the Soarer. There's no Haltech pinout table for these yet, so identify your ECU plugs from a factory wiring diagram before you cut anything, or ask us and we'll help you work through it.
UZ swap FAQ
Can a Haltech run the ETCS-i throttle on my 2UZ?
No. The semi-electronic ETCS-i setup isn't supported. Swap to a cable throttle body or a full drive-by-wire unit with a matching pedal.
Do I need to keep the distributors on an early 1UZ?
They'll work because they only route spark, but many builders go coil-on-plug for reliability. That also means more ignition outputs, so choose the ECU with that in mind.
Can I tune on the factory O2 sensors?
Not under load. Narrowbands only tell you rich or lean near stoichiometric. Fit a wideband before tuning.
Working on another Toyota? See our 2JZ / 1JZ and 2AZ-FE guides.




