OBD Codes Explained

OBD codes can confuse pretty much everyone...even mechanics. The thing that most "Uncle Ed's" don't know about is that just because you have a code for a certain part on the car 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 code. That being said I actually 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.

Two Types of OBD Codes

Most codes that you will see are "generic", usually starting with P0xxx, but there are also codes called "manufacturer codes". These are sometimes more specific, but information about them is hard to find. If you are looking for manufacturer specific codes I recommend you use an online repair manual.. There you will be able to find much more information about it to help you figure out the cause. I have reviewed the best ones here.

Check Engine Light Codes Explained

This information should work for any vehicle built from 1996 to current (there are always exceptions though).

Example P0340 (Camshaft sensor code)1st digit: B is for Body, C is for Chassis, P is for Powertrain, U is for Network2nd digit: 0 is for SAE aka generic, 1 is for mfg (Manufacturer Specific Codes)3rd digit=

There are two types of obd codes (DTC's) 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.

Type 1

Emissions related (things like EVAP codes).

Illuminates the MIL after one "driving cycle" that has failed.

Creates a trouble code freeze frame (information about other things that were going on in the engine) after one "driving cycle" that has failed.

Type 2

Emissions related obd codes that aren't causing lost of pollution.

Will set a "Pending" Trouble Code after one failed driving cycle.

Will clear a "Pending" Trouble Code after one successful driving cycle.

Turns on the check engine light after two consecutive failed driving cycles. Stores a freeze frame after two consecutive failed driving cycles.

OBD Codes are grouped into these categories

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.