If your check engine light has come on, the first step to finding the cause is reading the OBD-II diagnostic trouble code stored in your vehicle’s computer. OBD-II (On-Board Diagnostics, second generation) is a standardised system built into every car and light truck sold since 1996. It monitors the engine, transmission, emissions, and other systems, and stores a fault code when something falls outside normal parameters.
This guide explains how OBD-II works, how to read codes yourself, and what the most common codes mean so you can make informed decisions about your repair.
How OBD-II Works
Your vehicle’s Engine Control Module (ECM) and other control units continuously monitor sensor readings while the engine is running. Each sensor has an expected operating range defined by the manufacturer. When a reading falls outside that range for long enough to rule out a momentary glitch, the system stores a Diagnostic Trouble Code (DTC) and typically illuminates the check engine light (also called the Malfunction Indicator Lamp or MIL).
The OBD-II system also runs readiness monitors, which are self-tests that check specific emissions-related systems. These monitors run automatically under certain driving conditions and are the reason a check engine light sometimes comes on days after a specific event.
How to Read OBD-II Codes
You need an OBD-II scan tool to read diagnostic codes. The OBD-II port is a 16-pin trapezoidal connector, usually located under the dashboard on the driver’s side, near the steering column. Some vehicles place it behind a small cover or panel.
Basic OBD-II code readers are available from auto parts stores and online retailers for as little as $20 to $50 AUD. Bluetooth adapters that pair with a smartphone app (such as Torque for Android or OBD Fusion for iOS) are another popular option. These budget tools can read and clear engine codes, which is sufficient for most home mechanics.
More advanced scan tools ($200 and up) can also read codes from other modules like the transmission control unit, ABS, airbag, and body control module. Professional-grade tools can access manufacturer-specific codes and perform active tests like injector balance tests and actuator cycling.
Understanding the DTC Format
Every OBD-II code follows a standard five-character format. Understanding the structure helps you quickly identify what system is affected.
The first character is a letter indicating the system: P for Powertrain (engine and transmission), B for Body (airbags, climate control, lighting), C for Chassis (ABS, stability control, suspension), and U for Network/Communication (data bus faults between modules).
The second character is a number: 0 means it is a generic/standardised code defined by the SAE, while 1 means it is a manufacturer-specific code. Generic codes have the same meaning across all makes, while manufacturer-specific codes require the vehicle’s workshop manual to interpret correctly.
The third character indicates the sub-system: 1 and 2 for fuel and air metering, 3 for ignition, 4 for emissions, 5 for vehicle speed and idle control, 6 for computer output circuits, 7 and 8 for transmission.
The last two characters are the specific fault number within that sub-system.
For example, P0420 breaks down as: P (powertrain), 0 (generic code), 4 (emissions sub-system), 20 (specific fault – catalyst system efficiency below threshold, bank 1).
The 10 Most Common OBD-II Codes and What They Mean
P0420 – Catalyst System Efficiency Below Threshold (Bank 1)
This is one of the most frequently seen codes. It means the downstream oxygen sensor is detecting that the catalytic converter is not cleaning exhaust gases as effectively as expected. Common causes include a failing catalytic converter, exhaust leaks upstream of the sensor, a faulty downstream oxygen sensor, or engine misfires that have damaged the catalyst over time. This code does not always mean the catalytic converter needs replacing – diagnosis should start with checking for exhaust leaks and testing the oxygen sensors.
P0171 / P0174 – System Too Lean (Bank 1 / Bank 2)
These codes indicate the engine is running with too much air relative to fuel (a lean condition). The ECM has tried to compensate by adding fuel but has reached its adjustment limit. Common causes include vacuum leaks (cracked intake hoses, leaking intake manifold gaskets), a dirty or failing mass airflow (MAF) sensor, weak fuel pump, clogged fuel injectors, or a faulty PCV valve. On vehicles with both Bank 1 and Bank 2 codes, a vacuum leak or MAF sensor issue is most likely since it affects the entire engine.
P0300 – Random/Multiple Cylinder Misfire Detected
P0300 means the ECM has detected misfires occurring across multiple cylinders rather than a single cylinder. This points to a cause that affects the whole engine rather than one specific cylinder. Common causes include worn spark plugs, a failing ignition coil pack, vacuum leaks, low fuel pressure, or a faulty crankshaft position sensor. If you also have codes P0301 through P0308 (individual cylinder misfire codes), the cylinder with the highest misfire count is your starting point for diagnosis.
P0442 / P0455 – Evaporative Emission System Leak (Small / Large)
The EVAP system captures fuel vapours from the fuel tank and routes them to the engine to be burned. These codes mean the system has detected a leak. P0442 indicates a small leak and P0455 indicates a large leak. The most common cause by far is a loose, damaged, or missing fuel cap. Tighten or replace the cap and clear the code. If it returns, the leak may be in an EVAP hose, the charcoal canister, or the purge/vent valve.
P0128 – Coolant Thermostat Below Regulating Temperature
This code means the engine is not reaching its expected operating temperature within a set time after starting. The most common cause is a thermostat stuck in the open position, which allows coolant to circulate continuously and prevents the engine from warming up properly. A stuck-open thermostat also reduces cabin heater performance and can increase fuel consumption. Replacing the thermostat is a straightforward repair on most vehicles.
P0401 – Exhaust Gas Recirculation (EGR) Flow Insufficient
The EGR system recirculates a small amount of exhaust gas back into the intake to reduce combustion temperatures and NOx emissions. P0401 means the system is not flowing enough exhaust gas. Common causes include a carbon-clogged EGR valve, blocked EGR passages, or a faulty EGR position sensor. Cleaning the EGR valve and passages often resolves this code without needing to replace any parts.
P0131 / P0135 – Oxygen Sensor Circuit Issues (Bank 1, Sensor 1)
P0131 indicates low voltage from the upstream oxygen sensor, while P0135 indicates a fault in the sensor’s heater circuit. These sensors are critical for the ECM to control the air-fuel mixture. A failing upstream oxygen sensor can cause poor fuel economy, rough idle, and failed emissions testing. Oxygen sensors degrade over time and are a normal wear item, typically needing replacement between 100,000 and 160,000 km.
P0101 – Mass Airflow Sensor Circuit Range/Performance
The MAF sensor measures the volume and density of air entering the engine, which the ECM uses to calculate the correct fuel injection quantity. P0101 means the sensor’s readings are outside the expected range. A dirty MAF sensor is the most common cause and can often be fixed by carefully cleaning it with MAF-specific cleaner spray. Do not use brake cleaner or contact cleaner on a MAF sensor, as these can damage the delicate sensing element.
P0507 – Idle Control System RPM Higher Than Expected
This code means the engine idle speed is higher than the ECM’s target. Common causes include a vacuum leak, a dirty or sticking idle air control valve (on older vehicles), a dirty throttle body, or an air leak in the intake system after the MAF sensor. Cleaning the throttle body is often the first step and resolves many cases of this code.
P0522 – Engine Oil Pressure Sensor/Switch Low
This code means the oil pressure sensor is reporting low oil pressure. This can be a genuine low oil pressure condition (which is serious and requires immediate attention) or a faulty sensor. Check the oil level first. If the level is correct, the sensor itself may need testing or replacement. Your workshop manual will have the oil pressure specifications and the procedure to test actual oil pressure with a mechanical gauge.
Important: A Code Is a Starting Point, Not a Diagnosis
One of the most common mistakes in DIY diagnostics is treating the fault code as the diagnosis. A code tells you what the ECM detected (the symptom), not what caused it (the root cause). P0420 does not necessarily mean “replace the catalytic converter”. It means the catalyst efficiency is below threshold, which could be caused by a bad sensor, an exhaust leak, or engine misfires damaging the catalyst.
Proper diagnosis means reading the code, understanding what it indicates, and then following a systematic diagnostic procedure to identify the actual failed component. This is exactly what the diagnostic flowcharts in a vehicle-specific workshop manual are designed to help you do.
When to Clear Codes and When Not To
Clearing codes turns off the check engine light and erases the stored fault information. This is useful after you have completed a repair to verify the fix was successful. However, clearing codes before diagnosis removes valuable information including freeze frame data (the engine conditions at the time of the fault) and pending codes that have not yet triggered the light.
If you are taking your vehicle to a mechanic, do not clear the codes beforehand. The stored data helps them diagnose the issue faster and more accurately.
Using Your Workshop Manual for Code Diagnosis
A vehicle-specific workshop manual is the essential companion to any OBD-II scanner. The manual provides the complete DTC table for your exact vehicle with detailed diagnostic flowcharts that walk you through each possible cause in a logical sequence. It also includes the sensor specifications (voltage ranges, resistance values) you need to test components with a multimeter, and the wiring diagrams to trace circuits when the flowchart points to a wiring fault.
MechanicMate offers PDF workshop manuals with complete diagnostic sections for over 960 vehicle models. Every manual includes DTC tables, diagnostic flowcharts, sensor specifications, and wiring diagrams for your exact make and model. Browse our range of manuals for Toyota, Nissan, Mazda, Mitsubishi, Ford, Honda, and many more at mechanicmate.net/shop.