BMW SAE

29F0Mixture Adaptation Limit Lean Bank 1

Long term fuel trim hitting positive limit - lean condition.

SeverityModerate

Address within a few weeks. Watch for related symptoms.

Common causes

  • 1Vacuum leak (CCV / oil filler cap)
  • 2Dirty MAF/MAP sensor
  • 3Failed fuel pump
  • 4Fuel injector flow issue
  • 5Exhaust leak before O2

DIY difficulty

2/5 - Easy

Estimated repair cost

DIY$30-200
Independent shop$200-600
Dealer$400-1000

Related codes

Need to read or clear this code?

You need an OBD2 scanner that supports BMW SAE codes - generic readers will only show generic P-codes, not BMW-specific ones like 29F0.

What 29F0 actually means in plain English

Code 29F0 tells you that your BMW's engine computer has hit a wall trying to keep the fuel mixture lean enough. Here's what's happening under the hood - the ECU constantly adjusts fuel trim (how much extra or less fuel it sprays) to hit the target air-fuel ratio. When everything works right, that trim stays within a narrow window. With 29F0, the long-term fuel trim on Bank 1 has maxed out on the positive side, meaning the ECU is trying to remove fuel because it's detecting a lean condition that won't go away.

Think of it like this - your engine is telling the computer "I'm running too thin, I need more fuel," but the computer is already at maximum correction and can't do anything else. The ECU sets this fault as a heads-up that something upstream in the fuel or air intake system is broken. It's a symptom, not the disease itself.

How to diagnose 29F0 step by step

Before you start buying parts, you need real data. I've seen guys throw MAF sensors and fuel pumps at this code without checking the basics first - that's expensive and dumb.

  1. Scan for live data and freeze frame - Connect your scanner (I use the best OBD scanner for BMW recommendations from our site) and pull the freeze frame from 29F0. Look at fuel trim values, O2 sensor voltage, MAF g/s reading, fuel pressure, and short-term trim. Write down exactly what the ECU was seeing when the fault set. This tells you whether the problem is consistently lean or intermittent.
  2. Visual vacuum leak hunt - Pop the hood and trace every vacuum line you can see. Look for splits, disconnects, and cracked fittings. Pay special attention to the CCV (crankcase ventilation) hose going into the intake and the oil filler cap seal - these two leak more than anything else on fuel-injected BMWs. Also eyeball the intake manifold gasket and PCV lines. A vacuum leak is the number one cause of this code, and it's free to check.
  3. Inspect the MAF sensor - The MAF (mass airflow) is mounted between the air filter and throttle body on most models. Unplug it, look at the hot wire filament inside, and don't touch it. If it's black or dirty, you found part of your problem. A contaminated MAF sensor reads low airflow, so the ECU thinks it has too much fuel and leans out the mixture. Clean it with MAF-approved cleaner or replace it outright - it's usually under 100 bucks and takes ten minutes.
  4. Fuel pressure and pump test - Locate the fuel rail test port (usually on the driver's side of the engine bay) and connect a fuel pressure gauge. With the engine off, key on, you should see around 50 PSI for most BMWs. Crank the engine and it should hold steady. Dropping pressure under load points to a failing fuel pump or bad check valve in the pump. If pressure is too low, the ECU can't maintain proper fuel delivery, triggering lean conditions.
  5. Smoke test for exhaust leaks - This one catches people off guard. If you have a crack or hole in the exhaust manifold or downpipe before the first O2 sensor, ambient air leaks backward into the exhaust. The O2 sensor reads this as a lean condition, and the ECU tries to add fuel. If the leak is bad enough, the ECU maxes out on fuel trim. You'll probably hear a ticking from the engine bay at idle. A smoke test machine pumps non-toxic smoke into the exhaust and you watch for leaks.

DIY fix for 29F0

The fix depends entirely on what you find during diagnosis. This is why I said don't buy parts yet.

If it's a vacuum leak - seal it. CCV hose replacement is maybe a 15-minute job. Oil filler cap seal is five minutes. Intake manifold gasket is more involved but still doable for someone with basic wrench skills. Buy OEM parts here, not Chinese cheapies.

If the MAF is dirty, clean it. If it's dead, swap it out - bolt-off, two minutes tops. No coding needed afterward; the ECU figures out there's a new sensor and adapts.

If fuel pressure is low, you're looking at a fuel pump replacement. On most modern BMWs, the pump lives in the tank, so this isn't a backyard job. I'd recommend the dealership or a trusted independent shop for this one. Labor runs 3-4 hours minimum.

If you've got an exhaust leak before the O2 sensor, you need to get that welded or replaced. Again, shop territory unless you have welding equipment and skills.

For anyone uncertain, I always say - pull the codes, verify the diagnosis with a scanner, then decide whether you're comfortable tackling it. There's no shame in handing it off.

When 29F0 comes back after repair

If you fix what you found and the code returns, that usually means one of two things - either the root cause wasn't what you fixed, or you have a second related problem sitting in the wings.

Example - you replaced the MAF sensor, but you also have a small vacuum leak that you missed. The MAF is working fine, but the leak keeps the mixture lean. The code comes back in a week.

Or you sealed a vacuum leak perfectly, but the fuel pump is weak and can't supply enough pressure during hard acceleration. You see the code again when you drive aggressively.

Go back through the diagnostic steps methodically. Don't assume the first fix was wrong - assume something else is contributing. Scan again, compare the live data to what you saw before. Usually the answer jumps out at you.

My take on 29F0

From my five years wrenching on these cars, including my daily G20 330i with the B48 turbo four, I can tell you that 29F0 is moderate-risk. It's not an immediate pull-over situation like a misfire, but it's not something you ignore for months either. Your engine will keep running, but it's operating outside its design window, which stresses components and hurts fuel economy.

Nine times out of ten, it's either a vacuum leak or a MAF sensor. The vacuum leak fix is basically free - just your time. The MAF is a hundred bucks. Before you spend money on a fuel pump or dealership diag, verify those two things.

Drive to a shop if it's convenient, or tackle it at home if you've got basic tools and some confidence. Just get it sorted within a week or two, not six months down the line.

For deeper dives into fault codes and what they mean, check out our BMW fault codes explained guide. And if you want to understand your scanner better, we have a breakdown of the best OBD scanner for BMW and how to use OBDLink and BimmerCode for coding. Questions? Search related codes or head back to the fault code tool.