We may earn a commission when you buy through links on this page, at no extra cost to you. It never decides what we recommend. How we make money
Reading check engine light codes with an OBD2 scanner is the fastest way to stop guessing when the Malfunction Indicator Light (MIL) comes on. Many drivers make an expensive mistake right after pulling a code: they treat a Diagnostic Trouble Code (DTC) as a parts shopping list. A code never says “replace this sensor” on its own. It reports that a specific circuit, pressure reading, or exhaust measurement crossed a threshold programmed into the vehicle computer.
Buying parts based on the code title alone wastes money and leaves the lamp on. A driver who swaps a catalytic converter for code P0420 without checking for misfires, fuel trim problems, or a failing downstream oxygen sensor can spend a lot and still have the same code. Worse, driving hard while the lamp is flashing is exactly what the manufacturer warns against. This guide breaks down the 5-character OBD2 code structure, the common fault groups you are most likely to pull in a home garage, and the live data checks that separate a loose gas cap or split vacuum hose from a failed component.
Quick answer
- 5-character formatAll check engine light codes use 1 letter followed by 4 digits: P stands for Powertrain, a second character of 0 marks a generic SAE code, and 1 or 2 marks a manufacturer-specific fault.
- Steady vs blinkingA steady lamp means a stored fault that needs inspection; a blinking lamp indicates a severe problem and is meant to discourage driving.
- Fuel trim limitInnova’s guide says to worry when Short-Term or Long-Term Fuel Trim climbs above +10% or drops below -10%, which points to lean (P0171, P0174) or rich (P0172, P0175) fuel delivery.
- Catalyst checkAfter holding 2000 RPM for about 3 minutes and returning to idle, downstream oxygen sensor voltage should fluctuate slowly between 0.1V and 0.8V; rapid swings between those values point to a defective catalytic converter (P0420).
- Reset distanceIf the repair worked, the lamp can switch itself off after roughly 20 to 100 miles of driving, or you can clear it with a scan tool and then let the readiness monitors set again.
How check engine light codes work on OBD2 vehicles
Second-generation On-Board Diagnostics (OBD2) monitors emission control systems and key engine components through continuous and periodic tests. When a problem is detected, the system turns on the Malfunction Indicator Light (MIL) on the instrument panel and stores a 5-character Diagnostic Trouble Code. According to the ANCEL AD310 User Manual, scan tools connect through the Data Link Connector (DLC), a standardized 16-cavity connector that is usually located about 12 inches from the center of the instrument panel, under or around the driver’s side for most vehicles.
Understanding how check engine light codes are structured tells you which system set the fault before you open the hood. Every code is 1 letter followed by 4 digits:
| Code Position | Character Values | System or Meaning |
|---|---|---|
| 1st Character (System Letter) | P, B, C, U | P = Powertrain; B = Body; C = Chassis; U = Network |
| 2nd Character (Code Type) | 0 vs 1, 2 | 0 = Generic (SAE); 1 or 2 = Manufacturer-specific (for example P1, P2, B1, B2, C1, C2, U1, U2) |
| 3rd Character (Subsystem) | 1 through 6 | 1 = Fuel and air metering; 2 = Ignition system or engine misfire; 3 = Auxiliary emissions controls; 4 = Vehicle speed control and idle controls; 5 = Computer output circuits; 6 = Transmission controls |
| 4th and 5th Characters | 00 to 99 | Identify the individual component within that system (for example, 20 in P0520) |
Not every code in memory has turned the lamp on yet. The ANCEL product page describes reading hard (memory) codes, pending (intermittent) codes, and historic codes, so check each list on your scan tool instead of stopping at the first code you see.
Steady vs flashing light: when to stop driving
Before plugging in a scan tool, notice how the lamp behaves while the engine runs:
- Steady check engine light: The computer has stored a fault, often an emissions-related one such as an evaporative leak (P0442 or P0455) or a lean fuel trim code (P0171). If the engine sounds normal, holds normal temperature, and pulls smoothly, you can usually drive carefully to a safe place to scan it, but do not ignore it for long.
- Blinking or flashing check engine light: The ANCEL manual says the dashboard light can blink or flash under certain conditions, that this indicates a severe problem, and that flashing is intended to discourage vehicle operation. Reduce load, stop in a safe spot, and get the vehicle checked before driving further.
10 common check engine light codes explained
Thousands of generic and manufacturer-specific codes exist, but a small group of powertrain codes shows up again and again. When you pull check engine light codes with a reader, match the code against the symptoms and first checks in the table below before ordering parts.
| DTC Code | Official Meaning | Common Symptoms | Primary Causes to Inspect First |
|---|---|---|---|
| P0171 | Fuel System Too Lean (Bank 1) | Rough idle, hesitation, reduced power, poor fuel economy | Loose gas cap, cracked vacuum hose, dirty Mass Air Flow (MAF) sensor, faulty oxygen sensor, weak fuel delivery |
| P0174 | Fuel System Too Lean (Bank 2) | Rough idle, hesitation on acceleration, high positive fuel trim | Unmetered air entering the intake, split vacuum hose, dirty MAF sensor, aging oxygen sensor |
| P0172 / P0175 | Fuel System Too Rich (Bank 1 / Bank 2) | Runs fine cold but loses power when warm, heavy gasoline smell, negative fuel trim | Leaking fuel injectors or failing MAP, IAT, O2, ECT, or fuel rail pressure sensors |
| P0300 | Random or Multiple Cylinder Misfire Detected | Stumbling, hesitation, rough idle, blinking lamp under load | Worn spark plugs, failing ignition coils, vacuum leaks, low supply voltage, uneven fuel delivery |
| P0351 – P0356 | Ignition Coil Primary/Secondary Circuit Fault (cylinder-specific) | Single-cylinder misfire, rough running, hesitation | Overheated or shorted coil, oil in the plug well from a leaking valve cover gasket, corroded or damaged wiring |
| P0401 | Exhaust Gas Recirculation (EGR) Flow Insufficient | Lamp on, failed emissions test, rough idle or pinging under load | Carbon blocking EGR passages, stuck EGR valve, cracked vacuum line or faulty control solenoid |
| P0420 | Catalyst System Low Efficiency (Bank 1) | Lamp on, reduced power, poor fuel economy, failed smog check | Misfires, over-fueling, exhaust leak near the sensors, failing downstream O2 sensor, damaged catalytic converter |
| P0440 / P0496 | EVAP Control System Malfunction / EVAP Purge Flow Fault | Lamp on, hard starts after refueling, fuel odor | Loose or cracked gas cap, stuck purge or vent valve, cracked vapor line |
| P0442 / P0455 / P0456 | EVAP System Leak Detected (Small / Large / Very Small) | Usually no drivability change; lamp on and EVAP monitor stays incomplete | Loose or worn gas cap seal first, then vapor hoses and the charcoal canister |
| P0451 / P0452 / P0453 | EVAP Fuel Tank Pressure Sensor Range or Input Fault | Hard starts, fuel smell, erratic tank pressure reading | Corroded sensor connector, damaged wiring, failed pressure sensor |
These codes often travel together. Before replacing a catalytic converter for P0420, Innova’s P0420 procedure tells you to look for misfires, over-fueling, and physical damage first, so repair any P0300, P0171, or P0172 codes before you condemn the converter.
Check engine light codes live data math: fuel trims and O2 sensor voltage
A basic code reader tells you which code set. Live data tells you why. Two live readings solve the toughest traps for DIY car owners: fuel trim percentages for P0171 and P0174 lean codes, and downstream oxygen sensor voltage for P0420 catalyst codes.
As Innova’s live data fuel trim guide explains, the scan tool shows Short-Term Fuel Trim (STFT) and Long-Term Fuel Trim (LTFT) as percentages, and anything above +10% or below -10% is the point to worry. High positive trim means the computer is adding fuel to compensate for a lean condition, which usually comes with P0171 or P0174. Negative trim means it is pulling fuel back to compensate for a rich condition, which comes with P0172 or P0175.
2-Step RPM Test: Vacuum Leak vs Fuel or MAF Fault (P0171)
Step 1 (Idle check): Warm the engine to operating temperature and read Long-Term Fuel Trim (LTFT) at idle. The value should not exceed +/- 10%.Step 2 (2500 RPM check): Hold 2500 RPM and read LTFT again, plus the Mass Air Flow (MAF) value in g/s.Example (vacuum leak): LTFT is above +10% at idle but under +10% at 2500 RPM, so a vacuum leak may be present.Example (MAF check, Honda Odyssey 3.5L): Innova gives about 13.3 to 16.3 g/s at 2500 RPM. Other engines have their own specification, so use your service manual.Why the RPM change helps: a small leak lets in a larger share of unmetered air when the throttle is nearly closed at idle, and the effect shrinks as the throttle opens. Source: Innova P0171 diagnostic procedure.
For code P0420, follow the same order Innova uses. First confirm LTFT at idle, 1500, 2000, and 2500 RPM stays under +/- 10%, and fix any vacuum leak, fuel pressure, injector, or MAF problem. Next, hold the engine at 2000 RPM for approximately 3 minutes so it reaches closed loop, return to idle, and graph downstream sensor voltage (HO2S Bank 1 Sensor 2) on your scanner. Per Innova, that voltage should fluctuate slowly between 0.1 and 0.8V. If it fluctuates rapidly between 0.1 and 0.8V, suspect a defective catalytic converter; if it does not follow that pattern, replace the oxygen sensor instead.
Step-by-step checks for EVAP and misfire check engine light codes
Before replacing sensors, solenoids, or coils, work through the simple checks first.

