0333 051 0049
Mobile Car Diagnostics — we come to you

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.

Same-day available
We come to you
Qualified & insured
Real humans answer
60+
towns covered
5
counties
0
garages to visit
24/7
enquiries
The short version

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

Diagram of a car's electrical and sensor network — the 'nervous system' a diagnostic scan reads to pinpoint warning lights and faults.
What a diagnostic scan reads — your car's sensor and module network. · tap to enlarge

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.
The warning signs

Sound familiar?

A steady engine management (MIL / check engine) light on the dashboard
A flashing engine light — this one is more urgent and means an active misfire is happening right now
ABS, traction control, airbag, gearbox or other system warning lights
The car entering 'limp mode' — severely reduced power, often stuck in one gear, as a protection measure
Intermittent warning lights that come and go with no obvious pattern
Someone (a parts shop, a friend) has already read a code but you want to know what it actually means and what to do about it
The car running rough, misfiring, hesitating or returning noticeably worse fuel economy alongside the light
Common causes

So what's behind it?

1Replacing or clearing the code without fixing anything — the light will return because the underlying fault is still there
2Acting on the code alone by buying the named part (e.g. an oxygen sensor for an O2 code) without testing whether that part is actually faulty — expensive guesswork
3Ignoring a flashing engine light, which indicates an active misfire that can destroy a catalytic converter within miles — a £60 coil pack becoming a £1,000+ catalyst job
4Unresolved manufacturer-specific codes being misread as generic ones — the wrong software gives you the wrong code description entirely
5Network (U-code) and chassis (C-code) faults being ignored because the driver assumed the warning was 'just the engine'
6Intermittent faults getting cleared without diagnosis, throwing away the freeze-frame data that would have identified the cause
7Emissions-failure MOT refusals when a pending or stored code triggers readiness monitors to reset, meaning the car isn't ready to be tested

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

The OBD-II standard was originally pushed by Californian emissions regulators in the 1990s — the entire global standard for car diagnostics exists largely because California wanted cleaner exhausts.
A single fault code (e.g. P0171, 'System Too Lean Bank 1') has over a dozen documented causes including vacuum leaks, a weak fuel pump, a faulty MAF sensor, a lazy oxygen sensor or a clogged fuel injector — which is exactly why 'replace what the code says' is so often wrong.
The check-engine light is officially called the Malfunction Indicator Lamp (MIL) in OBD-II specs — 'check engine' is just what manufacturers printed on it to avoid alarming people with jargon, which has arguably had the opposite effect.

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.