BMW fault code 30FF / P0299 (N54, N55): turbocharger underboost — the code behind every 'car feels slow' thread
30FF (SAE P0299) means the DME commanded boost and the pressure never arrived. Factory trigger conditions, the real cause ranking, and how to read it in a log.
30FF is the N54/N55's underboost code — BMW's DME saying "I asked for pressure, the manifold didn't get it." SAE-generic name P0299. It's the most-googled turbo code in the platform because half the used N54s on earth have set it.
What the factory document says
ISTA · factory document30FF / P0299 — Turbocharger, boost pressure too low (factory fault doc)Opens in your account's service knowledge — sign-in required.The trigger window is load-aware, not just "low pressure": engine speed between 1,900 and 7,000 rpm, specified boost pressure to barometric pressure between 1.2 and ~1.5 (a function of engine speed), at least 2.5 seconds after injector equalization, with a barometric-dependent timing term. MIL stays off; EML comes on (ID 29) — the car's way of saying "reduced but running." The doc carries the trigger math; the causes it leaves to the test plan, which is where the honest list below comes from.
What usually actually causes it
Ranked by how often it's the answer, community experience paraphrased:
- **A boost leak** — the charge pipe or its couplers. The N54/N55 plastic charge pipe is a wear item; a popped or cracked coupler is the single most common 30FF cause. Smoke test before anything else.
- **Wastegate rattle → wastegate that won't close.** Worn actuator rods on the factory twin-scrolls let the gate blow open under load. The rattle at idle is the early warning you ignored.
- **Vacuum supply problems** — cracked vacuum lines, a failing solenoid, or a weak pump means the gate can't be held shut, and [duty climbs toward 100% for nothing](../what-wgdc-means).
- **Diverter valve** failing open on N55s.
- **The turbo itself is done** — shaft play, worn seals, no boost at any duty.
How to read it in a log
This code is why datalogging exists. One gear, one pull, three channels: boost actual vs target, WGDC. Target and actual diverging with WGDC pegged high = leak or gate (mechanical). WGDC not climbing = control-side problem. That single pull sorts the five causes into two families.
The fix path
- Smoke-test the charge side; replace the factory charge pipe and couplers if original.
- Wastegate rattle present → actuator rod adjustment is a stopgap; plan turbos or an upgrade.
- Control-side symptoms → check the [MAC solenoid path](../mac-solenoid-install-guide) if you're on an aftermarket wastegate solenoid — wiring and line routing faults there set 30FF, not boost.
- Opposite code ([30FE, overboost](../fault-code-30fe)) points at a stuck-closed gate or solenoid instead.
- ReferenceBMW fault code 30FE / P0234 (N54, N55): turbocharger overboost — when pressure arrives and nobody asked
- TroubleshootingBoost leak diagnosis: soap, modest pressure, and the N54 charge pipes that lie
- TroubleshootingLimp mode and reduced power: what the car is protecting, and the read-before-clear law
- ReferenceWhat WGDC means (and why your tuner talks about it)
- GuidesReading your datalog: RPM, boost, AFR
- GuidesMAC solenoid wiring and boost control