Diagnostic Trouble Codes or OBD2 Trouble Codes are codes that the car’s OBD system uses to notify you about an issue. Each code corresponds to a fault detected in the car. When the vehicle detects an issue, it will activate the corresponding trouble code.
A vehicle stores the trouble code in it’s memory when it detects a component or system that’s not operating within acceptable limits. The code will help you to identify and fix the issue within the car.
Each trouble code consists of one letter and four digits, such as P1234. This blog post will teach you how to interpret the meaning of the codes.
Format of the OBD2 Trouble Codes
System or Category
The OBD2 Trouble Codes are categorised into four different systems.
Body (B-codes) category covers functions that are, generally, inside of the passenger compartment. These functions provide the driver with assistance, comfort, convenience, and safety.
Chassis (C-codes) category covers functions that are, generally, outside of the passenger compartment. These functions typically include mechanical systems such as brakes, steering and suspension.
Powertrain (P-codes) category covers functions that include engine, transmission and associated drivetrain accessories.
Network & Vehicle Integration (U-codes) category covers functions that are shared among computers and systems on the vehicle.
The first letter of the code will mark the system related to the trouble code.
Generic and manufacturer specific codes
The first digit in the code will tell you if the code is a generic or manufacturer specific code.
Codes starting with 0 as the first digit are generic or global codes. It means that they are adopted by all cars that follow the OBD2 standard. These codes are common enough across most manufacturers so that a common code and fault message could be assigned.
Codes starting with 1 as the first digit are manufacturer specific or enhanced codes. It means that these codes are unique to a specific car make or model. These fault codes will not be used generally by a majority of the manufacturers.
The first digit might be also 2 or 3. In this case the type depends on the system. B2xxx and C2xxx codes are manufacturer controlled while B3xxx and C3xxx codes are reserved at the moment. P2xxx codes are generic codes while P3xxx codes are manufacturer controlled. U2xxx codes are manufacturer controller as well as U3xxx codes.
Subsystem or functional area
Previously, the second digit defined the sub-system of the codes. However, the latest document defining the diagnostic trouble codes (J2012 revised in 2016-12) had some changes to this.
According to the document, as the DTC usage has increased with the introduction of new technology to vehicle systems, it was necessary to remove the grouping of DTCs into functional areas.
The last two or nowadays three digits define the actual fault description. These numbers will tell the particular problem and each code is defined separately. There’s no formula to decode these codes automatically.
Luckily, OBD Auto Doctor software contains the fault description for over 18 000 diagnostic trouble codes.
There’s no need to memorize the format of the codes because you can read the codes with the free version of the OBD Auto Doctor car diagnostic software.
If your car has the Check Engine Light on, it means that the vehicle has one or more confirmed OBDII trouble codes active. To learn
The Check Engine Light indicates that there is a problem with the car. Either the engine is having a problem or the emission control system has detected an issue. This malfunction is indicated by triggering the Check Engine Light (CEL).
The indicator light is sometimes also referred as Malfunction Indicator Light (MIL). This warning light is the main indicator to warn you about problems with the vehicle. Ignoring the warning can cause serious damage to the car.
There is always at least one OBD2 diagnostic trouble code associated with the check engine light. When the vehicle detects an issue, it will set an active trouble code and trigger the CEL. This tutorial will show you how to read the diagnostic trouble codes and reset the Check Engine Light yourself.
Read the Diagnostic Trouble Codes
Reading the diagnostic trouble codes (DTCs) is an important step to start with. The DTCs will tell you the reason for the fault. The codes help you identify the issue and determine the cause. Reading the codes is easy.
Prepare the vehicle for connection
Locate the OBD-II diagnostic connector in your car. Search for 16-pin D-shaped connector that will match the adapter. The connector should be located close to the steering wheel. Typical place for the socket is the compartment under the driver’s side dashboard.
Connect the OBD2 dongle to the connector. Make sure the adapter is tightly attached but don’t use too much force.
Turn ignition key to the ON position. Don’t start the engine because to reset the light, the engine shouldn’t be running. If the dongle has some LEDs, they should start blinking. If the dongle has on/off switch, make sure it is turned on.
Use OBD software to read the codes
Now, launch the OBD Auto Doctor car diagnostic software and connect to the dongle. The connection procedure is a bit different depending on the platform you are using. It also depends on the connection method (Bluetooth, WiFi or USB). Refer to the connection instructions of the platform and dongle.
If you are using the desktop version (PC, Mac or Linux), continue with the step A. Otherwise, proceed to the step B for mobile app (Android or iOS) usage.
A. Read the DTCs with the desktop software
To read the DTCs with the desktop software, navigate to Trouble Codes from the left navigation panel. The software will read and show the information.
Change the tab in the top to switch the view between confirmed, pending and permanent DTCs and freeze frame.
You can also export all the codes and the freeze frame to a text file to keep history of events. While in the Trouble Codes view, click Export and save the file to your computer.
B. Read the DTCs with the mobile app
Reading the DTCs is very simple with the mobile app, just navigate to Trouble Codes tab. The app will fetch the information for you.
To get detailed information, navigate to Diagnostic Trouble Codes and/or Freeze Frame
You can also export all the codes and the freeze frame. While in the Trouble Codes tab, tap the share button from the top header and select the preferred method. This way you can save the diagnostic information for later analysis.
Reset the Check Engine Light
Most of the time the diagnostic trouble codes appear for a good reason. You should investigate the codes and fix the issues causing the errors. Only after fixing, you should proceed to resetting the check engine light. If you haven’t fixed the issues, the same codes might come back immediately.
However, sometimes the error codes occur from a random failure and there’s nothing to fix. In this case, you can reset the check engine light and hope the issue doesn’t come back. If it wasn’t just a random failure, the error returns. Yet, you should ensure that there are no problems with the car every time before doing the reset.
Clear diagnostic information
Resetting the check engine light will clear the diagnostic trouble codes too. It will also clear all other diagnostic information such as stored freeze frame data and status of test results. After the reset, the car may run poorly while it performs re-calibration.
One important thing to note is that resetting the CEL will reset the readiness monitors. This means that your car will not pass emissions inspection immediately after the reset. Because the emissions data is deleted, the smog device will fail your car. Read more about the emissions or readiness monitors and how to get them ready from this tutorial.
After you have read the DTCs, you can continue to clearing the codes and the warning light. Depending whether you are using the desktop software or the mobile app, continue to either step A or step B accordingly.
A. Use Windows, Mac or Linux to reset the Check Engine Light
To reset the Check Engine Light with your computer:
Click the Clear the DTCs button in the Trouble Codes view. Read and acknowledge the information presented.
Now, the reset command is send to the car and the light is cleared. To see illustration of the process, check the short animation below.
B. Use Android or iPhone to reset the Check Engine Light
To reset the Check Engine Light with your mobile device:
Tap the Reset trouble codes and MIL button. Read and acknowledge the information presented.
Now, the reset command is send to the car and the light is cleared. To see short illustration of the process, check the animation below.
Resetting the Check Engine Light is very easy process. More work is required for analysing the root cause of the warning and fixing the possible issues. Luckily, the car itself helps you get started. It provides the Diagnostic Trouble Codes and other diagnostic information about the problem.
Avoid expensive dealer visits by reading the codes and resetting the warning light yourself. It’s a good idea to get the software and dongle right now. Waiting for the actual issues to appear might be too late. Getting yourself familiar with the tools when everything is working fine is a great start.
Avoid battery reset
Resetting the DTCs is sometimes also possible by disconnecting the battery for awhile. We do not recommend this method. New vehicles can have systems that need constant battery voltage. Disconnecting the battery can cause new issues with these systems. For example, the car theft system or infotainment system might be reset. Resetting the DTCs with a OBD tool is the recommend way. That's how the professional mechanics do it and you should too.
Mode $06 is an advanced diagnostic functionality mode included as part of the On-Board Diagnostic standard (OBD2). It keeps track on how emission control components and other systems and sensors are functioning. Mode $06 allows access to the results for on-board diagnostic monitoring tests of these systems. These systems or components can be either continuously monitored (e.g. misfire monitoring) or non-continuously monitored (e.g. catalyst system). Continuous monitors run all the time while the non-continuous monitors run only after certain conditions are met.
OBD2 Mode $06 is sometimes referred just as Mode 6. The Mode 6 reveals the actual self-test data that is used by the OBDII system to detect faults and readiness monitor results. It enables more complete analysis of the DTCs and readiness monitor test results.
Mode $06 monitors
Here’s a list of the On-Board Diagnostic Monitors defined by the OBD2 standard at the moment. OBD Auto Doctor supports them all.
Exhaust Gas Sensor Monitor
Exhaust Gas Sensor Heater Monitor
Heated Catalyst Monitor
Secondary Air Monitor
Fuel System Monitor
Boost Pressure Control Monitor
NOx Adsorber Monitor
NOx/SCR Catalyst Monitor
Misfire Cylinder Data
PM Filter Monitor
In addition to these standard defined monitors, manufacturers can have proprietary monitors. Our software can access the manufacturer specific Mode $06 data but it won’t be able to give the monitors or tests a name. It will give you the Monitor ID (OBDMID) and the Test ID (TID) and the data values. You will have to look up the meaning of those from the service manuals, or you can search the Internet for more help. For example, if you have GM vehicle, check out the OBD Mode $06 definitions for GM cars.
How can Mode 6 help?
The Mode 6 data can help you in many ways depending on your level of expertise and experience with cars. OBD Auto Doctor will give you the result and limit numbers plus the test result (pass/fail). The numbers can reveal a lot of the inner workings of the car if you are able to give the them a more detailed meaning in the correct context. The data can help you for example in the following ways:
You can detect emerging problems before they set an active error code.
You can find issues that are causing runnability problems, but that have not developed into active errors yet.
You can use the data to identify whether a Diagnostic Trouble Code was set by a major failure or if the test just barely failed.
You can verify that the repairs made have actually fixed the correct problem. You don’t need to wait for days for certain OBDII self-tests to run and possibly turn the Check Engine Light on.
Mode 6 data can reduce a lot of guesswork by eliminating components and systems out of the problem. But to get the most out of the data, you need to have a bit of knowledge of how the engine works.
Example: Engine Misfires
Many technicians find the misfire checking the most useful part of the Mode $06. Every time a cylinder misfires, the system increases the misfire counter for that cylinder. Only if the misfire count exceeds a certain threshold, it will result in a misfire trouble code. If the misfire count stays below the limit, no trouble code is set and no notice is provided for you. But you might be still able to feel the misfire when the engine is under heavy load or acceleration.
With the help of the OBD Auto Doctor, you can read the actual misfire counts recorded for each cylinder. The purpose of the misfire data is to help you identify which cylinders are currently misfiring and identify which cylinders have been consistently misfiring in previous driving cycles. Typically the misfire count should be equal or close to zero. In this case, there’s no problem. If a single cylinder misfire count is relatively higher compared to the other cylinder misfire counts, it indicates a possible issue. It tells that the cylinder is experiencing an abnormal behavior, and that there’s a problem with the ignition, fuel or compression in that cylinder. Remember that misfire counts for cylinder should only be compared relative to each other.
In this article, I explained the basics of the OBD2 Mode $06 also known as the On-Board Diagnostic Monitors. I hope the text gave you clear introduction to these monitors and how then can be used for car diagnostics. To get started analyzing your car, download the OBD Auto Doctor software for a PC or Mac now!
Please note that not all On-Board Diagnostic Monitor IDs or Test IDs are supported by all systems. The software is able to show only the monitors and tests that the car provides. Moreover, some older cars might not even support the Mode $06 at all. Use the free version of the software to see what data your car provides. Even the free version will list the available monitors and tests.
OBD2 Readiness Monitors are simple yet powerful self check routines. They provide insight to the car’s self-diagnostics. This post will explain in detail what the readiness monitors are.
The purpose of readiness monitors is to self-test the car’s emission control systems. The monitors are also known as Emissions Monitors. Like the name indicates, they observe the performance of car’s emission related systems.
Cars may perform up to 11 system tests or routines. These tests are so called readiness monitors. The output of readiness monitors tell you whether the car’s computer has completed the tests successfully.
Readiness Monitor types
There are two different types of readiness monitors: continuous and non-continuous. Continuous monitors are different in design from the non-continuous ones. Continuous monitors are being constantly tested and evaluated while the engine is running. The non-continuous monitors need certain conditions to be met before a test can be completed.
The conditions necessary to run the non-continuous self-diagnostic tests vary. Some monitors require that the car follows a predefined drive cycle routine. Some require two drive cycles because of the need for a cool down and warm up periods between. Each emission monitor can have different requirements for the conditions.
Previously, the OBD2 standard (SAE J1979) categorized each defined monitor as either one. In the latest standard edition, this definite allocation is no longer present for all of them. Thus, OBD Auto Doctor doesn’t follow the categorization anymore either.
Continuous or Non-continuous Monitors
These monitors can be of either type. It’s up to the manufacturer to decide.
Non-continuous monitors are different for spark ignition cars (gasoline engines) and compression ignition cars (diesel engines).
Spark ignition vehicles (Gas)
Evaporative (EVAP) System
Secondary Air System
Oxygen (O2) Sensor
Oxygen Sensor Heater
EGR (Exhaust Gas Recirculation) and/or VVT System
Compression ignition vehicles (Diesel)
Exhaust Gas Sensor
EGR and/or VVT System
Traditionally, the only monitor status was the status since the diagnostic trouble codes were cleared. This readiness monitor status is mandatory for all OBD2 compliant vehicles. It will show the long term status after the check engine light was reset and the DTCs cleared.
As the OBD2 has evolved, newer vehicles can now report emission monitor status also for the current driving cycle. These monitors start from the beginning every time when the monitoring cycle begins. Older cars might not support this feature. In that case, OBD Auto Doctor will mark it as NA or Not Available.
Readiness monitor test result yields the monitor status. Each readiness monitor will have its own output status. The completion status can be:
Complete or ready meaning that the test has been completed. It means that the OBD-II system has checked this emissions control system and it has passed the test. OBD Auto Doctor indicates this by green check mark.
Incomplete or not ready meaning the test is not completed. It means that the OBD2 system has not been able to run this routine or it has failed. OBD Auto Doctor indicates this by red exclamation mark.
Disabled meaning that the test has been disabled for the rest of this monitoring cycle. A monitor can be disabled when there is no easy way for the driver to operate the vehicle to allow the monitor to run. For example, the ambient air temperature might be too low or too high.
OBD Auto Doctor lists all the defined monitors in the software. But the actual status can be reported only for the ones that the car supports too. It is not required for a car to support all the monitors. NA or not available monitor means that the car doesn’t have that monitor. Thus it can’t be tested.
Why is a monitor incomplete or “not ready”
Clearing the diagnostic trouble codes (DTCs) and the Check Engine Light will reset the monitor statuses too. This typically occurs during or after vehicle repair.
Statuses are also reset in case of power failure. This usually happens when the battery has been disconnected. That’s why it is not advisable to disconnect the battery. If you need to disconnect the battery for example to replace it, read further. You will learn how to get the monitors back to complete.
For the current monitoring cycle, or “this drive cycle”, the status is set to incomplete upon starting a new monitoring cycle. It is a normal situation for these monitors to be incomplete when starting the engine.
Depending on your country and state, OBDII vehicle may not pass the annual inspection unless the required monitors since reset are complete. For example, the US Environmental Protection Agency guidelines allow up to two monitors to be not ready for model year 1996 through 2000 vehicles. For 2001 and newer model year vehicles only single monitor status can be incomplete or not ready.
How to get the monitors complete or “ready”?
Because the monitors are self check routines, the best way to get them ready is to drive the car. Yet, monotonic driving will not most likely meet all the needed conditions. That’s why there is so called OBD drive cycle. But before going into that, let’s go through the obvious ones.
First, make sure that the MIL (Malfunction Indicator Light) is not commanded on. Having stored or even pending diagnostic trouble codes active may prevent a monitor from running to completion.
Second, make sure that you have enough fuel in the car. Some monitors, for instance the EVAP monitor, may require the fuel level to be between 35% and 85% to initiate the diagnostic testing.
Third, complete the so called “drive cycle”. About one week of combined city and highway driving is usually enough to allow the monitors to reach complete status. The drive cycle is explained in more details in the next paragraph.
OBD drive cycle
The purpose of the OBD2 drive cycle is to let your car run on-board diagnostics. This, in turn, allows the readiness monitors to operate. And detect potential malfunctions of your car’s emission system. The correct drive cycle for your car can vary greatly depending on the car model and manufacturer. Also, the monitor in question affects the required drive cycle.
Today, many vehicle manufacturers include these drive cycles in the vehicle owner’s manual. Typically, a few days of normal driving, both city and highway, will make the monitors ready. The following generic drive cycle can be used as a guideline if a specific drive cycle is not known. It will assist with resetting monitors when a car specific drive cycle is not available. However, it may not work for all cars and monitors.
The drive cycle can be difficult to follow exactly under normal driving conditions. Thus, it is better to drive it in restricted area!
The universal OBD-II drive cycle begins with a cold start. You should have coolant temperature below 50 C/122 F, and the coolant and air temperatures within 11 degrees of one another. This condition can be achieved by letting the car to sit overnight.
The ignition key must not be left ON position before the cold start. Otherwise the heated oxygen sensor diagnostic may not run.
Start the engine and idle the engine in drive for two and half minutes, with the A/C and rear defroster on if equipped.
Turn the A/C and rear defroster off, and speed up to 90 km/h (55 mph) under moderate, constant acceleration. Hold at a steady speed for three minutes.
Slow down to 30 km/h (20 mph) without braking. Do not depress the clutch if you are running with manual transmission.
Speed up back to 90-100 km/h (55-60 mph) at 3/4 throttle. Hold at a steady speed for five minutes.
Slow down to a stop without braking.
Get ready for inspection
To avoid rejection in the annual inspection, you can prepare your car for the check yourself. You should at least read the readiness monitors and make sure they are ready. This will save you from almost guaranteed rejection.
Well, that’s a question we hear once in a while. As you may have noticed, there is no separate Pro version of the app in Google Play. Your observation is correct. The reason for that is because the upgrade is done using Google Play In-App Billing mechanism.
Okey, so how does the process go in practice? Let me show you how to upgrade the app with some illustration. You can click the images to view them larger.
The steps are very easy. Let’s go thru them:
Launch the app. Once started, tap Extras from the bottom menu. Then scroll down and select Upgrade.
Tap the ‘Upgrade now‘ button.
Check all the details and then tap ‘BUY‘ to make the purchase.
As with all Google Play purchases, this purchase is also bind to your Google Account. You can install the app to all your Android devices with a single purchase. Just download the free app from Google Play, launch it and the app should automatically upgrade to the Pro version. It is that simple.
Purchasing a used car can be a tedious process. The chances that you make a good deal might not be so good. However, if you succeed in it, you can save a lot of money and trouble. Read more about how OBD Auto Doctor assists you to achieve this goal.
But how can you make such good a deal, how can you be sure that the car has real mileage and was properly maintained, for example? Even more, some of the problems can be hidden, such as engine and transmission problems. These hidden problems might not have come out during the test drive. The key to closing the deal successfully is to eliminate these potential problems beforehand.
Reveal the Hidden Problems
First of all, one of the most beneficial means to making a good deal on buying a used car is to reveal the hidden problems immediately. OBD Auto Doctor is the tool for accomplishing this task. With our software, you can verify that the Check Engine Light (Malfunction Indicator Lamp, MIL) is really turned off, thus revealing a broken light bulb, for example. You can also check that the Diagnostic Trouble Codes (DTCs) were not incorrectly previously turned off without fixing the real problems that caused the issues. The OBD2 software also reports the pending DTCs with a click of a button. A pending DTC is a diagnostic trouble code that is stored permanently only if the fault occurs a certain number of times. A pending DTC indicates a future issue and you should take them seriously when buying a used car. The pending trouble code will remain pending until the fault condition occurs the required number of times. In this case, the DTC will be then stored permanently. A permanent diagnostic problem will light up the MIL and requires you to fix the issue as soon as possible. On the other hand, if the malfunction does not re-occur during a set period of time, the pending DTC will be automatically cleared.
Some interesting OBD parameters when examining a car:
Distance traveled while MIL is activated
Number of warm-ups since DTCs cleared
Distance traveled since DTCs cleared
Engine run time while MIL is activated
Engine run time since DTCs cleared
Note that the actual list of available parameters is vehicle specific and not every car supports every parameter.
Check the VIN
Secondly, you should absolutely check the car’s history records before proceeding any further. You can do this easily even on-line with Vehicle Identification Number (VIN). The VIN is a helpful identifier in this case, since a VIN is a unique for every car and it specifies the fingerprint of the vehicle. Typically, the VIN can be found by looking at the dashboard near windshield on the driver’s side of the vehicle (refer the car’s user manual for the specific location). You can also fetch the VIN with OBD Auto Doctor, and verify that the car engine has the same VIN as the physical tag. By comparing the physical VIN and the VIN reported by the OBD2 software, you can tell for sure that the car has the right engine in it.
People usually get interested in the On-Board Diagnostics when the Malfunction Indicator Light illuminates on the dashboard of their cars. The Malfunction Indicator Light (MIL) is also known as the Check Engine Light. The purpose of this warning light is to indicate a detected problem with the car and alert the driver about the issue.
The OBD2 system illuminates the light when there is a problem with the car’s engine, transmission or emission control system. The light turns on only for a reason and you should not ignore it. You should always investigate the cause.
What does the Malfunction Indicator Light mean?
The Malfunction Indicator Light can signal three different types of problems.
Occasional flashes indicate temporary engine malfunctions. In this case, it is good to be aware of the possible forthcoming issues which can later on turn to more serious ones.
The most common case is when the indicator light stays on constantly. It indicates more serious problem that requires action to be taken; the sooner the better. Yet, sometimes the issues aren’t that serious but can affect the emissions of the vehicle, for example.
The most serious type of signaling is when the MIL flashes all the time. It is a sign that your vehicle’s engine is misfiring. The issue is a major one and you should stop the engine immediately to prevent serious damage. For instance, it might cause the catalytic converter to overheat and even cause a fire.
N.B. It is totally normal for the light to illuminate for a few seconds when you start the engine. But it should go out when the engine is running.
How to get more information about the issue?
Some of the OBD-II issues are relatively small. Those don’t have much impact on engine operation. On the other hand, some of the issues are major and need appropriate measures to be taken. Unfortunately, there is no way to distinguish between them by just looking at the MIL.
The only way to find out what’s wrong with the car is to plug in a OBD2 scantool. The tool and accompanied software can read the Diagnostic Trouble Code(s) from the system. Every time the OBD system turns on the MIL light, it will also store a Diagnostic Trouble Code (DTC) in the electronic control unit. The DTC will give information about the detected issue.
The OBD2 system can turn the MIL off automatically if the conditions for the problem stop to exist. After evaluating a system or component for three consecutive times without detecting the problem, the light can be turned off. But, usually the light remains on.
What are the next steps?
If you have a OBD-II scantool (for example one with ELM327 chip) and OBD diagnostic software, you can check the reason for the problem yourself. For example, our car diagnostic software can read the DTC code from the car and give you description of the code. Those will guide you towards the main cause of the problem.
With diagnostic software, you can even reset the MIL yourself. It is important to clear the Malfunction Indicator Light after fixing the problem. This is because, for example, the car will fail emissions testing if the MIL light is ON when tested.