The ability to self diagnose and store faults as an extractable code is a great feature of modern engine management systems.
It assists us to trouble shoot what is an increasingly complex system and is especially handy for finding the cause of those intermittent problems that would otherwise drive us insane trying to find.
Despite the 1kz-te being an old school technology engine its engine management is relatively sophisticated (It can be thought of as single point electronic fuel injection)
The codes stored in the ECU can be easily extracted at home and are displayed via the engine check light on the instrument cluster.
The codes can be read by shorting out pin 4 and 13 on the (16 pin) DLC3 connector located under the fuse box on the driver’s side of the dash.
A short piece of wire can be used to short the pins (tin the ends with solder and keep it in your tool kit)
![](http://i191.photobucket.com/albums/z221/mickl_photos/Prado%20point/2Medium-1.jpg)
Steps:
1) Make sure the ignition is OFF, throttle closed, Aircon OFF and if it’s automatic have it in P.
2) Turn the ignition ON but don’t crank or start the engine.
3) Put the jumper wire across the connector pins. (pin 4 and pin 13)
4) Read codes displayed via the engine check light.
5) Disconnect the wire when finished extracting codes and turn the ignition off.
Reading Codes:
Codes are read by the flashing of the “Check Engine” light on the instrument cluster.
![](http://i191.photobucket.com/albums/z221/mickl_photos/Prado%20point/1Medium.jpg)
If there are no codes held in the ECU then the light will have a continuous flash, on for ¼ second, off for ¼ second.
All the codes are two digit numbers. The first flash is 4.5 seconds from when you short the pins. It stays on for ½ a second then off for ½ a second. Then the first digit of the code will flash, followed by a 1.5 second pause then the second digit will flash.
Example:
4x flashes…. 1.5 second pause…2x flashes. Would be code 42.
If there is only one code the there will be a 4.5 second pause before the code will be repeated.
If more codes are present the codes the pause between codes will be 2.5 seconds.
To clear the codes from the memory of the ECU remove the fuse labeled “ECD” from the fuse box in the engine bay. Leave it out for 60 seconds.
(Don’t clear the memory by removing the battery or you will have to reset the clock, radio and windows)
Codes and what sensor/circuit it relates too:
1KZ-TE diagnostic codes:
12 = No RPM signal during cranking.
13 = No RPM signal after cranking and engine reaches 680rpm+
14 = Timing control signal (crankshaft angle 7 deg or more out from target)
15 = Throttle control motor (no signal)
16 = Auto trans control signal
18 = Spill control valve (no signal)
19 = Accel pedal position sensor (no signal)
22 = Coolant temp sensor
24 = Intake air temp sensor.
32 = Correction resistor signal.
33 = Intake constrictor control signal.
35 = Boost pressure sensor.
39 = Fuel temp sensor.
41 = Throttle position sensor.
42 = Vehicle speed sensor.
43 = Starter signal to ECU.
51 = Switch control system
96 = EGR valve lift sensor.
99 = Engine immobilizer.
D4D diagnostic codes:
Extracting ECU trouble codes from D4D powered Prado’s via the engine check light uses exactly the same method as shown for the 1KZ-TE above.
Those of you with a Scan Gauge or similar OBD reader will get codes displayed on the screen of the unit. These codes are in a slightly different format (letter “P” followed by a four digit number).
D4D engine management fault codes:
The first code is that shown via an OBD reader, the second code shown (in brackets) is shown via the engine check light.
P0045 (34) - Boost control solenoid circuit malfunction
P0087 (49) - Fuel rail pressure sensor or rail pressure too low.
P0088 (49) - Fuel rail pressure too high.
P0093 (78) - Fuel system leak (Large leak)
P0095 (23) - Intake air temperature sensor circuit (open/short/failure)
P0097 (23) - Intake air temp circuit low input.
P0098 (23) - Intake temperature sensor circuit high input.
P0100 (31) - Mass air flow meter or circuit (open/short/failure)
P0102 (31) - Air flow meter circuit low input.
P0103 (31) - Air flow meter circuit high input.
P0105 (31) - Manifold absolute pressure sensor circuit (short/open/failure)
P0107 (31) - Manifold absolute pressure sensor circuit low input.
P0108 (31) - Manifold absolute pressure sensor circuit high input.
P0110 (24) - Intake air temperature circuit (open/short/failure)
P0112 (24) - Intake air temperature circuit low input
P0113 (24) - Intake air temperature circuit high input.
P0115 (22) - Coolant temperature circuit (open/short/failure).
P0117 (22) - Coolant temperature circuit low input.
P0118 (22) - Coolant temperature circuit high input.
P0168 (39) - Fuel temperature too high.
P0180 (39) - Fuel temp sensor “A” (open/short/failure)
P0182 (39) - Fuel temp sensor “A” low input.
P0183 (39) - Fuel temp sensor “A” high input.
P0190 (49) - Fuel rail pressure sensor circuit (open/short/failure)
P0191 (49) - Fuel rail pressure sensor circuit performance/range
P0192 (49) - Fuel rail pressure sensor circuit input low.
P0193 (49) - Fuel rail pressure sensor circuit high input.
P0200 (97) - Injector circuit (open/short/failure)
P0234 (34) - Turbo over boost condition.
P0299 (34) - Turbo under boost condition.
P0335 (12,13) - Crankshaft position sensor circuit “A” (open/short/failure).
P0339 (13) - Crankshaft position sensor circuit “A” intermittent fault.
P0340 (12) - Crankshaft position sensor circuit “A” no signal after cranking.
P0400 (71) - EGR position sensor (valve out of position)
P0405 (96) - EGR position sensor low input.
P0406 (96) - EGR position sensor high input.
P0488 (15) - EGR throttle position sensor/motor/circuit fault.
P0500 (42) - Vehicle speed sensor “A” (open/short/failure)
P0504 (51) - Brake switch.
P0607 (89) - Control module fault (ECM internal fault)
P0627 (78) - Fuel pump control circuit (open/short/failure)
P1229 (78) - Fuel pump fail.
P1251 (34) - Turbocharger stepper motor circuit (intermittent fault)
P1271 - Fuel regulator circuit malfunction. (open/short/failure)
P1272 - Fuel pressure regulator malfunction (simultaneously with P1271)
P1601 (89) - Injector correction circuit (E-prom)
P1611 (17) - ECM run pulse.
P2008 (58) - Intake manifold runner control circuit (open/short/failure)
P2120 (19) - Throttle/pedal position sensor “D” (open/short/fail)
P2121 (19) - Throttle/pedal position sensor “D” (range/performance)
P2122 (19) - Throttle/pedal position sensor “D” low input.
P2123 (19) - Throttle/pedal position sensor “D” input high.
P2125 (19) - Throttle/pedal position sensor “E” (open/short/fail)
P2127 (19) - Throttle/pedal position sensor “E” low input.
P2128 (19) - Throttle/pedal position sensor “E” high input.
P2138 (19) - Throttle/pedal position sensor “D” and “E” voltage correlation.
P2226 (105) - ECM barometric pressure circuit.
P2228 (105) - ECM barometric pressure circuit low input.
P2229 (105) - ECM barometric pressure circuit high input.
U0001 (102) - ECM open or short.
B2799 (99) - Engine immobilizer malfunction.
Mick
It assists us to trouble shoot what is an increasingly complex system and is especially handy for finding the cause of those intermittent problems that would otherwise drive us insane trying to find.
Despite the 1kz-te being an old school technology engine its engine management is relatively sophisticated (It can be thought of as single point electronic fuel injection)
The codes stored in the ECU can be easily extracted at home and are displayed via the engine check light on the instrument cluster.
The codes can be read by shorting out pin 4 and 13 on the (16 pin) DLC3 connector located under the fuse box on the driver’s side of the dash.
A short piece of wire can be used to short the pins (tin the ends with solder and keep it in your tool kit)
![](http://i191.photobucket.com/albums/z221/mickl_photos/Prado%20point/2Medium-1.jpg)
Steps:
1) Make sure the ignition is OFF, throttle closed, Aircon OFF and if it’s automatic have it in P.
2) Turn the ignition ON but don’t crank or start the engine.
3) Put the jumper wire across the connector pins. (pin 4 and pin 13)
4) Read codes displayed via the engine check light.
5) Disconnect the wire when finished extracting codes and turn the ignition off.
Reading Codes:
Codes are read by the flashing of the “Check Engine” light on the instrument cluster.
![](http://i191.photobucket.com/albums/z221/mickl_photos/Prado%20point/1Medium.jpg)
If there are no codes held in the ECU then the light will have a continuous flash, on for ¼ second, off for ¼ second.
All the codes are two digit numbers. The first flash is 4.5 seconds from when you short the pins. It stays on for ½ a second then off for ½ a second. Then the first digit of the code will flash, followed by a 1.5 second pause then the second digit will flash.
Example:
4x flashes…. 1.5 second pause…2x flashes. Would be code 42.
If there is only one code the there will be a 4.5 second pause before the code will be repeated.
If more codes are present the codes the pause between codes will be 2.5 seconds.
To clear the codes from the memory of the ECU remove the fuse labeled “ECD” from the fuse box in the engine bay. Leave it out for 60 seconds.
(Don’t clear the memory by removing the battery or you will have to reset the clock, radio and windows)
Codes and what sensor/circuit it relates too:
1KZ-TE diagnostic codes:
12 = No RPM signal during cranking.
13 = No RPM signal after cranking and engine reaches 680rpm+
14 = Timing control signal (crankshaft angle 7 deg or more out from target)
15 = Throttle control motor (no signal)
16 = Auto trans control signal
18 = Spill control valve (no signal)
19 = Accel pedal position sensor (no signal)
22 = Coolant temp sensor
24 = Intake air temp sensor.
32 = Correction resistor signal.
33 = Intake constrictor control signal.
35 = Boost pressure sensor.
39 = Fuel temp sensor.
41 = Throttle position sensor.
42 = Vehicle speed sensor.
43 = Starter signal to ECU.
51 = Switch control system
96 = EGR valve lift sensor.
99 = Engine immobilizer.
D4D diagnostic codes:
Extracting ECU trouble codes from D4D powered Prado’s via the engine check light uses exactly the same method as shown for the 1KZ-TE above.
Those of you with a Scan Gauge or similar OBD reader will get codes displayed on the screen of the unit. These codes are in a slightly different format (letter “P” followed by a four digit number).
D4D engine management fault codes:
The first code is that shown via an OBD reader, the second code shown (in brackets) is shown via the engine check light.
P0045 (34) - Boost control solenoid circuit malfunction
P0087 (49) - Fuel rail pressure sensor or rail pressure too low.
P0088 (49) - Fuel rail pressure too high.
P0093 (78) - Fuel system leak (Large leak)
P0095 (23) - Intake air temperature sensor circuit (open/short/failure)
P0097 (23) - Intake air temp circuit low input.
P0098 (23) - Intake temperature sensor circuit high input.
P0100 (31) - Mass air flow meter or circuit (open/short/failure)
P0102 (31) - Air flow meter circuit low input.
P0103 (31) - Air flow meter circuit high input.
P0105 (31) - Manifold absolute pressure sensor circuit (short/open/failure)
P0107 (31) - Manifold absolute pressure sensor circuit low input.
P0108 (31) - Manifold absolute pressure sensor circuit high input.
P0110 (24) - Intake air temperature circuit (open/short/failure)
P0112 (24) - Intake air temperature circuit low input
P0113 (24) - Intake air temperature circuit high input.
P0115 (22) - Coolant temperature circuit (open/short/failure).
P0117 (22) - Coolant temperature circuit low input.
P0118 (22) - Coolant temperature circuit high input.
P0168 (39) - Fuel temperature too high.
P0180 (39) - Fuel temp sensor “A” (open/short/failure)
P0182 (39) - Fuel temp sensor “A” low input.
P0183 (39) - Fuel temp sensor “A” high input.
P0190 (49) - Fuel rail pressure sensor circuit (open/short/failure)
P0191 (49) - Fuel rail pressure sensor circuit performance/range
P0192 (49) - Fuel rail pressure sensor circuit input low.
P0193 (49) - Fuel rail pressure sensor circuit high input.
P0200 (97) - Injector circuit (open/short/failure)
P0234 (34) - Turbo over boost condition.
P0299 (34) - Turbo under boost condition.
P0335 (12,13) - Crankshaft position sensor circuit “A” (open/short/failure).
P0339 (13) - Crankshaft position sensor circuit “A” intermittent fault.
P0340 (12) - Crankshaft position sensor circuit “A” no signal after cranking.
P0400 (71) - EGR position sensor (valve out of position)
P0405 (96) - EGR position sensor low input.
P0406 (96) - EGR position sensor high input.
P0488 (15) - EGR throttle position sensor/motor/circuit fault.
P0500 (42) - Vehicle speed sensor “A” (open/short/failure)
P0504 (51) - Brake switch.
P0607 (89) - Control module fault (ECM internal fault)
P0627 (78) - Fuel pump control circuit (open/short/failure)
P1229 (78) - Fuel pump fail.
P1251 (34) - Turbocharger stepper motor circuit (intermittent fault)
P1271 - Fuel regulator circuit malfunction. (open/short/failure)
P1272 - Fuel pressure regulator malfunction (simultaneously with P1271)
P1601 (89) - Injector correction circuit (E-prom)
P1611 (17) - ECM run pulse.
P2008 (58) - Intake manifold runner control circuit (open/short/failure)
P2120 (19) - Throttle/pedal position sensor “D” (open/short/fail)
P2121 (19) - Throttle/pedal position sensor “D” (range/performance)
P2122 (19) - Throttle/pedal position sensor “D” low input.
P2123 (19) - Throttle/pedal position sensor “D” input high.
P2125 (19) - Throttle/pedal position sensor “E” (open/short/fail)
P2127 (19) - Throttle/pedal position sensor “E” low input.
P2128 (19) - Throttle/pedal position sensor “E” high input.
P2138 (19) - Throttle/pedal position sensor “D” and “E” voltage correlation.
P2226 (105) - ECM barometric pressure circuit.
P2228 (105) - ECM barometric pressure circuit low input.
P2229 (105) - ECM barometric pressure circuit high input.
U0001 (102) - ECM open or short.
B2799 (99) - Engine immobilizer malfunction.
Mick
Comment