FreeAutoMechanic

GM OBD I Diagnostic Codes

Ask Now!
 
   
 

What is a DTC? A DTC is a diagnostic Trouble Code. The computers used on Third Generation F-bodies are considered OBD-I (First Generation On Board Diagnostics). They are called that, because not only do they control the engine management system, but also is capable of performing a self-diagnostics of the engine management. For example, the ECM (Electronic Control Module) uses the Oxygen Sensor (O2 Sensor) to monitor exhaust gas for being to rich or lean. If the computer feels that the conditions are right for the sensor to be malfunctioning, it will set a DTC 13 (O2 Sensor circuit fault). Once a DTC is set, the Check engine light will illuminate. There are many acronyms for the Check engine light such as CEL, MIL, SES, but we will use CEL (check engine light).

How do I pull DTC's? This is simple. You don't even need an expensive scan-tool or code reader, just a simple paper clip. Locate the ALDL (Assembly Line Diagnostic Lead). It is usually under the drivers side of the dash. It may have a cover over it, and may even say "Diagnostic Connector".

 

 

 
Auto Repair Manuals
Technical Service Bulletins
Maintenance Procedures
   
 
Connector under dash
This is the ALDL.  The two terminals that you need to be concerned with is in the picture.  It is terminals "A" and "B".  Simply turn the Ignition to "Run" (Do not start the vehicle) and put the paper clip in the two terminals.  Now watch your CEL.  It will start flashing.  It will look like Morse Code, but it isn't, and is real easy to interpret.

The first code that will flash will be a code 12.  It will be  "flash, pause, flash, flash, pause, pause," and repeat the cycle three times.  The ECM will flash each code three times, and move on to the next.  If you have no codes stored, it will keep flashing code 12.  Code 12 simply tells you the ECM is not receiving any pulses from the distributor (since the car is not running).  If you pull codes with a scantool and the car is running, this code will not show up.  Its no big deal, it lets you know the ECM is in the "Field Service Mode"  You will also notice the cooling fans come on, this is normal.

 

What do I do with the Codes?  This is less simple.  OBD-I codes are very vague, and diagnosis sometimes isn't that simple.  Most people think that a code 32 (EGR system) means the EGR valve is bad and needs replaced.  This isn't always so!!!  There are many components in the EGR system that could cause the code to set OTHER than the EGR valve itself!  Below is a list of codes and what they mean.

 

Code:           Meaning:

12

No Distributor pulses

13

Oxygen sensor

14

Coolant Temp sensor circuit

15

Coolant Temp sensor circuit

21

Throttle Position Sensor

22

Throttle Position Sensor

23

Manifold Air temperature sensor

24

VSS (Vehicle Speed sensor)

25

Manifold Air temperature sensor

32

EGR system

33

MAP sensor or MAF sensor depending on engine

34

MAP sensor or MAF sensor depending on engine

35

Idle Air Control Valve

36

MAF Burn-off circuit

41

No Distributor pulses, cylinder select error

42

Electronic Spark Timing or Bypass fault

43

Electronic Spark Control fault 

44

Lean exhaust

45

Rich exhaust

46

VATS system fault

51

PROM fault

52

CALPAK fault

53

System over-voltage

54

Fuel pump circuit

55

ECM fault

61

Oxygen sensor fault (degraded sensor)

 

CODE 12

Trouble Code 12 is a special case code that is not logged into the ECM's Non-Volatile Memory (NVM) when detected. When the ignition is "ON" and the ECM detects no ignition reference pulses coming from the ignition module, it illuminates the Service Engine Soon lamp.

Code 12 is also used when the ECM is in Diagnostic mode (ALDL Terminal B grounded, key On, engine Off) to signal the beginning or end of a so-called 'diagnostic sequence'. This is when the ECM enunciates each stored code using the instrument panel Service Engine Soon lamp.

When in this mode, the ECM will begin by flashing code 12 (on the lamp) 3 times. This indicates the beginning of a diagnostic sequence. It will then flash any codes stored in NVM 3 times each before proceeding to the next code. When all stored codes have been displayed, the ECM will again flash code 12 to indicate the end of the diagnostic sequence. The cycle continues as long as the ECM is in Diagnostic Mode.

