Inline-4 engines
N20 / N26 — F-series 2.0L turbo (2011–2016)
The N20’s signature failures are timing-chain stretch (on high-mileage cars) and high-pressure fuel-pump issues on early production. Inline-4 misfire codes map directly to cylinder 1–4.
| Code | Why it appears |
|---|---|
| P0301 | Cylinder 1 misfire (coil, plug, injector) |
| P0302 | Cylinder 2 misfire |
| P0303 | Cylinder 3 misfire |
| P0304 | Cylinder 4 misfire |
| P0011 | Camshaft timing over-advanced — stretched timing chain |
| P0171 | System too lean — vacuum leak or tired MAF |
B48 / B46 — F/G-series 2.0L turbo (2015+)
The B48 inherits the N20’s timing-chain wear pattern but is otherwise more reliable. Failure modes trend toward valve-cover oil seals and early-production B46 SULEV high-pressure fuel-pump issues.
| Code | Why it appears |
|---|---|
| P0301 | Cylinder 1 misfire |
| P0302 | Cylinder 2 misfire |
| P0303 | Cylinder 3 misfire |
| P0304 | Cylinder 4 misfire |
| P0011 | Camshaft timing over-advanced — chain stretch or VANOS |
| P0128 | Coolant temp below thermostat — stuck thermostat |
Inline-6 engines
N52 — E9x/E60 2.5/3.0L NA (2004–2013)
Reliable engine, but the intake manifold flap motor and the oil-filter housing gasket are known failure points. Valve-cover gasket oil leaks (the valley pan area) are the most common ownership complaint.
| Code | Why it appears |
|---|---|
| P0301 | Cylinder 1 misfire |
| P0303 | Cylinder 3 misfire |
| P0305 | Cylinder 5 misfire |
| P0171 | System too lean — intake manifold gasket, vacuum leak |
| P0128 | Coolant temp below thermostat |
N54 — E8x/E9x 3.0L twin-turbo (2006–2013)
The N54’s HPFP is the headline failure mode: 29E0/29E1/29E2 codes are the early indicator. Add the well-known injector-failure problem (high-pressure direct injection) and the result is a high rate of fuel-system codes. Boost codes (30FF) come from charge-pipe blow-off, which the N54 is famous for.
| Code | Why it appears |
|---|---|
| 29E0 | Fuel injection rail, pressure sensor signal |
| 29E1 | Fuel pressure sensor signal (low / implausible) |
| 29E2 | Fuel pressure sensor signal (high) |
| 2A82 | VANOS intake solenoid — clogged solenoid screen |
| 30FF | Charge-air pressure too low — charge-pipe blow-off |
| P0300 | Random/multiple misfire — coil or injector failure |
| P0301–P0306 | Per-cylinder misfire codes (1–6) |
| P0171 | System too lean — vacuum leak on a tired engine |
N55 — E9x/F-series 3.0L single twin-scroll turbo (2009–2017)
Replaced the N54 with a more reliable HPFP, but the N55 still has VANOS solenoid clogging and charge-pipe separation as common failures. On F-series N55 the early coil-pack failures produced a wave of per-cylinder misfire codes.
| Code | Why it appears |
|---|---|
| 29E0 | Fuel injection rail, pressure sensor signal |
| 2A82 | VANOS intake solenoid |
| 30FF | Charge-air pressure too low |
| 120308 | B58-equivalent charging pressure code (later N55 firmware) |
| P0300–P0306 | Per-cylinder misfire — coil or injector |
B58 — F/G-series 3.0L turbo (2015+)
The current 3.0L turbo inline-6. More reliable than the N54/N55 but still direct-injection. The headline failure mode is the plastic-to-metal joint on the early charge pipe, which produces boost codes under load.
| Code | Why it appears |
|---|---|
| 120308 | Charging pressure too low (B58-specific) |
| 30FF | Charge-air pressure too low — charge-pipe joint |
| 2A82 | VANOS intake — clogging on higher-mileage cars |
| P0128 | Coolant temp below thermostat |
| P0301–P0306 | Per-cylinder misfire |
V8 engines
N62 — E60/E63/E65/E53/E70 4.0/4.4/4.8L NA (2001–2010)
The N62’s slow-coolant valley-pan oil-leak problem shows up as a low coolant level over time. The OBD-II P-codes are typical NA inline issues; the BMW-specific N62 valley-pan fault family is the headline maintenance item.
| Code | Why it appears |
|---|---|
| P0301–P0308 | Per-cylinder misfire on any of the 8 cylinders |
| P0171 | System too lean (Bank 1) |
| P0174 | System too lean (Bank 2) |
| P0420 | Catalyst Bank 1 |
| P0430 | Catalyst Bank 2 |
| P0128 | Coolant temp below thermostat |
Diesel
N57 — F-series 3.0L turbo diesel I6 (2008–2019)
The first diesel profile in the project. DPF state and EGR cooler behaviour are the unique diagnostic surface for the N57. Short-trip driving that prevents DPF regeneration produces the most common diesel-specific codes.
| Code | Why it appears |
|---|---|
| P0301–P0306 | Per-cylinder misfire — injector failure on diesel |
| P0171 | System too lean — rare on diesel, indicates intake/EGR issue |
| U0100 | Lost communication with ECM — DDE bus issue |
For DPF-specific codes (P2002, P2454, etc.) and EGR-specific codes (P0401, P0402), the DTC lookup tool surfaces them once they’re added to the catalog. Use /lookup.html for any code not listed here.
M variants
S55 — F80/F82/F87 M3/M4/M2 Competition 3.0L twin-turbo (2014–2021)
Built for track duty. The headline failure mode is the crank hub — a known problem across M3/M4 model years that throws cam-timing and crank-position codes. Rod-bearing failures on cold-driven cars produce metal-in-oil codes and low oil pressure warnings.
| Code | Why it appears |
|---|---|
| P0011 | Camshaft A timing over-advanced — crank hub or VANOS |
| P0014 | Camshaft B timing over-advanced — crank hub |
| 30FF | Charge-air pressure too low — charge-pipe blow-off under hard use |
| P0300–P0306 | Per-cylinder misfire (S55 fires 1-6, V8 S65 fires 1-8) |
S58 — G80/G82/F97/F98 M3/M4/X3M/X4M 3.0L twin-turbo (2019+)
M-tuned B58 architecture (not an N55 derivative). Crank-hub concerns similar to S55 but less common; VANOS solenoid clogging inherited from B58. Higher-mileage oil consumption on track-driven cars is the late-life pattern.
| Code | Why it appears |
|---|---|
| P0011 | Camshaft A timing over-advanced — VANOS or chain |
| 2A82 | VANOS intake solenoid |
| 120308 | Charging pressure too low (B58 inheritance) |
| P0301–P0306 | Per-cylinder misfire |
The code/engine mappings above are derived from owner reports and the project’s community opinions. They describe what people actually see in the field, not what BMW’s diagnostic documentation prescribes. Use them to narrow your search, not as a parts-ordering shortcut. Always read the freeze frame, compare related codes, and inspect live data before changing parts.
Cross-section questions
What codes does an N54 typically throw?
29E0/29E1/29E2 (HPFP family), 2A82 (VANOS intake), 30FF (boost), and P0300-P0308 (per-cylinder misfire) when an injector or coil fails.
What’s different on a B58?
Inherits the VANOS and fuel-pressure patterns from the N55 but adds the charge-pipe boost-leak failure mode (30FF / 120308). Misfires are rarer because the B58’s HPFP is more reliable.
How are these mappings determined?
From community opinions, owner reports, and Beemuu’s verification reports. Observed-pattern guidance, not a BMW specification.