This system was used from 1987 forward for EFI (Electronic Fuel Injection) systems in the GM 'square body' trucks. It uses a rudimentry suite of sensors and a central ECM (Engine Control Module) to control engine performance on a TBI (Throttle Body Injection) system. OBD I was retired in 1995 and replaced in 1996 by OBD II for compliance with Federal regulations.
The system uses a standardized GM ALDL (Assembly Line Diagnostic Link), a proprietary version of an OBD I DLC (Data Link Connector). This is located under the dash, accesible below the steering wheel by the driver's knee.
DLC pinout (OBD I standard, not all pins used on all vehicles):
A - Ground
B - Diagnostic terminal
C - A.I.R.
D - Service Engine Soon light
E - Serial data
F - T.C.C.
G - Fuel pump
H - Brake speed input
J -
K -
L -
M - Serial data
The OBD (On Board Diagnostics) system is a standardized configuration, and the codes are also standardized. They give a good place for troubleshooting to begin but usually do not directly pinpoint the problem itself.
The OBD I system is limited to exactly 89 codes (11 to 99, since the system cannot flash 0 times). Of these possibilites, the codes only begin at 12, with 12 being a reference and not an actual code. So there are basically 87 potential troubleshooting codes possible. Of these very few are actually applicable to any one vehicle, since the OBD I standard allows for a variety of sensors that are not necessarily found on all vehicles.
Codes may be read with or without a scanner. To read without a scan tool, terminals A and B of the DLC are jumpered with the ignition off. Then the ignition is switched to 'run' and the 'Check Engine' light will flash codes stored in the system.
The light will flash each code three times before moving onto the next code. After all codes are completed, the codes will start over and repeat until the ignition is switched off. Codes are sequenced by flashes and pauses. Each flash followed by a short pause is added together to form a number. A long pause indicates a break between numbers. Each code is two digits.
So a sequence that proceeds 'flash-flash-pause-flash-flash-flash' is a code 23. A sequence that proceeds 'flash-pause-flash-flash' is a code 12.
The sequence will begin with a code 12 repeated three times, then any stored codes will flash. Code 12 is just an indicator code and does not show a problem with the system (unless it fails to appear).
Codes should always appear in numerical order.
Codes may be cleared with a scan tool, or by disconnecting system power for twenty seconds approximately. Codes will also clear if after 50 engine cycles (start/stop) the problem does not reoccur.
An asterisk '*' before a code in the list indicates a non-applicable code for GM square bodies.
The following code list is gleaned from several GM sources, and some codes vary vehicle to vehicle as the OBD I standard was not as tight as later standards on actual output codes.
12 - indicator code, start of code sequence
13 - O2 (oxygen sensor) circuit (sensor open, no activity)
14 - ECT/CTS (Engine Coolant Temperature/Coolant Temperature Sensor) circuit resistance low or shorted (high temperature)
15 - ECT/CTS (Engine Coolant Temperature/Coolant Temperature Sensor) circuit resistance high or open (low temperature)
16 - VSS (Vehicle Speed Sensor) buffer fault or shorted
*17 - Camshaft position sensor error (timing error)
*18 - Camshaft or crankshaft position sensor circuit (timing error)
*19 - Crankshaft position sensor (timing error)
*20 -
21 - TPS (Throttle Position Sensor) circuit high (signal voltage high), higher than 5v DC (highest voltage WOT)
22 - TPS (Throttle Position Sensor) circuit low (signal voltage low), lower than .2v DC (lowest voltage idle)
*23 - Intake air temperature sensor error, out of range, low resistance (low temp indicated)
24 - VSS (Vehicle Speed Sensor) circuit low/circuit fault
*25 - Intake air temperature sensor error, out of range, high resistance (high temp indicated)
*26 - Quad Driver Module (QDM A) error, circuit #1 fault
*27 - Quad Driver Module (QDM A) error, 2nd gear circuit
28 - TR (Transmission Range) pressure switch assembly / Quad Driver Module (QDM A) error, circuit #2 fault
*29 - Quad Driver Module (QDM A) error, 4th gear circuit
*30 -
*31 - Gear position switch (PRNDL) error / Wastegate solenoid circuit fault
32 - EGR (Exhaust Gas Recirculation) valve error
33 - MAP (Manifold Absolute Pressure) sensor circuit high, signal out of range, high resistance (low vacuum)
34 - MAP (Manifold Absolute Pressure) sensor circuit low, signal out of range, low resistance (high vacuum)
35 - IAC (Idle Air Control) error
36 - Idle speed control actuator error (when equipped) / Ignition system circuit error
*37 - TCC brake switch circuit error
*38 - TCC brake switch circuit error / Brake switch sensor circuit fault
*39 - Clutch switch circuit error / Torque convertor clutch error
*40 -
*41 - Ignition control error / MEM-CAL error / Camshaft sensor signal error
42 - EST (Electronic Spark Timing) circuit error, grounded shorted
43 - KS (Knock Sensor) error
44 - Lean exhaust (oxygen sensor indicates lean condition)
45 - Rich exhaust (oxygen sensor indicates rich condition)
*46 - Passkey II circuit error / Power steering pressure switch error
*47 - PCM data circuit error
*48 - Misfire
*49 -
*50 -
51 - PROM (Programmable memory) error (chip), calibration error
*52 - Engine oil temperature circuit, low temperature indicated
53 - System voltage high (supply to ECM/PCM)
54 - Fuel pump relay circuit low voltage
55 - ECM/PCM error
*56 - Quad Driver Module (QDM B) error
*57 - Boost control error
*58 - Transmission fluid temperature sensor circuit error (low voltage) / VATS (Vehicle Anti Theft) error
*59 - Transmission fluid temperature sensor circuit error (high voltage)
*60 -
*61 - A/C system performance
*62 - Engine oil temperature sensor, high temperature indicated
*63 - Right bank O2 sensor circuit error, open or shorted
*64 - Right bank O2 sensor lean exhaust indicated
*65 - Right bank O2 sensor rich exhaust indicated
*66 - A/C pressure sensor circuit error (low pressure indicated)
*67 - A/C pressure sensor circuit error
*68 - A/C clutch relay circuit error (short to ground)
*69 - A/C clutch relay circuit error (open circuit)
*70 - A/C pressure sensor circuit error (high pressure indicated)
*71 - A/C evaporator temperature sensor circuit error (low temp indicated)
*72 - VSS signal circuit error / Gear selector switch error
*73 - A/C evaporator temperature sensor circuit error (high temp indicated)
*74 -
*75 - Digital EGR solenoid #1 circuit error
*76 - Digital EGR solenoid #2 circuit error
*77 - Digital EGR solenoid #3 circuit error
*78 -
*79 - Transmission fluid over temp / VSS circuit high resistance
*80 - Transmission componet slipping / VSS circuit low resistance
*81 - Brake input data circuit error
*82 - Ignition control (IC) 3x crankshaft position sensor circuit error
*83 -
*84 -
*85 - PROM error
*86 - ECM analog/digital error
*87 - EEPROM error (flash memory error)
*88 -
*89 -
*90 - TCC error
*91 -
*92 -
*93 - Transmission pressure control solenoid circuit error
*94 -
*95 -
*96 - Transmission system voltage low
*97 -
*98 - Invalid PCM program
*99 - Invalid PCM program / Power management error