NOTE: The codes will not be displayed in order of occurrence but rather in numerical order.


  Return to Chart


CODE 13

Trouble Code 13 indicates that the exhaust stream oxygen content sensor (O2 sensor) is not responding as expected. When cold, the sensor is 'biased' by the ECM to about 450 millivolts. Before it warms to at least 600 deg F (315 deg C) it acts as an open circuit and when the ECM reads it, it reads the 450 mV bias. The ECM expects the sensor to warm in a short period of time and begin sending its own voltages.

The conditions for setting this code are:

  • engine running at least 40 seconds and
  • no code 21 or 22 (TPS errors) present, and
  • coolant temperature is at least 118 deg F (48 deg C), and
  • O2 sensor voltage not fluctuating (i.e. steady between 350 and 557 mV), and
  • TPS signal indicates above idle (over 6%), and
  • all the above conditions met for more than 8 seconds


Typical causes for this code include:

1) Defective or degraded O2 sensor
2) Deposit contaminated O2 sensor (running leaded fuel, RTV silicone deposits etc.)
3) Corroded/defective O2 sensor connection
4) Defective sensor ground circuit
5) Defective connection at ECM
6) Defective ECM


  Return to Chart


CODE 14

Trouble Code 14 indicates that the Coolant Temperature Sensor (CTS) is reporting abnormally high readings. CTS is used to control fuel mixture, timing, idle speed, TCC and EGR operations among others. The thermistor used has a low resistance when hot, rising as the coolant cools. This error then, indicates a very low resistance in the CTS circuit.

The conditions for setting this code are:

  • the coolant temperature reported is > 284 deg F (140 deg C), and
  • the above condition is present for more than 20 seconds
     

NOTE: A default temperature of 111 deg F is used while the error is present.

Typical thermistor resistance values are:

deg F deg C resistance (ohms)
210  100  185 
160  70  450 
100  38  1,800 
70  20  3,400 
40  7,500 
20  -7  13,500 
-18  25,000 
-40  -40  100,000+ 

 

Typical causes for this code include:

1) Severe engine overheating
2) Defective Coolant Temperature Sensor (resistance too low)
3) Short circuit in CTS-ECM harness
4) Defective ECM


  Return to Chart


CODE 15

Trouble Code 15 indicates that the Coolant Temperature Sensor (CTS) is reporting abnormally low readings. CTS is used to control fuel mixture, timing, idle speed, TCC and EGR operation, among others. The thermistor used has a high resistance when cold, lowering as the coolant warms. This error then, indicates a very high resistance in the CTS circuit.

The conditions for setting this code are:

  • the coolant temperature reported is < -29 deg F (-34 deg C), and
  • the above condition is present for more than 4 seconds


NOTE: A default temperature of 111 deg F is used while the error is present.

Refer to the Code 14 description for typical sensor resistance values.
 

Typical causes for this code include:

1) Open circuit in CTS-ECM harness
2) Defective Coolant Temperature Sensor (resistance too high)
3) Open sensor ground circuit
4) Defective ECM


  Return to Chart


CODE 21

Trouble Code 21 indicates that the Throttle Position Sensor (TPS) is reading abnormally high. TPS volts should be close to 0.42 V at closed throttle and rise smoothly in about 0.02 volt increments to a maximum reading of about 4.85 volts at WOT.

The conditions for setting this code are:

  • the engine is running, and
  • Code 33 or 34 (MAF error) is not set, and
  • TPS reading is > 4.90 volts
       - or -
  • TPS reading stays between 2.5 and 4.9 volts, and
  • MAF reading is < 15 grams/second, and
  • the above two conditions are present for more than 5 seconds


Note: During a Code 21 condition, the ECM uses a default TPS value of 2.6 volts. This will cause the engine to idle very high.
 

Typical causes for this code include:

1) Defective TPS
2) Short circuit in the TPS harness to +5 volt reference
3) Open sensor ground circuit
4) Defective ECM


  Return to Chart


CODE 22

Trouble Code 22 indicates that the Throttle Position Sensor (TPS) is reading abnormally low. TPS volts should be close to 0.42 V at closed throttle and rise smoothly in about 0.02 volt increments to a maximum reading of about 4.85 volts at WOT.

