Reading Trouble Codes
NOTE:
Trouble codes retrieved from ECM/PCM/VCM may be related to either engine or transmission. For engine-related codes, use this article. For transmission-related codes, see appropriate G - ELECTRONIC TRANSMISSION TESTS W/ CODES article in the ENGINE PERFORMANCE section below. To identify whether codes relate to transmission or engine, see TROUBLE CODE IDENTIFICATION table.
The ECM stores component failure information under a related trouble code which can be recalled for diagnosis and repair. Read trouble codes by counting Malfunction Indicator Light (MIL) flashes or with diagnostic scan tester connected to the Data Link Connector (DLC). The tester is faster, and capable of reading information which would require testing individual ECM and sensor/solenoid connector terminals with a digital voltmeter. See SCAN TESTER DATA table and SCAN TESTER USAGE.
NOTE:
When using a scan tester, there is a time delay between serial data updates. For instantaneous response, a digital voltmeter must be used.
If scan tester is not available, MIL flashes can be read by grounding DLC terminal with ignition on and engine off. For example, FLASH, FLASH, pause, FLASH, longer pause, indicates Code 21. The first series of flashes are the first digit of trouble code. The second series of flashes are the second digit of trouble code. Trouble codes are displayed starting with the lowest code. Each code is displayed 3 times and will continue as long as DLC is grounded.
NOTE:
Trouble codes will be recorded at various operating times. Some codes require sensor or switch operation for 5 seconds and others may require longer under certain conditions. Some codes may not set in a service bay operational mode.
TROUBLE CODE IDENTIFICATION
| Code |
Probable Cause |
| 12 |
No Engine Speed Sensor Reference Pulse |
| 13 |
Open Oxygen Sensor Circuit |
| 14 |
CTS Voltage Low (Sensor Or Signal Line Grounded) |
| 15 |
CTS Voltage High (Sensor Or Signal Line Open) |
| 21 |
TP Sensor Voltage High Open Circuit Or Misadjusted TP Sensor) |
| 22 |
TP Sensor Voltage Low (Circuit Grounded) |
| 23 |
Intake Air Temperature Low |
| 24 |
Vehicle Speed Sensor Circuit |
| 25 |
Intake Air Temperature Sensor Voltage Low |
| 28 |
Transmission Range Pressure Switch |
| 32 |
EGR Circuit |
| 33 |
MAP Voltage High (Circuit Open Or Short To Voltage) |
| 34 |
MAP Voltage Low (Circuit Open Or Short To Ground) |
| 35 |
IAC System Fault |
| 36 |
Idle Speed Control Actuator "C", "K" & "P" Series A/T |
| 37 |
Brake Switch Stuck Off (4L60E/4L80E) |
| 38 |
Brake Switch Stuck Off (4L60E/4L80E) |
| 39 |
TCC Stuck Off |
| 42 |
EST Circuit Fault |
| 43 |
Knock Sensor Circuit Fault |
| 44 |
Lean Exhaust Indicated |
| 45 |
Rich Exhaust Indicated |
| 51 |
PROM Error (Faulty/Incorrect PROM) |
| 52 |
Long System Voltage High (4L60E/4L80E) |
| 52 |
PROM/CALPAC Error (Faulty/Incorrect PROM/CALPAC) |
| 53 |
System Voltage High (Charging System Problem) |
| 54 |
Fuel Pump Circuit Voltage Low |
| 55 |
ECM/PCM/VCM Error |
| 58 |
TFT Sensor Circuit Low |
| 59 |
TFT Sensor Circuit High |
| 66 |
3-2 Control Solenoid Fault (4L60E) |
| 67 |
TCC Solenoid Circuit Fault (4L60E) |
| 68 |
Overdrive Ratio Error Engine RPM Greater Than Input Speed) |
| 69 |
Torque Converter Stuck On (4L60E/4L80E) |
| 72 |
VSS Signal Loss (4L60E/4L80E) |
| 73 |
Force Motor (Pressure Control Solenoid) Error |
| 75 |
System Voltage Low (Charging System Problem) |
| 79 |
Transmission Fluid Temperature High (4L60E/4L80E) |
| 81 |
2-3 Shift Solenoid Circuit Fault (4L60E/4L80E) |
| 82 |
1-2 Shift Solenoid Circuit Fault (4L60E/4L80E) |
| 83 |
QDM TCC Solenoid Circuit Fault (4L80E) |
| 85 |
Undefined Gear Ratio (4L80E) |
| 86 |
Low Gear Ratio (4L80E) |
| 87 |
High Gear Ratio (4L80E) |
NOTE:
Trouble code charts should only be used if Malfunction Indicator Light (MIL) is illuminated (indicating a current problem exists). Exceptions are Code 13, 15, 24, 44 and 45 charts, which may be used to help diagnose intermittent codes. Anytime Code 51, 52 or 55 is displayed with another code, start with 50-series code first and proceed to lower numbered codes.