General
Motors Trouble Codes
Introduction:
GM (Buick, Cadillac, Chevrolet,
GMC, Pontiac, and Oldsmobile) OBD-I equipped vehicles are some of the easiest
cars and trucks to pull codes from. You'll need nothing more than a paper clip
as a diagnostic tool. This page is divided into general information that's
relevant to all GM's of this era, and specific code listings for various
platforms.
|
OBD-I
vs OBD-II: |
As was mentioned in the Trouble
Code Project introduction, all vehicles made and sold after January 1, 1996,
had to be compliant to the new OBD-II standard. Because this was incorporated
as a running change, there are some GM vehicles built in 1994-1995 that have an
OBD-II style connector, but still use the OBD-I system. To determine if a
changeover-year vehicle is OBD-I or OBD-II, look under the hood on the
emissions information stickers.
|
The
ALDL: |
OBD-I equipped GM's (with the
exceptions listed above) have a connector known as the Assembly Line Data Link,
which in addition to being used to retrieve trouble codes can also be connected
to a scan tool or a laptop computer using a special interface cable. Some relay
functions can also be triggered for testing using the ALDL. The connector is
usually located under the dashboard and may have a plastic cap covering the
terminals. It has two rows of female terminals with six per row. Here's how
they're laid out:
F |
E |
D |
C |
B |
A |
G |
H |
|
|
|
M |
A - Ground
B -
Diagnostic Terminal (Engine)
C - A.I.R.
D - Check
Engine Lamp
E - Serial
Data
F - Torque
Converter Lockup
G - Fuel
Pump
H -
Diagnostic Terminal (Anti-Lock Brakes)
M - Serial
Data
The oddball vehicles with the
OBD-II type connector (shown below) and OBD-I electronics can retrieve codes by
connecting the #5 and #6 terminals.
OBD-II connector
|
Code
Retrieval: |
With the engine off, connect the
A and B terminals (or the #5 and #6 terminals in the case of an OBD-I vehicle
with the 16 pin OBD-II style connector) with your trusty paper clip. WITHOUT
STARTING THE ENGINE, turn the key to the 'run' position and watch the
"check engine" light. All GM codes are 2 digit,
and each code will repeat three times before moving on to the next stored code.
The format is "first digit, short pause, second digit, long pause",
and the fact that each code is repeated three times makes it easy to figure
out. The first and last code you'll get is "12", which indicates that
the computer is in diagnostic mode. If you only get code 12, there are
no faults stored in the system.
|
Resetting
the ECU: |
Once you've pulled codes and
made any fixes, you can clear the codes and reset the ECU by removing the power
to the computer for at least 30 seconds. You can do this by either
disconnecting the positive battery terminal (but be sure you have the
instructions and codes for resetting your radio's anti-theft code and your
remote entry system, if so equipped) or by pulling the ECM fuse(s).
Once the computer has been
reset, you'll need to drive the vehicle at part throttle under moderate
acceleration, and allow it to come up to normal operating temperature to allow
the system to relearn its base settings.
Code Definitions:
|
General
Trouble Codes |
Code |
Definition |
12 |
Normal
Operation |
13 |
Oxygen Sensor
Circuit (open) |
14 |
Coolant Sensor
(Low Voltage) |
15 |
Coolant Sensor
(High Voltage) |
16 |
System Voltage
High |
17 |
RPM Signal
Error (3.8l C-body only) |
21 |
Throttle
Position Sensor (Low Voltage) |
22 |
Throttle
Position Sensor (High Voltage) |
23 |
Manifold Air
Temperature Sensor (High Voltage) |
24 |
Vehicle Speed
Sensor |
25 |
Manifold Air
Temperature Sensor (Low Voltage) |
26 |
Quad Driver
Error |
27 |
Gear Switch
Error (3.3l & 3.8l only) |
28 |
Gear Switch
Error (3.3l & 3.8l only) |
29 |
Gear Switch
Error (3.3l & 3.8l only) |
31 |
1990 models -
Turbo Purge Solenoid Error
1991 models - Park/Neutral
Switch Error (3.3l & 3.8l only) |
32 |
EGR Vacuum
Control |
33 |
MAP Sensor
(Low Voltage) |
34 |
MAP Sensor
(High Voltage) |
35 |
Idle Air
Control Solenoid Error |
36 |
Transmission
Shift Circuit Error (PCM equipped models only) |
38 |
Brake Switch
Error (3.3l & 3.8l only) |
39 |
Torque
Converter Clutch Error |
41 |
|
42 |
Electronic
Spark Timing (open or grounded) |
43 |
Electronic
Spark Control Error |
44 |
Oxygen Sensor
(Lean) |
45 |
Oxygen Sensor
(Rich) |
46 |
Power Steering
Pressure Switch or
Anti Theft System Fault |
47 |
PCM/BCM Lost
Data (3.8l E-body only) |
48 |
Misfire (3.3l
& 3.8l only) |
51 |
PROM Error |
52 |
CALPAK Error or Low Engine Oil
Temperature (Corvette only) |
53 |
System
Over-Voltage |
55 |
ECM / PCM
Error |
59 |
Anti-Theft
System Error (3.8l only) |
61 |
Degraded
Oxygen Sensor (3.1l & 4.3l only) |
62 |
Gear Switch
Error (3.1l & 4.3l only) |
63 |
EGR Flow Check
Error (3.8l H-body only) |
64 |
EGR Flow Check
Error (3.8l H-body only) |
65 |
EGR Flow Check
Error (3.8l H-body only) or Fuel Injector Low Current
(2.3l only) |
66 |
AC Pressure
Sensor Voltage Out of Range |
67 |
AC Head
Pressure Switch Error (3.8l only) |
|
TBI
(Throttle Body Injection) Trouble Codes |
Code |
Definition |
|||
12 |
Normal
Operation |
|||
13 |
Oxygen Sensor
Circuit (open) |
|||
14 |
Coolant Sensor
(Low Voltage) |
|||
15 |
Coolant Sensor
(High Voltage) |
|||
21 |
Throttle
Position Sensor (Low Voltage) |
|||
22 |
Throttle
Position Sensor (High Voltage) |
|||
24 |
Vehicle Speed
Sensor |
|||
33 |
MAP Sensor (Low
Voltage) |
|||
34 |
MAP Sensor
(High Voltage) |
|||
42 |
Electronic
Spark Timing |
|||
44 |
Oxygen Sensor
(Lean) |
|||
45 |
Oxygen Sensor
(Rich) |
|||
51 |
PROM Error |
|||
55 |
ECM Error |
|||
|
Port
Injection Trouble Codes |
|||
Code |
Definition |
12 |
Normal
Operation |
13 |
Oxygen Sensor
Circuit (open) |
14 |
Coolant Sensor
(Low Voltage) |
15 |
Coolant Sensor
(High Voltage) |
21 |
Throttle
Position Sensor (Low Voltage) |
22 |
Throttle
Position Sensor (High Voltage) |
24 |
Vehicle Speed
Sensor |
32 |
EGR Vacuum
Control |
33 |
MAP Sensor
(Low Voltage) |
34 |
MAP Sensor
(High Voltage) |
42 |
Electronic
Spark Timing |
43 |
Electronic
Spark Control |
44 |
Oxygen Sensor
(Lean) |
45 |
Oxygen Sensor
(Rich) |
51 |
PROM Error |
52 |
CALPAK Error |
55 |
ECM Error |