What OBD2 Actually Is and How It Works
OBD2 is a set of rules that force every car to monitor its own emissions systems, store a standard code when something goes wrong, and hand that code over through a standard socket to anyone who asks. It was written to stop cars polluting undetected. The side effect is that you can find out what is wrong with your car for the price of an adapter.

It started as an emissions rule
Catalytic converters solved a great deal, but they created a new problem: a car with a dead converter looks and drives exactly like a car with a working one. Regulators needed vehicles that could detect their own emissions faults and tell someone.
The answer was on-board diagnostics. The first attempts were manufacturer-specific and mutually incomparable. The second generation — OBD2 — standardised the parts that mattered: a common connector in a defined location, a common electrical interface, a common set of requests, and a common list of fault codes. It became mandatory in the United States for the 1996 model year. Europe followed with its own implementation, usually called EOBD, for petrol cars from 2001 and diesels from 2004.
That standardisation is the whole reason a £20 adapter works across manufacturers. Nobody had to reverse-engineer anything.
What the car is actually doing
Your engine control unit is not passively waiting for something to break. It is running a continuous comparison between what its sensors report and what its internal model says they should report.
Take the simplest example. The engine control unit knows how much air is entering, so it knows how much fuel to inject for a chemically ideal mixture. The lambda sensor in the exhaust then reports what the mixture actually turned out to be. If the sensor consistently says “lean”, the control unit adds fuel to compensate — that correction is fuel trim — and keeps going. If it has to keep adding fuel beyond a threshold the manufacturer defined, it concludes something is genuinely wrong rather than merely drifting, and stores a fault code.
That pattern repeats across the whole engine. Coolant should reach operating temperature within a certain time. The catalytic converter should change the downstream lambda signal in a particular way. The evaporative system should hold a vacuum. Each of those is a test with a pass condition, a fail condition and a threshold.
The important consequence
A fault code describes the measurement that failed, not the part that broke. P0420 says the converter is not performing as expected — which could be the converter, or the sensor watching it, or an exhaust leak, or a misfire that has been damaging it for months.
Anatomy of a fault code
The five characters are not random.
| Position | Meaning |
|---|---|
| 1st letter | System: P powertrain, B body, C chassis, U network and communication |
| 2nd digit | 0 for a generic, standardised code; 1 for a manufacturer-specific one |
| 3rd digit | Subsystem — for P codes, roughly: 1 fuel and air metering, 2 injector circuits, 3 ignition and misfire, 4 emissions controls, 5 speed and idle control, 6 computer and outputs, 7 and 8 transmission |
| 4th and 5th | The specific fault within that subsystem |
So P0301 reads as: powertrain, generic, ignition or misfire, cylinder 1. And P0442 reads as: powertrain, generic, emissions control, small evaporative leak. Once you can decode the structure, an unfamiliar code stops being opaque even before you look it up.
The manufacturer-specific range is where a lot of real information lives, and it is also where cheap tools fall down — a P1xxx code means nothing without a database that covers that manufacturer. AutoScan carries 14,309 codes, generic and manufacturer-specific, with plain-English descriptions.
Stored, pending and permanent
Not every code is the same kind of thing, and the distinction is genuinely useful.
A pending code means the fault has been detected once but not confirmed. Most emissions tests have to fail on two consecutive drive cycles before the control unit is willing to commit, so a pending code is an early warning with no dashboard light attached. Reading pending codes is how you catch a problem before it becomes a problem.
A stored or confirmed code means the fault has been seen enough times to be believed. This is the one that lights the lamp.
A permanent code, on cars that support them, is a confirmed code that cannot be cleared with a scan tool at all. It clears itself only when the car has re-run the relevant test and passed. Permanent codes exist specifically to stop people wiping faults before an emissions test.
Freeze frame: the snapshot
When the control unit stores a code, it also captures the conditions at that moment — engine speed, road speed, coolant temperature, calculated load, fuel trims, and typically several more.
This is disproportionately valuable. “Misfire on cylinder 3” is a starting point. “Misfire on cylinder 3 at 2,300 rpm, 78% load, coolant at 91°C” tells you it happens hot and under load, which rules out a whole category of cold-start causes and tells you exactly what drive to replicate when you want to see it happen. It is the difference between hunting and looking.
Readiness monitors: the self-tests
Alongside the codes, the control unit tracks whether each of its diagnostic routines has actually run since the last reset. Those flags are the readiness monitors, and each reads complete, not ready, or not supported.
Some monitors run continuously — misfire, fuel system, comprehensive components. Others need specific conditions before they will run at all, which is why the evaporative monitor can sit incomplete for days waiting for the right fuel level and ambient temperature.
Clearing a fault code resets all of them, and so does disconnecting the battery on many cars. That matters in two ways: in the United States an emissions test reads the monitors directly and rejects a car with too many incomplete, and everywhere else they are still the most honest evidence that a repair worked. An unlit warning light only proves you pressed the clear button.
The physical side
The connector is a 16-pin trapezoidal socket that regulations require to be within reach of the driver’s seat — usually under the dashboard on the driver’s side, sometimes behind a small trim panel, occasionally in the console or glovebox.
Behind it sit one or more of several permitted protocols. Older cars use ISO 9141-2, ISO 14230 KWP2000, or one of the SAE J1850 variants; everything from the mid-2000s onward uses CAN. An adapter has to speak whichever one your car uses, which is the single most common reason a cheap adapter fails to connect. You can tell a lot by looking at the pins: 6 and 14 populated means CAN.
Modes
OBD2 requests are organised into numbered modes: mode 1 reads current live data, mode 2 reads freeze frame, mode 3 reads stored codes, mode 4 clears them, mode 7 reads pending codes. When software describes what it supports, this is the vocabulary underneath.
What OBD2 deliberately does not cover
It is an emissions standard, so its scope is emissions. Engine and, on most cars, transmission — yes. Body electronics, infotainment, comfort systems, adaptive suspension — no, those use manufacturer-specific protocols. ABS and airbag modules sit outside the standard too, though many manufacturers expose them in a way that diagnostic software can reach; AutoScan covers those from the Enhanced edition upward.
This is also why generic OBD2 has little to offer on a fully electric car. The socket is there, but the standardised data set was built around combustion emissions and there is very little of it that applies.
Why this is worth understanding
Because it reframes what the warning light is. It is not a verdict. It is the car reporting the result of a specific measurement against a specific threshold, and it has usually saved the surrounding evidence too.
Reading that out takes a couple of minutes with an adapter and a laptop, and it turns an unknown quantity into a known one before anyone quotes you for anything. Whether you then fix it yourself or hand it to a garage, you are starting the conversation from a fact.
See what your car has stored
AutoScan reads stored, pending and freeze frame data through an ELM327 adapter on a Windows laptop, and there are 13 short videos covering the process if it is new to you.
Read it yourself
Stop guessing at the code
AutoScan reads the fault straight out of your car and tells you what it means in plain English, on your own Windows laptop. The trial reads real codes before you pay anything.
Keep reading
Related guides
P0455 Large EVAP Leak: Start With the Fuel Cap
A large evaporative leak is the one EVAP fault you can often find yourself in five minutes, and the fuel cap is…
P0301 Cylinder 1 Misfire: Find the Cause Before Buying Parts
How to use the coil and injector swap test to prove which part is faulty on cylinder one, so you replace the…
MOT Emissions Failure: Find the Cause Before the Retest
An emissions fail tells you the numbers were wrong but not why. Here is how to read the failure sheet, work out…