For DIY car enthusiasts and home mechanics, the On-Board Diagnostics (OBD-II) system is an invaluable tool. Your car has the ability to communicate malfunctions directly to you through this system. When your vehicle’s computer detects an issue, it generates and stores a Diagnostic Trouble Code (DTC) in the Engine Control Unit (ECU) memory. By connecting an OBD2 code reader to your car’s OBD port, you can access these codes and pinpoint the source of the problem.
The structure of these codes is standardized, making it easier to understand the nature of the fault even before consulting a detailed chart. Let’s break down the anatomy of an OBD2 code.
Understanding the Structure of OBD2 Codes
Every OBD2 code is composed of five characters: a letter followed by four numbers. Each position provides crucial information about the fault.
The First Letter: Category of Fault
The initial letter indicates the primary system affected by the fault:
- P (Powertrain): Relates to the engine, transmission, and associated components.
- B (Body): Concerns body-related functions such as airbags, power windows, and central locking.
- C (Chassis): Indicates issues with chassis systems like ABS, suspension, and steering.
- U (Network): Signifies problems with the vehicle’s communication network.
The First Number: Code Type
The first number that follows the letter specifies whether the code is a standardized or manufacturer-specific code:
- 0: SAE standardized fault codes. These are common across all makes and models.
- 1: Manufacturer-specific codes. These are defined by the car manufacturer and may vary between brands.
The Second Number: Subsystem Category
The second number further refines the fault location to a specific vehicle subsystem. The categories are:
- 0: Fuel and Air Metering and Auxiliary Emission Controls
- 1: Fuel and Air Metering
- 2: Fuel and Air Metering (injector circuit)
- 3: Ignition systems or misfires
- 4: Auxiliary emission controls
- 5: Vehicle speed control & idle control systems
- 6: Computer & output circuit
- 7: Transmission
The Third and Fourth Numbers: Specific Fault
The final two digits provide the most specific information, identifying the exact fault within the subsystem category.
Example: Decoding P0303
Let’s take the example code P0303 to illustrate this structure:
- P: Powertrain fault (engine or transmission related).
- 0: Standardized SAE code (common code).
- 3: Ignition systems or misfire issue.
- 03: Specifically, misfire detected in cylinder 3.
Therefore, P0303 indicates a powertrain-related standardized code pointing to a misfire in cylinder number 3.
Understanding OBD2 DTC Codes Structure for Car Diagnostics
Common OBD2 Trouble Codes
Below is a chart showing some common OBD2 codes to give you an idea of the range of issues that can be detected. Remember that this is not an exhaustive list, and different car models may have specific codes.
Code | Code Identification |
---|---|
P0101 | Mass air flow (MAF) sensor circuit, range or performance problem |
P0102 | Mass air flow (MAF) sensor circuit, low input |
P0103 | Mass air flow (MAF) sensor circuit, high input |
P0106 | Manifold absolute pressure (MAP) sensor circuit, range or performance problem |
P0107 | Manifold absolute pressure (MAP) sensor circuit, low input |
P0108 | Manifold absolute pressure (MAP) sensor circuit, high input |
P0112 | Intake air temperature (IAT) circuit, low input |
P0113 | Intake air temperature (IAT) circuit, high input |
P0117 | Engine coolant temperature (ECT) circuit, low input |
P0118 | Engine coolant temperature (ECT) circuit, high input |
P0121 | Throttle position sensor (TPS) circuit, range or performance problem |
P0122 | Throttle position sensor (TPS) circuit, low input |
P0123 | Throttle position sensor (TPS) circuit, high input |
P0125 | Insufficient coolant temperature for closed loop fuel control |
P0131 | Oxygen sensor circuit, low voltage (pre-converter sensor, left bank) |
P0132 | Oxygen sensor circuit, high voltage (pre-converter sensor, left bank) |
P0133 | Oxygen sensor circuit, slow response (pre-converter sensor, left bank) |
P0134 | Oxygen sensor circuit – no activity detected (pre-converter sensor, left bank) |
P0135 | Oxygen sensor heater circuit malfunction (pre-converter sensor, left bank) |
P0137 | Oxygen sensor circuit, low voltage (post-converter sensor, left bank) |
P0138 | Oxygen sensor circuit, high voltage (post-converter sensor, left bank) |
P0140 | Oxygen sensor circuit – no activity detected (post-converter sensor, left bank) |
P0141 | Oxygen sensor heater circuit malfunction (post-converter sensor, left bank) |
P0143 | Oxygen sensor circuit, low voltage (#2 post-converter sensor, left bank) |
P0144 | Oxygen sensor circuit, high voltage (#2 post-converter sensor, left bank) |
P0146 | Oxygen sensor circuit – no activity detected (#2 post-converter sensor, left bank) |
P0147 | Oxygen sensor heater circuit malfunction (#2 post-converter sensor, left bank) |
P0151 | Oxygen sensor circuit, low voltage (pre-converter sensor, right bank) |
P0152 | Oxygen sensor circuit, high voltage (pre-converter sensor, right bank) |
P0153 | Oxygen sensor circuit, slow response (pre-converter sensor, right bank) |
P0154 | Oxygen sensor circuit – no activity detected (pre-converter sensor, right bank) |
P0155 | Oxygen sensor heater circuit malfunction (pre-converter sensor, right bank) |
P0157 | Oxygen sensor circuit, low voltage (post-converter sensor, right bank) |
P0158 | Oxygen sensor circuit, high voltage (post-converter sensor, right bank) |
P0160 | Oxygen sensor circuit – no activity detected (post-converter sensor, right bank) |
P0161 | Oxygen sensor heater circuit malfunction (post-converter sensor, right bank) |
P0171 | System too lean, left bank |
P0172 | System too rich, left bank |
P0174 | System too lean, right bank |
P0175 | System too rich, right bank |
P0300 | Engine misfire detected |
P0301 | Cylinder number 1 misfire detected |
P0302 | Cylinder number 2 misfire detected |
P0303 | Cylinder number 3 misfire detected |
P0304 | Cylinder number 4 misfire detected |
P0305 | Cylinder number 5 misfire detected |
P0306 | Cylinder number 6 misfire detected |
P0307 | Cylinder number 7 misfire detected |
P0308 | Cylinder number 8 misfire detected |
P0325 | Knock sensor circuit malfunction |
P0327 | Knock sensor circuit, low output |
P0336 | Crankshaft position sensor circuit, range or performance problem |
P0337 | Crankshaft position sensor, low output |
P0338 | Crankshaft position sensor, high output |
P0339 | Crankshaft position sensor, circuit intermittent |
P0340 | Camshaft position sensor circuit |
P0341 | Camshaft position sensor circuit, range or performance problem |
P0401 | Exhaust gas recirculation, insufficient flow detected |
P0404 | Exhaust gas recirculation circuit, range or performance problem |
P0405 | Exhaust gas recirculation sensor circuit low |
P0410 | Secondary air injection system |
P0418 | Secondary air injection pump relay control circuit |
P0420 | Catalyst system efficiency below threshold, left bank |
P0430 | Catalyst system efficiency below threshold, right bank |
P0440 | Evaporative emission control system malfunction |
P0441 | Evaporative emission control system, purge control circuit malfunction |
P0442 | Evaporative emission control system, small leak detected |
P0446 | Evaporative emission control system, vent system performance |
P0452 | Evaporative emission control system, pressure sensor low input |
P0453 | Evaporative emission control system, pressure sensor high input |
P0461 | Fuel level sensor circuit, range or performance problem |
P0462 | Fuel level sensor circuit, low input |
P0463 | Fuel level sensor circuit, high input |
P0500 | Vehicle speed sensor circuit |
P0506 | Idle control system, rpm lower than expected |
P0507 | Idle control system, rpm higher than expected |
P0601 | Powertrain Control Module, memory error |
P0602 | Powertrain Control module, programming error |
P0603 | Powertrain Control Module, memory reset error |
P0604 | Powertrain Control Module, memory error (RAM) |
P0605 | Powertrain Control Module, memory error (ROM) |
* Note: Not all codes are applicable to every vehicle model.
Understanding Obd2 Code Reader Codes empowers you to take control of your car’s diagnostics, saving time and potentially money on mechanic visits. By learning to interpret these codes, you can gain valuable insights into your vehicle’s health and address issues effectively.