Open Loop vs Closed Loop Fueling: What Your ECU Is Doing and When
Your engine controller switches between two completely different fuelling strategies, and knowing which one is active explains most confusing datalogs. Closed loop, open loop, power enrichment and the handover between them, explained for DIY tuners.
By TuneVault

Almost every confusing datalog comes down to one question the reader has not asked: which fuelling strategy was the controller using at that moment? As of August 2026, this is still the concept that separates people who can interpret their own logs from people who are guessing, and it takes about ten minutes to understand properly.
Two strategies, one engine
Your engine controller has two fundamentally different ways of deciding how much fuel to inject.
Closed loop means the oxygen sensor is part of a feedback loop. The controller commands a fuelling target, the sensor reports what actually came out of the combustion process, and the controller corrects continuously to close the gap. This is genuine feedback control — the same idea as a thermostat. It runs during ordinary light-load driving, which is most of your car's life.
Open loop means the controller stops using that feedback and simply delivers what its tables say to deliver. There is no correction from measurement. The calibration is trusted outright.
The controller switches between these deliberately. The closed loop versus open loop glossary entry gives the short definition; what follows is why the distinction matters so much for anyone editing tables.
When the car goes open loop, and why
| Condition | Mode | Why |
|---|---|---|
| Cold start, sensor not yet hot | Open loop | The oxygen sensor cannot read accurately until it reaches operating temperature |
| Light cruise, part throttle | Closed loop | Feedback keeps the mixture near the chemically ideal point for efficiency and catalyst function |
| Heavy load, full throttle | Open loop, power enrichment | The target moves deliberately rich for heat control; feedback to a narrowband target would fight it |
| Deceleration fuel cut | Special case | Fuel is cut entirely; ordinary trim logic does not apply |
| Certain sensor faults | Open loop fallback | Feedback from a suspect sensor is worse than no feedback |
The important line is the third one. Under heavy load the controller does not want the chemically ideal mixture. It wants a richer one, because extra fuel absorbs heat in the cylinder and helps hold detonation off. That strategy is called power enrichment, and it is defined by a table you can edit.
Two things are calibratable there: the mixture commanded once enrichment is active, and the conditions of load and throttle that trigger it. Both are among the most consequential numbers in a performance calibration, and the power enrichment entry defines the term precisely.
Why this explains the most common false conclusion in tuning
Here is a scenario that plays out constantly: someone checks their fuel trims, finds them tight and well-behaved, concludes the fuelling is healthy, then goes to full throttle and has a bad time.
Both observations were correct. They just described different modes.
Fuel trims are a closed-loop measurement. Long-term and short-term trims record how much correction the controller had to apply while it was still listening to the sensor — which is to say, at part throttle. Perfect trims tell you the part-throttle side of your fuelling model is calibrated. They tell you nothing whatsoever about what happens at full load, because at full load the trims are not in play.
Our article on fuel trims covers what they do tell you, which is a lot — they are the fastest read on whether your airflow model is honest. The point here is the boundary of that reading.
This is also the cleanest argument for a wideband oxygen sensor. The factory narrowband sensor is accurate only very near the stoichiometric point. Power enrichment deliberately runs well rich of that point, which places full-load fuelling outside the range where the factory sensor says anything useful. Without a wideband, open-loop fuelling is not tuned — it is assumed.
The handover is where the interesting failures live
Most people look at steady-state numbers. The transition between modes is where the genuinely revealing behaviour is, and it only shows up in a time-based log.
Put four channels on the same axis: commanded fuelling, measured wideband fuelling, throttle position and engine load. Then look at the moment the throttle goes wide open.
What good looks like: the commanded target steps to the enrichment value promptly, the measured value follows within a short delay, and the two track together for the rest of the pull with only a small offset.
What is worth investigating:
- A slow handover. The car spends a noticeable window at a leaner mixture than intended, under real load. That window is where damage happens.
- Measured never reaches commanded. The engine is asking for fuel it is not getting. Injector characterisation, fuel supply or the airflow model is off — injector data is the usual first suspect.
- Oscillation around the target. Something is fighting; often a transition threshold sitting right at the load the car spends time at.
- Enrichment triggering during ordinary driving. Costs economy, smells rich, and suggests the trigger conditions are set too aggressively.
Our walkthrough of reading your first full-load pull covers how to capture a log clean enough for this to be readable, and which channels to record so the handover is actually visible.
Where the airflow model comes in
Open loop trusts the calibration completely — which means it trusts the controller's estimate of how much air entered the cylinder. If that estimate is wrong, the fuel delivered is wrong, and there is no feedback to catch it.
That makes airflow accuracy the foundation under everything above. In closed loop, an inaccurate airflow model shows up as fuel trims working hard to compensate. In open loop, the same inaccuracy shows up as a mixture you did not ask for, with nothing correcting it.
This is why the standard order of operations puts the airflow model first: get the volumetric efficiency table or the mass-airflow transfer function honest, confirm it with tight trims at part throttle, and only then work on full-load fuelling and timing. Doing it in the other order means tuning enrichment to compensate for an airflow error, which produces a calibration that is correct in exactly one condition.
Which model your car uses shapes the whole exercise, and MAF versus speed density explains how to tell.
Practical rules
- Always know which mode a log segment is in. Every conclusion depends on it. Log a mode or enrichment-status channel if your platform exposes one.
- Never judge full-load fuelling by fuel trims. Different mode, different question.
- Fix airflow before enrichment. Otherwise you are calibrating a compensation for an error.
- Change transition thresholds only on evidence. Not because earlier feels stronger.
- Watch the handover, not just the plateau. The transition is where the lean windows hide.
- Get a wideband before doing any open-loop work. Without it there is no measurement, only intent.
Understanding this one distinction changes how every future log reads. A number that looked contradictory usually was not — it was answering a question about the other mode. If you want a second opinion on what your tables currently command and where your transitions sit, the copilot reads them and flags what is worth a closer look, and the AFR and lambda calculator converts between the units different tools report in.
Frequently asked questions
What is the difference between open loop and closed loop fueling?
In closed loop the controller reads the oxygen sensor and continuously corrects fuelling to hold a target, so the sensor is part of a feedback loop. In open loop it stops using that feedback and simply commands the fuelling its tables call for, trusting the calibration. Cars run closed loop during ordinary light-load driving and switch to open loop at cold start and at full load, where feedback control is either impossible or undesirable.
When does my ECU go open loop?
Typically in three situations: during cold start, before the oxygen sensor has heated enough to read accurately; under heavy load and throttle, when power enrichment takes over; and during certain transients or fault conditions where feedback would do more harm than good. The exact thresholds are calibratable, which means the point at which your car leaves closed loop is a number in a table, not a fixed property of the engine.
What is power enrichment or PE mode?
It is the open-loop full-load fuelling strategy. Under heavy load the controller abandons the chemically ideal mixture and commands a deliberately richer one, because extra fuel absorbs heat and helps hold detonation off. The mixture it commands, and the load and throttle conditions that trigger it, are calibratable — which makes them among the most consequential numbers in a performance tune.
Why do my fuel trims look fine but the car runs badly at full throttle?
Because trims are a closed-loop measurement and full throttle is open loop. Long and short term fuel trims report how much correction the controller applied while it was still listening to the oxygen sensor, so they describe part-throttle behaviour only. Excellent trims and dangerous full-load fuelling coexist happily, which is exactly why a wideband sensor is the required tool for full-load work.
Can I tune full load using the factory oxygen sensor?
No, not meaningfully. A narrowband sensor is accurate only very close to the stoichiometric point; outside a narrow band it reports rich-or-lean and little more. Since power enrichment deliberately runs well rich of that point, the factory sensor cannot tell you whether your full-load mixture is what you asked for. A wideband sensor is what makes open-loop fuelling measurable rather than assumed.
Should I make PE come on earlier or later?
Neither by default. The transition should happen where the engine actually needs enrichment, and moving it should follow evidence from datalogs rather than preference. Bringing it on too early costs fuel economy and can make part-throttle driving feel flat and smell rich; too late leaves the engine at a lean-ish mixture under real load, which is where damage happens. Change it because a log told you to.
What should I look at in a log to check the handover?
Put commanded fuelling, measured wideband fuelling, throttle position and engine load on the same time axis and watch the moment the car goes to full throttle. You want the transition to be prompt and the measured value to converge on the commanded value quickly and stay there. A slow, wandering or overshooting handover is a real finding, and it is invisible if you only look at steady-state readings.