How to read OBD2 codes

OBD-II codes can be really confusing since there are lots of different types and forms of trouble codes. Learn how to understand and SOLVE them!

This lesson is from my premium OBD-II course provided for free to my email followers:

Reading car fault codes helps you understand why your check engine or other dashboard lights are illuminated. Here’s a quick guide:

  1. Connect Scanner to OBD Port:
    The OBD port is usually under the dashboard on the driver’s side or in the interior fuse box.
  2. Turn on the Ignition:
    Ignition should be on, but the engine can be running. Avoid having both the engine and ignition off.
  3. Read Codes:
    Use the “read codes” or “scan” option on your scanner. Code readers display results instantly, while Bluetooth adapters may take a few minutes.

Types of Fault Codes:

  • Confirmed Code: Set when a fault is detected and considered serious enough to be continuously active.
  • Pending Code: Triggered if the fault is detected a certain number of times in a certain number of drive cycles.
  • Permanent Code: A confirmed code that cannot be cleared using a scan tool; it clears only when the fault is resolved.
  • Current Code: Indicates a diagnostic trouble code (DTC) test has failed during the current operation cycle.
  • Historical Code: Set when a DTC is not pending, confirmed, or current, but the test has failed at least once since the last clearing.

Understanding the Codes:

The digits in the car scanner codes are not random! Every letter or digit in the code can give you extra information about your car’s malfunction.

First DigitSecond DigitThird DigitLast Digits
P = Powertrain0 = Generic Code0, 1 = Fuel / Air MixtureDescription
B = Body1 = Manufacturer Specific2 = Fuel (Injector circuit)Description
C = Chassis2 = Manufacturer Specific3 = IgnitionDescription
U = Network 4 = Exhaust / EmissionsDescription
5 = Vehicle speed control / IdleDescription
6 = Electronic control unitDescription
7 = TransmissionDescription
8 = TransmissionDescription
9 = TransmissionDescription
A, B, C = HybridDescription

7-digits codes

Sometimes your code reader will show extra two zeros at the end. So the code P0420 is the same as code P042000. However, the last 2 digits in the 7-digit code c

Types of Fault Codes:

  • Confirmed Code: Set when a fault is detected and considered serious enough to be continuously active.
  • Pending Code: Triggered if the fault is detected a certain number of times in a certain number of drive cycles.
  • Permanent Code: A confirmed code that cannot be cleared using a scan tool; it clears only when the fault is resolved.
  • Current Code: Indicates a diagnostic trouble code (DTC) test has failed during the current operation cycle.
  • Historical Code: Set when a DTC is not pending, confirmed, or current, but the test has failed at least once since the last clearing.

Understanding the Codes:

The digits in the car scanner codes are not random! Every letter or digit in the code can give you extra information about your car’s malfunction.

First DigitSecond DigitThird DigitLast Digits
P = Powertrain0 = Generic Code0, 1 = Fuel / Air MixtureDescription
B = Body1 = Manufacturer Specific2 = Fuel (Injector circuit)Description
C = Chassis2 = Manufacturer Specific3 = IgnitionDescription
U = Network 4 = Exhaust / EmissionsDescription
5 = Vehicle speed control / IdleDescription
6 = Electronic control unitDescription
7 = TransmissionDescription
8 = TransmissionDescription
9 = TransmissionDescription
A, B, C = HybridDescription

7-digits codes

Sometimes your code reader will show extra two zeros at the end. So the code P0420 is the same as code P042000. However, the last 2 digits in the 7-digit code can further specify the problem.

00 = Not specified
04 = Open
11 = Short to ground
12 = Short to B+
13 = Open
14 = Short to the ground or open
15 = Short to B+

16 = Circuit voltage below the threshold
17 = Circuit voltage above the threshold
18 = Current below the threshold
31 = No signal
44 = Data memory failure
47 = Controller failure
49 = Internal electronic failure
51 = Not programmed
62 = Signal comparison failure
64 = Plausibility failure
72 = Actuator stuck closed
74 = Actuator slipping
77 = Commanded position not achievable
7E = Actuator stuck on
1A = Circuit resistance below the threshold
1C = Voltage out of range
1D = Current out of range
23 = Signal stuck low
24 = Signal stuck high
27 = Single rate of change above a threshold
29 = Performance signal invalid
2A = Stuck in range
2B = Signal cross coupled
2F = Signal erratic
7F = Actuator stuck off
85 = Signal above the allowable range
87 = Missing communication message
93 = Performance no operation
96 = Component internal failure
9C = Low insufficient flow
9E = Stuck on

Good job, lesson completed!

You can rest for a few days until the next lesson arrives in your mailbox! Or you can unlock the whole course here.

Leave a Comment