OBD-II Diagnostic Walk-through
Work a check engine light from start to finish, reading fuel trims, oxygen sensors, freeze frame and readiness monitors to find the real fault.
Table of contents
A check engine light is the most common driveability job in a shop. Reading the code takes a minute. Working out why the code set takes data, and this guide is about reading that data. It uses real numbers and walks through the jobs you will see most: lean codes, catalyst codes, misfires and failed sensors. It assumes you can already connect a scan tool and read a code.
What You Will Be Able to Do
- Judge whether live data from a warm engine looks healthy
- Read short-term and long-term fuel trim and tell a vacuum leak from a fuel delivery fault
- Use oxygen sensor data to judge a catalytic converter
- Work a P0420, a P0171 and a misfire code to a proven cause
- Explain readiness monitors and how to confirm a repair
What the Lamp Is Telling You
The warning lamp is called the Malfunction Indicator Lamp, or MIL. How it behaves matters.
| Lamp | What It Means | What to Tell the Customer |
|---|---|---|
| Off | No confirmed emissions fault | Pending codes may still exist |
| On steady | A confirmed fault | Bring it in soon |
| Flashing | A severe misfire that can damage the catalytic converter | Reduce speed and load, and get it checked right away |
A flashing lamp means raw fuel is reaching the converter. It burns there and can melt the inside of the converter, which turns a cheap ignition repair into an expensive one.
Baseline Live Data
Live data values are called PIDs, short for parameter IDs. You need a mental picture of healthy numbers. These are typical for a warm, modern gasoline engine in closed loop, the mode where the computer corrects fuel using oxygen sensor feedback. Always compare with the specs and a known-good vehicle when you can.
| PID | Idle, Warm | What to Watch |
|---|---|---|
| Coolant temperature | About 190 to 220°F | Too low suggests a thermostat stuck open |
| Short-term fuel trim | Near 0, within about 5 percent | Quick corrections |
| Long-term fuel trim | Within about 10 percent | Learned corrections |
| Upstream oxygen sensor | Switches about 0.1 to 0.9 V | Sensors that read as air-fuel ratio look different |
| Downstream oxygen sensor | Fairly steady, about 0.5 to 0.8 V | Should not mirror the upstream sensor |
| MAF sensor | Roughly 1 gram per second per liter of engine size | A low reading can mean unmetered air or a dirty sensor |
The Mass Air Flow, or MAF, sensor measures the mass of air entering the engine so the computer can calculate fuel. A failing MAF causes rough idle, poor acceleration and wrong fuelling.
Check the Sensor Against Reality
A sensor reading has to make sense. After a car sits overnight in a 50°F bay, coolant and intake air temperature at key-on should both read close to 50°F. If coolant reads 170°F, the sensor or its circuit is at fault, because the engine cannot be hot. To test an engine coolant temperature sensor, measure its resistance at known temperatures and compare with the spec.
Fuel Trim
Fuel trim is the percentage the computer adds to or takes from its base fuel calculation. Positive trim means it is adding fuel because the oxygen sensors report a lean mixture. Negative trim means it is pulling fuel because they report rich.
- Short-term fuel trim (STFT) changes quickly, many times a second.
- Long-term fuel trim (LTFT) is the correction the computer has learned over time.
Add them for the total correction. STFT +16 percent and LTFT +14 percent means the computer is adding about 30 percent more fuel than it expects to need, and that points to a real lean condition.
| Trim Pattern | What It Points To |
|---|---|
| Both near zero | Healthy fuel control |
| Both high positive | Lean: air leak, low fuel pressure, dirty MAF, exhaust leak before the sensor |
| Both high negative | Rich: leaking injector, high fuel pressure, saturated EVAP canister |
| One bank lean, other normal | A leak or fault on that side only |
| STFT and LTFT in opposite directions | A recent change, such as a repair or battery disconnect, while the computer relearns |
Idle Versus 2,500 rpm
This quick test separates the two common causes of a lean code. Warm the engine and read LTFT at idle, then hold 2,500 rpm with no load.
| At Idle | At 2,500 rpm | Likely Cause |
|---|---|---|
| High positive | Near zero | Vacuum leak. The leak is a big share of the air at idle and a small share at higher airflow |
| High positive | High positive | Fuel delivery: weak pump, restricted filter, low pressure |
| Near zero | High positive | Fuel delivery problem under demand, or a MAF that under-reads at high flow |
Walk-through: P0171 System Too Lean, Bank 1
Complaint: Engine light on, slight rough idle. Bank 1 is the side of the engine with cylinder 1.
- Verify. The idle is slightly rough. The lamp is on steady.
- Scan all modules. P0171 is the only code.
- Read freeze frame. It set at idle, 750 rpm, coolant 201°F, STFT +16 percent, LTFT +14 percent.
- Read live data. The trims match. The MAF reads low for the engine size. Fuel rail pressure is in spec.
- Run the rpm test. At 2,500 rpm the trims drop to about +4 percent. That points to a vacuum leak.
- Reason it through. Unmetered air is entering after the MAF, so the sensor reports less air than the engine actually gets.
- Pinpoint. Run a smoke test on the intake. Smoke shows at a split in the intake boot behind the MAF. Other common leak points are a failed PCV valve or hose, a brake booster hose and intake gaskets.
- Repair and verify. Replace the boot, clear the codes, and confirm that the trims return to near zero at idle.
Had the trims stayed high at 2,500 rpm and the rail pressure been low, you would test the fuel pump and filter instead.
Walk-through: P0420 Catalyst Efficiency
Complaint: Engine light on, car runs fine. This code relates to the emissions system, so the customer may notice nothing.
A catalytic converter stores oxygen. A healthy one smooths the swings in the exhaust, so the downstream sensor stays fairly steady while the upstream sensor switches. As the converter loses its storage ability, the downstream signal starts to copy the upstream one.
- Verify. A 2017 compact car, lamp on steady, no other complaint.
- Scan all modules. P0420 is stored. Other modules are clean.
- Read freeze frame. 2,400 rpm, 65 mph, coolant 203°F, STFT +1 percent, LTFT -2 percent. The trims are healthy, so a fuel problem is not poisoning the converter.
- Read live data at cruise. The upstream sensor switches normally. The downstream voltage now rises and falls almost in step with it. That is the sign of a degraded converter.
- Rule out other causes. Check for exhaust leaks before the downstream sensor, since a leak can fool the monitor. Confirm the upstream sensor responds quickly on a snap throttle. Look for causes of converter damage such as oil burning, coolant loss or misfires.
- Confirm. Mode $06 data shows the catalyst test result failing its limit.
- Repair and verify. Replace the converter with a legal part for that vehicle and state. Rules differ, and California-certified parts are required in some states. Fix any underlying cause first. Drive the monitor to completion and confirm P0420 does not return.
Do not replace oxygen sensors for a P0420 unless testing shows the upstream sensor is slow. A sensor doing its job is reporting a bad converter.
Mode $06
Mode $06 shows the raw results of the computer's self-tests, with each value next to its pass and fail limits. It catches parts that are getting close to failing. If the catalyst test value just barely passes, the code has not set yet, but the converter is degrading and likely to fail soon. Tell the customer now, and note it on the repair order.
Walk-through: Misfires
A P0300 means a random or multiple misfire, while P0301 through P0312 name the cylinder. P0301 is cylinder 1 misfire detected. The computer detects misfires by watching the crankshaft speed dip when a cylinder fails to fire.
- Read the freeze frame for rpm, load and temperature.
- For a single cylinder, swap that coil with one from another cylinder, clear the code and run the engine. If the misfire follows the coil, the coil is bad.
- If it stays, inspect or swap the spark plug, then test the injector.
- If ignition and fuel are good, test compression on that cylinder.
- For P0300 across many cylinders, look for something all cylinders share: a vacuum leak, low fuel pressure, a stretched timing chain or contaminated fuel.
Check misfire counters on the scan tool if it offers them, since they show which cylinders are misfiring even when no code names one.
Readiness Monitors and the Drive Cycle
Monitors are the self-tests OBD-II runs on emissions systems. A monitor shows Ready once it has finished, whether it passed or found a fault. Not Ready means it has not run yet.
| Type | Examples | When It Runs |
|---|---|---|
| Continuous | Misfire, fuel system, comprehensive component | Whenever the engine runs |
| Non-continuous | Catalyst, EVAP, oxygen sensor, oxygen sensor heater, EGR, secondary air | Only when specific conditions are met |
Non-continuous monitors need certain coolant, fuel level, speed and load conditions. The set of steps that meets those conditions is called a drive cycle, and it is specific to the vehicle, so follow the manufacturer's procedure. There is no single universal drive cycle. EVAP monitors can take several days and often need a cold start and a fuel level between about a quarter and three quarters full.
After a repair, drive until the relevant monitor shows Ready and the code does not return. That is your proof the fix held. Clearing codes or disconnecting the battery resets monitors. Federal rules for inspection programs allow up to two monitors not ready on 1996 to 2000 models and one on 2001 and newer, but states set their own limits and some are stricter. A car with not-ready monitors usually cannot be tested at all.
Common Mistakes
| Mistake | What It Costs |
|---|---|
| Reading the code and skipping freeze frame | You test under the wrong conditions and miss the fault |
| Judging fuel trim at idle only | You cannot separate a vacuum leak from a fuel delivery fault |
| Replacing a converter without finding why it failed | The new one dies too, and you pay for it |
| Replacing an oxygen sensor for P0420 by default | The light comes back and the customer pays twice |
| Clearing codes and hoping | The customer returns with the same fault |
Check Your Understanding
- LTFT reads +20 percent at idle and +19 percent at 2,500 rpm. Which direction do you test next, and why?
- The downstream oxygen sensor holds about 0.7 V with slow, small changes while the upstream sensor switches rapidly. What does that tell you?
- A customer calls from the road. The engine light is flashing and the car shakes. What do you tell them?
- You replaced a purge valve for an EVAP code on Tuesday. The car still shows the EVAP monitor Not Ready. Is the job finished?
Answers
- Test fuel delivery, including pressure, the pump and the filter. A leak would shrink at higher airflow, and this correction did not.
- The converter is storing oxygen and working normally.
- Reduce speed and load and have the car checked right away, because the misfire can damage the converter.
- Not yet. The repair is not proven until the monitor runs to completion and the code stays gone. Follow the drive cycle, including any cold start and fuel level conditions.
Key Takeaways
- A flashing lamp means a severe misfire that can damage the catalytic converter.
- Fuel trim shows what the computer is correcting. Positive means adding fuel, negative means removing it.
- Compare trims at idle and at 2,500 rpm to separate vacuum leaks from fuel delivery faults.
- A downstream oxygen sensor that copies the upstream sensor points to a degraded converter.
- Fix the cause of a converter failure, not just the converter.
- A repair is proven when the monitor reads Ready and the code stays gone.