De-Coding Diagnostic Codes

I like to take full advantage of the codes
the manufacturers offer. One of the ways to
do that is to understand what all those
letters and numbers represent.  Each of the
5 digits actually has a purpose and can make
the job of diagnosing a vehicles problem
much easier if you understand the
breakdown of the letters and numbers of
the code itself. I don’t want to even begin
to try and remember each individual code,
there’s just too many of them, only what
section of the car the code is referring too.

Let’s say you’re on the phone with a prospective customer and they mention a code number. While you’re talking to the customer, they are usually looking for some confidence in what you’re telling them.  Knowing how to break down the code and explain it to them could make the difference in whether or not they’ll call the next shop on their list or not.  

Keep in mind; Codes are to help identify a particular problem with an area of the vehicle.  They are a “guide” not a cure.  Codes should be used in conjunction with proper diagnostic procedures, scanner readings, and technical information.  All circuits and components should be thoroughly tested before replacement of any component.

Breaking down the code

The first character of the five digit code is a letter, it defines the section, or system in the vehicle which the rest of the code is referring too.  The letter codes are: P – B – C – and U.  (There are a few older models with an "E" code too.  Treat those like a "P" code.)

The letter “P” represents the Powertrain (Engine and Transmission)

The letter “B” represents the Body systems.  This is a rather large list of systems, HVAC, Interior Lighting, Exterior Lighting, Air Bag and seat belt systems, wipers, dash and instrument panel, and electric seats.  There are more added all the time, and you may also find some codes that will overlap into other areas such as the “P” codes and “C” codes.

The letter “C” represents the Chassis systems.  This general consists of the Anti-lock brake system and its numerous speed sensors.  You can also find steering related codes and emergency brake codes here as well.

The “U” represents Network codes.  These are the codes related to the internal communication between different modules in the vehicle.  These codes will also lead you to the other major sections of the car by way of the buss line information.

The next digit of the code is for OBD II or direct manufacturer codes.  “P0XXX” or “P1XXX” is the codes you’ll most likely see.  However, there are some rarely seen codes with a 2 or a 3 after the letter codes.

The third position is for the sub-system based on the first letter of the code:

Third characterSystem or sub-system
1 Fuel and Air Metering
2Fuel and Air Metering (injector circuit malfunction only)
3     Ignition System or Misfire
4Auxiliary Emission Control System
5Vehicle Speed Control and Idle Control System
6Computer Output Circuits  (Theft codes)
7     Transmission
8     Transmission

  Manufacturers are not required to follow the generic numbering system above but most will follow the same code identifications.

The last two numbers refer to the actual component or area the first three digits represent.
Example: P0301, the “P” would represent the “Powertrain”, the “0” represents it’s a generic code (OBD II), the “3” represents it’s an ignition miss-fire, and the last two digits represent which cylinder it has detected the miss-fire on.  In this example the “01” would represent cylinder no#1.

Types of codes

When we refer to codes there are two types that are of interest, current codes and history codes.  Current codes are codes that the internal monitoring system of the computer has deemed necessary for attention.  History codes are codes that have had a fault but either has been repaired, or is no longer considered as important to the overall vehicle condition by the computer.  But, the computer program still feels it is necessary to leave a trace for the technician to follow for any needed evaluations.

History codes are extremely helpful in diagnosing intermittent failures.  These history codes become a “bread crumb trail” back to the source of a problem.  I would advise not to just “clear” history codes unless you have written them down and checked them out thoroughly.
Code reading with a scanner.

As far as reading a code, as long as we are talking about generic codes, any OBD II compliant scanner will more than likely be able to read those codes.  If a scanner does run across a code that it does not understand a message is displayed; “Manufacturer Only Code” or “Unreadable Code” across the screen.  What it is actually telling you is, it’s a “1” code (second digit of the code, or more to the point a manufacturer specific code).  You’ll have to step up to a better scanner to read that particular code.

GM and several other manufacturers have added additional information to the 5 digit codes.  These are not “codes” but are “Symptom categories”.  The DTC symptom is made up of an additional 2 digit code that is place after the 5 digit code (usually a space between the two codes)  The first digit following the DTC indicates the symptom category, while the second digit refers to the subsystem or a more in depth information about the symptom. There are 16 possible symptom categories available for 0 to 9 and A to F.  Currently there are only 8 categories in use, 0 through 7. 

They are:

CategoryCategory name                         Description
0General Electrical fault                Standard wiring failures
1Additional Electrical failures         Overflow from the “0” code
2Frequency/Pulse Width           Frequency and pulse modulated inputs and outputs of                                                                                           the PCM
3PCM internal failures         Memory, software, internal electrical failures of the                                                                                            PCM
4     PCM programming failures       Operational software
5Algorithm failures              PCM failures or input comparison failures
6Mechanical failures            Faults detected by inappropriate motion in response to                                                                                         a PCM controlled output
7 Bus signal failures            Signal integrity or bus hardware failures
8 – FReserved codes       Reserved for future use.

The second digit of these “symptom” codes refer to a specific problem area.  For example;
      01 represent a code for “short to battery”
  02 represent a code for “short to ground”

As you can see the first digit represents the general area of the code while the second digit is more precise with what it wants to tell you to look for. I’ve counted over 80 subsystem codes in use right now. I’m sure they’ll be more. 

Coding and deciphering the code has become a regular part of a technician’s daily job.  Knowing how to interrupt and break down the internal structure of the code will help in determining how to make the proper repairs.  The more time we can spend doing the correct diagnosis means the less time we’ll spend on the job, and the quicker we can move onto the next. 

Return to Knowledge Page