The conditions for setting this code are:

  • the engine is running, and
  • TPS reading is < 0.20 volts


Note: During a Code 22 condition, the ECM uses a default TPS value of 2.6 volts. This will cause the engine to idle very high.
 

Typical causes for this code include:

1) Maladjusted TPS
2) Defective TPS
3) No +5 volt reference to TPS
4) TPS-return to ECM is shorted to ground or to sensor ground
5) Defective ECM

NOTE: The TPS must be adjusted to about 0.42 volts at closed throttle for the ECM to auto-zero properly. If necessary, adjust the TPS to bring the voltage up or down to this value at closed throttle.


  Return to Chart


CODE 23

Trouble Code 23 indicates that the Manifold Air Temperature (MAT) sensor is reporting abnormally low readings. When the air is cold, the thermistor in the sensor has a high resistance, which falls as the air charge warms. Low readings thus indicate a possible bad sensor or open in the MAT circuit.

The conditions for setting this code are:

  • MAT reading is < -40 deg F (-40 deg C)


NOTE: A default MAT value indicating 82 deg F is used while Code 23 is present.

Typical thermistor resistance values are:

deg F deg C resistance (ohms)
210  100  185 
160  70  450 
100  38  1,800 
70  20  3,400 
40  7,500 
20  -7  13,500 
-18  25,000 
-40  -40  100,000+ 

 

Typical causes for this code include:

1) Defective MAT sensor
2) Open sensor ground circuit
3) Dirty or corroded connection(s) at MAT and/or ECM
4) Open circuit between the ECM and the MAT sensor
5) Defective ECM


  Return to Chart


CODE 24

Trouble Code 24 indicates that the Vehicle Speed Sensor (VSS) is reporting an abnormally low reading when other sensors indicate it should be higher.

The conditions for setting this code are:

  • no Code 33 or 34 (MAF Error) is present, and 
  • the vehicle speed signal indicates < 4 MPH and
  • engine speed is between 1400 and 4400 RPM, and
  • during a low load condition (LV8 between 50 and 99), and
  • transmission not in Park or Neutral, and
  • all conditions met for more than 20 seconds


If the code was logged when the vehicle was in motion, the following should be checked:

1) Defective or corroded VSS connections
2) Maladjusted TPS sensor. The TPS should read about 0.42 volts at closed throttle
3) Defective speedometer cable
4) Bad or missing speedo drive gear(s) in tail shaft housing of the transmission
5) Defective VSS
6) Defective ECM


  Return to Chart


CODE 25

Trouble Code 25 indicates that the Manifold Air Temperature (MAT) sensor is reporting abnormally high readings. When the air is hot, the thermistor has a low resistance, which rises as the air temperature cools. High readings thus indicate a possible bad sensor or short in the MAT circuit.

The conditions for setting this code are:

  • MAT reading is > 275 deg F (135 deg C), and
  • the engine has been running for more than 16 seconds, and
  • the vehicle speed is > 40 MPH

Refer to the Code 23 description for typical sensor resistance values.
 

Typical causes for this code include:

1) Defective MAT sensor
2) MAT signal shorted to ground or to sensor ground
3) Defective ECM


  Return to Chart


CODE 31

Trouble Code 31 indicates that the Wastegate Solenoid may not be functioning correctly. The wastegate solenoid is controlled by a Pulse Width Modulated (PWM) signal from the ECM. The ECM controls turbo boost by varying the PWM waveform (duty cycle) to the wastegate. The wastegate responds by bleeding off exhaust pressure upstream of the turbine, thus controlling boost pressure.

The conditions for setting this code are:

  • the ECM is commanding a solenoid duty cycle of between 5% and 94%, and
  • no electrical feedback is being received from the solenoid, and
  • the above conditions are met for 2 seconds.


Typical causes for this code include:

1) Poor or corroded connections between the ECM and the wastegate solenoid
2) Open or shorted solenoid
3) Defective, sticking or maladjusted wastegate linkage
4) Defective ECM

Ensure correct operation of other engine subsystems, including but not limited to the TPS and MAF sensors and check the wastegate actuation hardware.


  Return to Chart


CODE 32

