BMW fault codes explained for used buyers

A fault code on a used BMW is a negotiation, a shrug, or a walk-away depending on the code, the engine and the history. Each guide below takes one code (or one family of codes), lists the causes in order of likelihood with UK costs, gives the cheapest diagnosis path, and says how to treat it when the seller says "it's just a sensor".

Got a BMW with a warning light? Run a buyer report → Paste a listing, VIN, or reg. Takes about 30 seconds.

Two kinds of code

BMW DME / DDE codes are four-character hex codes (2A82, 30FF, 29F1) read by BMW-specific tools and quoted on forums. OBD-II P-codes (P0016, P0299, P2002) are the generic equivalents any scanner reads. Most faults have both; the guides cover them together. Bring a scanner to every viewing and read stored and pending codes, not just the light.

Browse by code

Codes by symptom

What the car doesStart here
Rattle on cold start that lastsP0016 / P0017 timing chain, 2A82 / 2A87 VANOS
Loses power under load, limp mode30FF underboost, P0234 overboost, 2AAF fuel pump
Rough idle, shaking, flashing light29CC to 29D2 misfire, 29F1 / 29F2 lean
Long crank, stalls when hot2AAF fuel pump, P0335 / P0340 sensors
Slow to warm up, heater lukewarmP0128 / P0597 thermostat
Diesel: DPF light, smoke, oil level risingP2002 DPF, P0471 pressure sensor, P0401 EGR
Judder at 45 mph, harsh shiftsP0741 / P0730 gearbox
Light on, drives fine, smells of eggsP0420 / P0430 catalyst
Hunting idle, flat spot, VANOS tickP0011 to P0015 cam timing

Turn a code into a verdict

Bimmer.AI identifies the exact engine from the reg, VIN or listing, applies its known failure modes and UK costs, and tells you whether the code you have seen is a £60 part or a £2,000 conversation on that car.

Run a Bimmer.AI buyer report →

Bimmer.AI is designed to help you identify BMW-specific buyer risks before you travel, negotiate, or pay for an inspection. It does not replace a physical inspection by a qualified mechanic, a legal vehicle-history check (e.g. HPI Check), or independent verification of finance, stolen, or write-off status. Repair-cost ranges are indicative UK figures that vary by region, specialist, parts supply, and labour rates.

Frequently asked questions

How do I read BMW fault codes?

Any OBD-II scanner reads the generic P-codes (P0016, P0299, P2002). BMW's own DME / DDE codes (2A82, 30FF, 29F1) need a BMW-capable tool: Bimmerlink or Protool on a phone with a compatible adapter, Carly, or a specialist's ISTA. Bring a scanner to any viewing: sellers can clear the engine light, but stored and pending codes plus readiness monitors tell you whether it was cleared recently.

Are BMW hex codes the same as P-codes?

They describe the same faults in two dialects. BMW's DME logs its own hexadecimal codes (four characters like 2A82 or 30FF) and maps most of them to a generic OBD-II P-code for legal emissions reporting. BMW tools show both; a generic scanner only sees the P-code. Forum posts and specialists tend to quote the hex code.

The seller cleared the engine light. What now?

Read stored and pending codes anyway, and check the readiness monitors: if several show 'not ready' the memory was cleared within the last few drive cycles. Then read the MOT history for repeated advisories that match a known fault, and run the reg through Bimmer.AI to see what that engine and generation fail on. A cleared light is a reason to look harder, not to relax.

Will an engine warning light fail the MOT?

Yes. Since May 2018 an illuminated engine management light during the MOT test is a major defect and a fail in the UK, whatever the underlying code. A car advertised with the light on needs the code read and priced before you make an offer.

Related

Get your report →