OBD codes can confuse pretty much everyone...even mechanics. Just because you have an auto diagnostic codes for a certain part on the car, it does not mean that that part needs to
be replaced. It means that that SYSTEM is having a problem and it needs
further diagnose to determine why the computer is setting the code.
This problem is made worse by auto parts stores that are trying to sell auto parts. Some of them (definitely not all) will try to get you to buy the part that they think is the problem simply by reading the auto diagnostic codes.
That being said I still advise you to go to your local auto parts store to get the codes read unless you have a great local mechanic that you know and trust. Auto parts stores will usually read them for free. The key is to not let the guy at the store talk you into buying any parts. His job is to sell you a part, not figure out what is wrong with your car.
After you know the code you can come back to this site and look up the meaning as well as common causes and diagnostic aids. On the next few pages of this section you will find an article that I've written about the most common OBD codes and the things that commonly cause the problem. Let's take a look at what OBD codes actually are.
Most codes that you will see are "generic", usually starting with P0xxx, but there are also codes called "manufacturer codes". Information about them is harder to find because these are more specific.
If you are looking for manufacturer specific codes, I recommend you turn to a good online repair manual.
To troubleshoot, repair and maintain your vehicle, you'll need diagnostic and repair information that is specific to your car or truck. For this I personally use and recommend ALLDATAdiy. With full manuals for over 30,000 vehicles online, you will find an exact match for your vehicle's year, make and model.
Besides being cheaper than a factory manual, they also offer step by step repair instructions and detailed diagrams beyond what is found in most printed manuals. Click here for a sample of their diagnostic and repair information.
Car sensors are responsible for generating auto diagnostic codes - Click here to learn about the different types of car sensors.
This information should work for any vehicle built from 1996 to today (there will be exceptions though).
Example P0340 (Camshaft sensor code)
1st Digit: B is for Body, C is for Chassis, P is for Powertrain, U is for Network
2nd Digit: 0 is for SAE aka generic, 1 is for mfg (Manufacturer Specific Codes)
* 1 Fuel and Air Metering
* 2 Fuel and Air Metering Injector Circuit
* 3 Ignition System (Including Misfires)
* 4 Auxiliary Emissions Controls
* 5 Vehicle Speed Controls And Idle Control System
* 6 Computer Output Circuit
* 7 Transmission
* 8 Transmission
4th & 5th Digit - two place fault code 0-99
There are two types of obd codes (DTC) that apply to OBD II. I have
them listed below with Type 1 being the more important because they can
cause quick and severe damage. Type 2 being not quite as important but
you still need to deal with it.
1. Emissions related (things like EVAP codes).
2. Illuminates the MIL after one "driving cycle" that has failed.
3. Creates a trouble code freeze frame (information about other things that were going on in the engine) after one "driving cycle" that has failed.
1. Emissions related OBD codes that aren't causing lost of pollution.
2. Will set a "pending" trouble code after one failed driving cycle.
3. Will clear a "pending" trouble code after one successful driving cycle.
4. Turns on the check engine light after two consecutive failed driving cycles. Stores a freeze frame after two consecutive failed driving cycles.
P0100-P0199 – Fuel and Air Metering. These will be things like the mass airflow sensor and throttle body
P0200-P0299 – Fuel and Air Metering (Injector Circuit). These codes would be for things involving the fuel injectors.
P0300-P0399 – Ignition System or Misfire. If there was a bad spark plug or faulty coil you would see one of these codes.
P0400-P0499 – Auxiliary Emissions Controls. These are the famous EVAP system codes.
P0500-P0599 – Vehicle Speed Controls and Idle Control System. The idle air control valve and VSS would fall under this category.
P0600-P0699 – Computer Output Circuit. Sometimes these types of codes point to a faulty computer.
P0700-P0999 – Transmission Codes. Many times there is a code set in the engine computer that simply lets the driver know that there is a fault in the transmission computer and the TCU needs to be scanned for codes.
Now you have a better idea of what makes up a DTC (Diagnostic Trouble Code). You can see that every digit has it's purpose. You also know
which system is having the problem just by knowing what the first few
numbers are. Let's take a look at some specific codes and find out what
the likely fixes are.