Trouble Code 32 indicates that the Exhaust Gas Recirculation (EGR) valve diaphragm is not where the ECM expects it to be. The ECM controls the diaphragm with a Pulse-Width Modulated (PWM) waveform. The EGR has a vacuum bleed solenoid that adjusts the vacuum applied to the EGR valve based on this pulse width. If there is sufficient vacuum at the EGR valve, a switch closes to send a signal back to the ECM. The absence of this signal is the bases for code 32.

The conditions for setting this code are:

  • no vacuum to EGR (switch open), and
  • Code 33 or 34 (MAF error) is not present, and
  • engine running and LV8 is less than 100, and
  • coolant temperature is > 118 deg F (48 deg C), and
  • the EGR solenoid duty cycle is < 65%, and
  • the above conditions are met for more than 25 seconds


Typical causes for this code include:

1) Faulty EGR valve-to-ECM connection
2) Plugged EGR passages and/or sticking EGR valve
3) Defective EGR valve
4) Defective ECM


  Return to Chart


CODE 33

Trouble Code 33 indicates that the Mass Air Flow (MAF) sensor is reporting more air is entering the engine than makes sense based on RPM and TPS. The MAF sensor produces a frequency output; around 30 Hz at idle to 150 Hz under acceleration. The frequency varies proportionally to airflow. The ECM monitors the frequency and thus determines airflow into the engine. Typical idle MAF is 5 to 7 grams per second.

The conditions for setting this code are:

  • no Code 21 or 22 (TPS Error) present, and
  • the air flow reported is > 40 grams per second, and
  • TPS indicates < 10% throttle position, and
  • the engine speed is 1400 RPM or less, and
  • the above conditions exist for over 5 seconds.


Typical causes for this code include:

1) Faulty MAF-to-ECM connection
2) Exceedingly noisy spark plug wires
3) Poor routing of MAF harness (i.e. near coil packs)
4) Maladjusted TPS sensor
5) Defective MAF sensor
6) Defective ECM


  Return to Chart


CODE 34

Trouble Code 34 indicates that the Mass Air Flow (MAF) sensor is reporting less air is entering the engine than makes sense based on RPM and TPS. The MAF sensor produces a frequency output; around 30 Hz at idle to 150 Hz under acceleration. The frequency varies proportionally to airflow. The ECM monitors the frequency and thus determines airflow into the engine. Typical idle MAF is 5 to 7 grams per second.

The conditions for setting this code are:

  • no Code 21 or 22 (TPS Error) present, and
  • the air flow reported is < 4 grams per second, and
  • TPS indicates 10% or more throttle position, and
  • the engine speed is 1800 RPM or higher, and
  • the above conditions exist for over 5 seconds.


Typical causes for this code include:

1) Faulty air ducting to or from MAF sensor
2) Faulty ECM-to-MAF connections
3) Poor routing of MAF harness (i.e. near coil packs)
4) Maladjusted TPS sensor
5) Defective MAF sensor
6) Defective ECM


  Return to Chart


CODE 35

Trouble Code 35 is not used in the Turbo cars. If this code appears while a computer is connected to the ALDL connector, it is probably the result of a bad cable connection at the PC or the ALDL connector. Reseat the cable connections.


  Return to Chart


CODE 41

Trouble Code 41 indicates that the Camshaft Sensor is not functioning properly.

The ignition module uses the Cam Sensor signal for timing the spark firing. The ignition module also passes this signal to the ECM to enable sequential fuel injection. The inability to properly determine engine position from the Cam Sensor will generate Code 41.

The engine will continue to run if the signal is lost from the sensor, however it will not restart after shut down. If the Cam signal from the ignition module to the ECM is lost while running, the ECM will switch to the simultaneous fuel injection mode. The engine can be re-started but will continue to run in the simultaneous mode as long as the fault is present.

The conditions for setting this code are:

  • the engine is running, and
  • the Cam Sensor signal is not received by the ECM in the last 1 second interval


Typical causes for this code include:

1) Loose or misadjusted Cam Sensor
2) Defective Cam Sensor-to-ECM connections
3) Defective ECM

Cam sensor installation and adjustment procedures call for very exact tolerances. It is for this reason that it is recommended that the service manual be consulted while performing any adjustment or replacement of the Camshaft Sensor.


  Return to Chart


CODE 42

Trouble Code 42 indicates that there may be a malfunction in the Electronic Spark Timing (EST) system.