1. EVAP codes (P0440, P0442, P0455, P0456, P0496)
The Evaporative Emissions (EVAP) system keeps fuel vapor sealed in the tank and canister until the engine can burn it. Innova’s EVAP guide says to start with the gas cap: tighten it and listen for a click, and if there is no click or the cap is cracked or damaged, replace it with an OEM cap, which costs far less than digging into the EVAP system.
- Inspect and tighten the gas cap: Check the rubber seal for cracks and tighten until you hear it click.
- Check live data if the code returns: A scanner with live data or bidirectional control lets you watch fuel tank pressure and command purge or vent valves.
- Separate leak codes from flow and sensor codes: P0455 (large leak), P0442 (small leak), and P0456 (very small leak) point to vapor escaping, P0496 points to purge flow, and P0451 to P0453 point to the pressure sensor circuit.
2. Misfire and ignition coil codes (P0300, P0351 to P0356)
When a coil cannot turn low battery voltage into a strong spark you get rough idle, hesitation, or stumbling with P0300 or a cylinder-specific P0351 to P0356 code. Innova’s ignition coil guide lays out five troubleshooting steps:
- Check for stored DTCs: P0300 means a random misfire, while P0351 to P0356 point to a specific coil circuit and cylinder.
- Inspect the coil visually: Look for cracks, corrosion, oil contamination, and leaks from the valve cover gasket, which can let oil into the plug well and damage coil insulation.
- Check wiring and connectors: Look for loose plugs, frayed cables, and corrosion. Moisture from engine washing, rain, or road salt can corrode contacts and raise resistance.
- Check the voltage supply: Low or erratic voltage, often from a weak battery or poor connections, stresses the coil and can cause misfires.
- Test the coil with a multimeter: With the coil disconnected, measure primary and secondary resistance and compare it with the vehicle manufacturer’s specification.
Clearing check engine light codes vs the 11 EPA readiness monitors
After a repair you can let the vehicle prove the fix on its own or clear the code with your scanner. If the repair worked, Innova estimates the check engine light can turn itself off after anywhere from 20 to 100 miles of driving. A replacement catalytic converter may also need a break-in period of approximately 100 miles, according to Innova.
Clearing codes has a catch. The ANCEL manual explains that the readiness monitors show whether the emissions systems have finished testing, and that a drive cycle must be performed after codes are erased from memory or after the battery is disconnected so the monitors can set again. Arrive at a state emissions test with monitors still incomplete and the vehicle can fail the readiness check even with the lamp off.
The manual says the U.S. Environmental Protection Agency (EPA) defines eleven OBD2 readiness monitors, split into two groups:
- 3 continuous monitors (always running): Misfire, Fuel System, and Comprehensive Components (CCM).
- 8 non-continuous monitors (need specific driving conditions): EGR System, O2 Sensors, Catalyst, Evaporative System, O2 Sensor Heater, Secondary Air, Heated Catalyst, and A/C System.
Not every vehicle supports every monitor. To get them to report ready, drive the drive cycle your vehicle’s owner’s manual describes, then check your scanner’s I/M readiness screen until the supported monitors show OK.
What to buy to read check engine light codes at home
Match the tool to how you will use check engine light codes. One limit applies to every scanner: Innova’s 5610 FAQ says OBD2 scanners need the vehicle to start or at least crank, because they talk to the vehicle’s control units. The same FAQ says that on newer FCA vehicles (such as Jeep and Chrysler) that need AutoAuth access, handheld and dongle scanners cannot erase codes, perform oil resets, or handle battery initialization.
- Entry-level corded code readers ($): A simple wired unit powered from the 16-pin port reads and erases codes, shows freeze frame data, checks I/M readiness, and streams basic live data. The ANCEL AD310, for example, needs no batteries or charger. Choose this tier for a glovebox tool that reads engine codes and checks smog readiness.
- Bluetooth phone adapters ($ to $$): A dongle stays in the port and sends live fuel trim, misfire, and O2 sensor data to an iOS or Android app. Basic adapters work with third-party apps for engine data, while higher-tier models add manufacturer-specific modules or networks.
- Bidirectional handheld scanners ($$$): If you plan to command EVAP valves, bleed ABS brakes, or run relearns yourself, step up to a scanner that can send commands to vehicle modules.
Ready to compare specific models? See our full breakdown in the best OBD2 scanner for DIY car owners, or read Bluetooth vs wired OBD2 scanners to pick the format first.
How we researched this guide
We did not run hands-on vehicle tests for this article. We read manufacturer manuals and published service procedures to check how check engine light codes are structured and diagnosed.
Sources: ANCEL AD310 User Manual, Innova Fuel Trim Guide, Innova EVAP Diagnostics Guide, Innova P0420 Procedure, Innova Ignition Coil Guide
Bottom line: Understanding check engine light codes keeps you from throwing sensors or catalytic converters at a simple vacuum leak or loose gas cap. Read the code, check live fuel trims and downstream O2 voltage, confirm readiness status, and verify the fix before your next emissions inspection.