Your Car's Fault Code Is Not a Diagnosis: What OBD Codes Actually Mean (and Don't)
Your dashboard lights up, you pull over, a friend with a £25 Bluetooth dongle plugs it in and announces: "It's a P0420." Great. You've now got a four-digit alphanumeric string and absolutely no idea what to do with it. Here's the truth: a fault code is a clue, not a conclusion. Your car's system flagged that something fell outside its expected parameters — it did not identify why. That P0420 could mean a dying catalytic converter, or it could mean a duff oxygen sensor that's lying to the ECU, or a simple exhaust leak upstream. The code narrows the search. A proper diagnosis finds the actual culprit. SOS CarFix comes to your home or workplace with proper diagnostic equipment and the know-how to use it.
That P0420 your reader spit out? It's a clue, not a verdict. We explain what fault codes actually mean — and why clearing them doesn't fix anything.
How it actually works

Since 2001, every petrol car sold in the UK and since 2004 every diesel has been legally required to have a standardised OBD-II (On-Board Diagnostics, second generation) diagnostic port — a 16-pin socket usually found under the dashboard near the steering column. Your car monitors hundreds of live signals continuously. When a sensor reading wanders outside its expected range, the relevant ECU stores a Diagnostic Trouble Code (DTC) and typically illuminates a warning light. The code has five characters: a letter, then four digits. The letter tells you the system — P for Powertrain (engine, gearbox), B for Body (airbags, windows, climate), C for Chassis (ABS, suspension) and U for network/comms faults between ECUs. The second character is either 0 (a generic, cross-manufacturer code defined by the SAE standard) or 1, 2 or 3 (manufacturer-specific codes that only make sense with brand-specific software and data). The remaining three digits pin down the subsystem and the nature of the fault. Alongside the code, the ECU also stores a freeze-frame — a snapshot of live data values (speed, coolant temp, fuel trims, lambda readings) at the moment the fault triggered. That freeze-frame is often more useful than the code itself, and a basic Bluetooth reader will never show it to you properly. Proper diagnostic software reads all modules, all codes, and all live data — and that's where the real detective work begins.
“Your dashboard lights up, you pull over, a friend with a £25 Bluetooth dongle plugs it in and announces: "It's a P0420.”
Sound familiar?
So what's behind it?
What we do — at your door
We come to your home, workplace or wherever the car is, plug in professional-grade diagnostic equipment and read every module on the car — not just the engine. We pull all active and stored codes, the freeze-frame data, and relevant live sensor data, and we interpret that information against known fault patterns and manufacturer data. Then we carry out targeted physical tests — checking real-world sensor voltages, fuel trims, compression, injector balance, lambda readings — to confirm the actual root cause before we recommend any work. You get a plain-English explanation of what's wrong and why, not just a code printout and a shrug. If it needs parts, we tell you exactly what and why. If it's something we can fix on the spot, we'll quote you then and there. The diagnostic fee is part of getting it right first time — not an excuse to fire parts at it.
What affects the price
The diagnostic scan itself is a fixed call-out fee — check our booking page for current pricing. What varies is what the scan finds: a loose fuel cap (yes, really — it can trigger a P0442 evap leak code) costs nothing to fix, while a confirmed failing catalytic converter or a dead ECU is a different conversation. The point of paying for a proper diagnosis is that it removes the guesswork: you don't spend £150 on a MAF sensor that wasn't faulty, or £300 on a catalytic converter when an upstream oxygen sensor costing £40 would have fixed the code. Labour on any subsequent repair depends on the fault and the car — we quote clearly and itemise before starting any work.
Random knowledge you didn't ask for
Questions you're probably asking
Can I just clear the fault code and see if it comes back?
You can, but you're not fixing anything — you're turning off the alarm without dealing with the fire. Worse, clearing codes also resets the ECU's readiness monitors, which means if you're due an MOT, the car may refuse to complete it for days until those monitors run their self-checks again. If the fault is real, the code and the light will be back within a few drive cycles. Clear it after diagnosis and repair, not instead of it.
My mate read the code for free at a parts shop — why do I need to pay for diagnostics?
That free code read tells you which system logged a flag. It does not tell you which specific component failed, whether that component is actually the cause, or what else might be contributing. Proper diagnostics interprets the freeze-frame, checks live sensor data in real conditions, and confirms the fault with targeted tests. The difference is between knowing the chapter and knowing what actually happened — and it's the difference between fixing the car once versus buying three wrong parts.
What's the difference between a P code, a B code, a C code and a U code?
P codes cover the Powertrain — engine, fuel system, gearbox and emissions. B codes are Body systems — airbags, seatbelt pretensioners, climate control, electric windows. C codes are Chassis — ABS, traction control, electronic stability and suspension. U codes are network and communication faults between the car's various ECUs. A full scan checks all four, because a U code causing two modules to stop talking can trigger misleading P and B codes at the same time.
Is a generic (SAE) code the same as a manufacturer-specific code?
No — and confusing them is a common and expensive mistake. Generic codes (second character '0', e.g. P0300) are standardised across all makes and have a defined meaning. Manufacturer-specific codes (second character '1', '2' or '3') are proprietary: the number sequence is assigned by each carmaker, so P1234 on a Ford means something completely different to P1234 on a Volkswagen. Basic readers often display manufacturer codes with the wrong description — or just show 'unknown code'. You need brand-appropriate software to interpret them correctly.
My engine light is flashing, not steady — is that different?
Yes, significantly. A steady engine light means a fault has been logged and you should get it checked promptly but can usually drive gently in the meantime. A flashing light means an active, currently-happening misfire — unburnt fuel is entering the exhaust and can destroy your catalytic converter within a short distance of driving. Ease off the throttle, avoid high revs, and get it seen quickly. A catalytic converter can cost £500–£1,500+ to replace; a coil pack or spark plug causing the misfire is often a fraction of that.
Your Car's Fault Code Is Not a Diagnosis — sorted at your door
Stop procrastinating. Get a transparent quote and we'll come to you.