During cranking, the timing is controlled by the ignition module while the ECM monitors the engine speed. When the engine speed exceeds 400 RPM, the ECM sends a BYPASS signal to the ignition module which switches the timing to ECM control. The ECM calculates what the timing should be then "tells" the ignition module via the EST circuit.

An open or ground in the EST circuit will stall the engine and set a Code 42. The engine can be re-started but it will run on ignition module timing.

The conditions for setting this code are:

  • System in BYPASS mode but the ignition module is still controlling timing
       - or -
  • Engine speed > 600 RPM with no EST pulses (ECM controlled timing) going to the ignition module for 200 msec.


Typical causes for this code include:

1) BYPASS line is open or grounded
2) EST line is open or grounded
3) PROM or CALPACK not seated properly in the ECM
4) Poor connections between ignition module and ECM
5) Poor routing of EST harness and/or poor quality ignition wires (EMI induced electrical noise)
6) Faulty or incorrect ignition module
7) Faulty ECM


  Return to Chart


CODE 43

Trouble Code 43 indicates that there may be a malfunction in the Electronic Spark Control (ESC) circuit.

ESC is used to sense spark knock (pinging) and retard the timing to eliminate it. A knock sensor (located at the rear of the engine block) sends signals to an ESC module which then signals the ECM that knocking is being detected. The ECM will retard the timing by as much as 20 degrees in 1 degree increments. A loss of knock sensor signal or loss of ground at the ESC module will cause the signal at the ECM to remain high. The ECM will act as if no knock is present, and may possibly result in engine damage, if there is detonation.

Loss of the ESC signal to the ECM will cause the ECM to constantly retard the timing to its maximum. This results in sluggish performance and a Code 43.

The conditions for setting this code are:

  • Engine is running
  • ESC input signal has been low more than 2.23 seconds


Typical causes for this code include:

1) Open or shorted knock sensor
2) Loose knock sensor
3) Excessive mechanical noise within engine
4) Improper or incorrectly installed PROM or CALPACK in the ECM or defective ECM
5) Intermittent open in the EST line to the ignition module


  Return to Chart


CODE 44

Trouble Code 44 indicates that the O2 sensor is showing a persistently high exhaust oxygen content (lean), despite the efforts of the ECM to increase injector on-time (thus increasing fuel delivered). Integrator and BLM numbers may indicate > 128 by a substantial margin.

The conditions for setting this code are:

  • no Code 33 or Code 34 (MAF Error) present, and
  • the O2 sensor voltage remains below 250 mVolts, and
  • the ECM is in Closed Loop control, and
  • the above conditions exist for more than 50 seconds.


Typical causes for this code include:

1) O2 sensor defective or lead shorted
2) Lean injectors (dirty or blocked)
3) Water in fuel
4) Exhaust leaks upstream of O2 sensor
5) Fuel pressure or volume too low
6) MAF sensor reading lower airflow than is actually present
7) Vacuum leaks
8) Incorrect or poorly calibrated PROM


  Return to Chart


CODE 45

Trouble Code 45 indicates that the O2 sensor is showing a persistently low exhaust oxygen content (rich), despite the efforts of the ECM to decrease injector on-time (thus decreasing fuel delivered). Integrator and BLM numbers may indicate < 128 by a substantial margin.

The conditions for setting this code are:

  • no Code 34 or Code 35 (MAF error) present, and
  • the O2 sensor voltage remains above 752 mV, and
  • the ECM is in Closed Loop control, and
  • throttle position is < 2 percent or > 20 percent, and
  • the above conditions exist for more than 20 seconds.
     

Typical causes for this code include:

1) O2 sensor defective or contaminated (if incorrect RTV sealant or too much RTV is used, this may happen)
2) Leaking fuel injectors
3) Fuel pressure too high
4) EMI interference from poor plug wires
5) Evaporative Emission system defect
6) TPS and/or EGR problem
7) MAF sensor reading higher airflow than is actually present


  Return to Chart


CODE 51

Trouble Code 51 indicates that the ECM sensed a fault in the PROM.

When the PROM was initially created, a checksum number representing the total of all the cell values was also stored. The ECM uses this checksum as one way to determine if the contents of any cell has changed. A Code 51 causes the ECM to enter Back-Up mode which uses the CALPAK for default sensor values.

