Skip to content

Closed-Loop Fuel Trim

Feedback from the oxygen sensor that nudges fuelling toward the lambda target automatically — within limits, and only when conditions are right.

Demo build: this panel is locked

The closed-loop panel is available in the full game. See Demo vs Full Version.

What it is

The fuel tables are an open-loop best guess. Closed-loop fuel trim adds feedback: the ECU reads measured lambda from the O2 sensor, compares it to the target, and adjusts a Short-Term Fuel Trim (STFT) to close the gap. It's an integral controller on lambda error:

\[\text{STFT} \mathrel{+}= (\lambda_\text{measured} - \lambda_\text{target}) \times 0.4 \;/\text{s}\]

clamped to ±25 %. There is short-term trim only — no long-term or learned trim.

Why it matters

Closed-loop trim corrects for the small errors no table can perfectly capture — minor VE inaccuracies, day-to-day conditions, component wear. It keeps a warm, steady engine right on its lambda target without constant hand-tuning. But it deliberately steps aside when it shouldn't be trusted.

When it runs. All of these must hold:

  • Your toggle is ENABLED.
  • Coolant is above 60 °C.
  • Throttle is below 80 % — WOT runs rich for safety and power.
  • Fuel pressure is at least 70 % of target.
  • Measured λ is between 0.5 and 2.0 — so never during a fuel cut (DFCO or a rev-limiter fuel cut).
  • No deliberate enrichment is active (total multiplier 1.01× or less).
  • The engine is not in a transient (manifold, load and throttle rates within 10 kPa/s-equivalent).
  • 0.9 s have passed since any of the above last failed. The sensor sees gas from roughly 0.15–0.8 s ago, so stale samples must expire unread.

The badge. The state is shown as a badge: ACTIVE, OPEN (USER), OPEN (WARMUP), OPEN (WOT), OPEN (FAULT) (low fuel pressure), OPEN (DFCO), OPEN (FUEL CUT), OPEN (LAMBDA), OPEN (TRANSIENT) or OPEN (ENRICH).

While open-loop the trim is frozen, not reset. It holds its last value, and that frozen value is still applied. A large frozen trim carries straight into WOT.

How to tune it

Closed-loop is a fine-tuner, not a crutch. Get the base VE and lambda tables close first; let trim handle the last few percent.

Rule of thumb

Watch the STFT value as a diagnostic. If it's sitting near its ±25 % limit to hold target, the base table is off by that much in that cell — correct the table rather than leaning on trim.

Watch out

A large standing trim hides a real tuning error. Don't celebrate on-target lambda if the controller is working at its limit to get there.

In the game

LAMBDA page → right column → FUEL CONTROL MODE card. A CLOSED LOOP ENABLED / DISABLED toggle, a status badge, and live TARGET, ACTUAL (idle RPM), IAC and STFT readouts.

The FUEL TRIM box in the left readouts shows the STFT in %, a chip with the closed-loop state, a reason line and a centre-zero bar. It should hover near 0 % on a well-tuned warm engine. Click it to open the LAMBDA page.