A check engine light code tells you which system on your car noticed a problem. It does not tell you which part to buy. Every code is five characters, a letter and four numbers, and each one narrows things down a little: which part of the car, whether the code means the same thing on every make, which system, and then the specific fault. That gets you to the right neighborhood. Finding the house takes testing.
Below is how to read your own code, what each character means, and what we do with it when you bring the car to our shop in Littleton.

How to pull the code yourself
Every car and light truck sold in the US since the 1996 model year has an OBD-II port, usually under the dash on the driver’s side near your knees. Most parts stores will plug in and read it for free, and a basic reader costs less than a tank of gas. Both are fine places to start.
A few things make that code more useful to whoever works on the car next:
- Write down every code, not just the first one. Two codes together often tell a different story than either one alone.
- Note whether the light is steady or flashing. A flashing light usually means an active misfire, and that one means get off the road soon, not next week.
- Don’t clear the code before someone looks at it. Clearing it wipes the freeze frame data, a snapshot of speed, temperature and load at the moment the fault set, and that snapshot is one of the best clues we get.
What each character in the code means
Take P0301 as an example. Here is how to read it, one character at a time.
The first letter is the area of the car
- P is powertrain: engine, transmission, fuel and emissions. Most codes you will see start with P.
- B is body: airbags, seats, lighting, climate.
- C is chassis: ABS, steering, suspension.
- U is network: the computers on the car not talking to each other.
The second character says who defined the code
- 0 is a generic code. It means the same thing on a Ford as it does on a Honda.
- 1 is manufacturer specific. The automaker wrote that definition, and it can mean something different from one make to the next.
- On P codes, 2 is mostly generic as well, and 3 is split between generic and manufacturer codes.
The third character, on a P code, is the system
- 0, 1 and 2: fuel and air metering. Think mass airflow sensor, oxygen sensors, throttle body and injectors.
- 3: ignition and misfires.
- 4: emissions controls, including the evaporative system and catalytic converter.
- 5: vehicle speed and idle control.
- 6: the computer and its output circuits.
- 7, 8 and 9: transmission.
- A, B and C: hybrid drive systems.
The last two characters are the specific fault
So P0301 reads as powertrain, generic, ignition system, cylinder 1. A misfire on cylinder 1. A few others that come up a lot: P0300 is a random misfire across several cylinders, P0171 means the engine is running lean, P0420 is the catalytic converter working below its threshold, and P0455 or P0457 is an evaporative leak, which is sometimes nothing more than a gas cap that didn’t click.
When your reader just says manufacturer control
If the second character is a 1, a lot of basic readers can’t define it. Some show nothing. Some show a generic manufacturer control line and leave you there. That is not a broken reader. The code belongs to the automaker, and reading it properly takes software that knows that make.
This is one of the bigger differences between a free code read and a shop visit. We run OEM level diagnostic equipment, so a manufacturer code gets read the way the factory defines it instead of guessed at.
Pending codes, stored codes, and why the light sometimes goes off
A pending code means the computer saw a fault once but hasn’t confirmed it. The light may not even be on yet. If the same fault shows up again on a later drive, it becomes a stored code and the light comes on. Some serious faults skip that step and turn the light on right away.
The light can also turn itself off. If the problem doesn’t repeat for several drives, the car decides it’s gone and shuts the light off. The code usually stays in memory for a while, and on newer cars a permanent copy stays until the car runs its own self-test and passes. Clearing a code with a scan tool, or by disconnecting the battery, does not fix anything. If the fault is still there, the light comes back.
Why the code is not the repair
Here is the part that costs people money. A code points at a system, and plenty of different failures can set the same one.
P0171, running lean, can be a cracked vacuum hose, a dirty mass airflow sensor, a weak fuel pump, a clogged injector or a lazy oxygen sensor. P0420 might really be a tired catalytic converter, or it might be an oxygen sensor reading wrong, an exhaust leak, or a misfire that has been dumping fuel into the converter. That list runs from a cheap hose to a very expensive converter.
Buying the part the internet ties to your code works sometimes. When it doesn’t, you still have the original problem plus a receipt for a part you didn’t need, and the next guess costs just as much. If you want to know what usually turns the light on in the first place, we cover that in why is my check engine light on.
What happens when you bring it to us
We start with a few questions about when it happens, then pull every stored and pending code from every computer on the car, not just the engine, along with the freeze frame data. After that comes the actual testing: watching live sensor data with the engine running, checking the circuit the code points to, and proving which part failed before anything gets replaced.
When we find it, we photograph it and send you the photos, so you see the worn part or the leak yourself before you approve a dollar of work. You get our findings in writing, nothing gets done without your OK, and if something can wait, we will tell you it can wait. Covered repairs carry our 48 month, 50,000 mile warranty.
Mention SCAN when you book and you get $10 off the diagnosis. If you already have a code and a quote from somewhere else and it doesn’t sit right, we’re glad to give you a second opinion.
We’re at C470 and Bowles in Littleton, open Monday through Friday, 8:00 to 5:30. Call 303-795-2600 or request an appointment and we’ll get the light figured out. More on how we handle it is on our check engine light page.