The conditions for setting this code are:

  • power has just been applied to the ECM, and
  • the calculated checksum does not match the stored checksum.
       - or -
  • the engine was just started, and
  • either of two specific PROM locations do not contain the expected value. (One location should have 1's in the odd numbered bits and the other has 1's in the even numbered bit positions.)
     

Typical causes for this code include:

1) Incorrectly installed PROM module
2) Defective PROM module
3) Defective ECM


  Return to Chart


CODE 52

Trouble Code 52 indicates that the ECM sensed a fault with the CALPACK. The CALPACK is a plug-in module separate from the PROM, that contains preset calibrations used by the system during "limp home" (backup) mode. The ECM continuously checks for its presence while power is applied.

The conditions for setting this code are:

  • the ECM does not sense the CALPACK


Typical causes for this code include:

1) Incorrectly installed CALPACK module
2) Incorrect CALPACK module for this vehicle
3) Defective or incorrectly inserted PROM
4) Defective ECM


  Return to Chart


CODE 53

Trouble Code 53 refers to a feature never actually installed on any turbo Regal. This code was reserved when these vehicles where being developed, in the event that water injection hardware would be installed in production vehicles.

Since water injection was never actually used, this code should never appear.
 

Typical causes for this code include:

1) Incorrect PROM installed in the ECM
2) PROM incorrectly installed in the ECM
3) Defective PROM

Some after market PROMs, particularly those designed as 'off road use only', may not properly deal with trouble codes. If it is suspected this is causing a Code 53, contact the PROM manufacturer.


  Return to Chart


CODE 54

Trouble Code 54 is not used by the turbo cars. If this code does appear, it is probably due to a loose connection or bad ground. If a computer is connected to the car's ALDL connector when the code appears, check the computer cable connections.


  Return to Chart


CODE 55

Trouble Code 55 indicates that the Analog-to-Digital (A/D) converter in the ECM is faulty. This converter reads sensors (e.g., TPS, Oxygen) and coverts their analog voltage output to a digital number for use by the ECM. If the converter fails, the ECM sets this code.

The conditions for setting this code are:

  • the A/D Converter has failed to properly read a sensor after 24 attempts.


Typical causes for this code include:

1) Defective or incorrectly inserted PROM
2) Defective ECM

If replacing the ECM, be sure to transfer both the PROM and the CALPACK from the old unit. If the old ECM also indicated PROM failure (Code 51) or a bad CALPACK (Code 52), be sure to verify these components are fully operational in the new unit. If they are not, they too will have to be replaced.

 

 

 
GET AN ONLINE REPAIR MANUAL FOR YOUR CAR - Get on-line access to drive belt routing, repair instructions, wiring diagrams, trouble code diagnostic charts and updated factory bulletins.
 
divider
 
Top Free Categories
Serpentine Belt Routing Diagrams
Car Owners Manuals
Auto Wiring Diagrams
Auto Repair Manuals
Auto Repair Estimates
Auto Repair Questions
Auto Insurance Quotes
Timing Belt Replacement
Printable Nut & Bolt Measuring Charts
by Manufacturer
  • Acura
  • Audi
  • BMW
  • Buick
  • Cadillac
  • Chevy
  • Chrysler
  • Datsun
  • Dodge
  • Ford
  • GEO
  • GMC
  • Honda
  • Hyundai
  • Infiniti
  • Isuzu
  • Jaguar
  • Jeep
  • Kia
  • Lexus
  • Lincoln
  • Mazda
  • Mercedes
  • Mercury
  • Mitsubishi
  • Nissan
  • Oldsmobile
  • Plymouth
  • Pontiac
  • SAAB
  • Saturn
  • Scion
  • Subaru
  • Suzuki
  • Toyota
  • VW
  •  
    Top Maintenance and Repair
    Air Conditioning Troubleshooting
    Brakes
    Check Engine Trouble Codes
    Engine
    Engine Sensors
    Electrical
    Maintenance
    No Start Diagnostics
    Engine Overheating Diagnostics
     
     
    Content © FreeAutoMechanic.com. 2006 - 2014 All Rights Reserved | Privacy Policy | Contact | Terms of Service | About