Transient Throttle

Elite Software Programmer › ESP - Main setup › FunctionsUpdated Sep 2026

Stab the throttle on any engine and the fuel map alone can't keep up. Transient throttle is the Elite ECU's accelerator pump: it adds fuel as the throttle opens, removes it as the throttle closes, and can nudge timing while it's happening. Here's how we set it up in ESP and tune it without chasing our tails.

Why an engine needs transient fuel

Your main fuel table is built for steady conditions: a given rpm, a given load, air flowing smoothly. The moment the throttle moves, that stops being true for a short while. Open the throttle quickly and air rushes in, but the manifold takes time to fill to its new pressure, and some of the fuel that should reach the cylinder ends up wetting the port walls instead. The result is a brief lean stumble. Snap the throttle shut and the opposite happens: fuel stuck to the port walls gets drawn in with too little air, and the engine goes momentarily rich. The injector may also have already fired for a cylinder before the pressure change arrives.

Carburetors solved this with an accelerator pump. In an Elite ECU, the Transient Throttle function (under Main Setup, Functions in ESP) does the same job with far more control: you decide how much extra fuel to add, how long it lasts, whether to remove fuel on lift-off and whether to change ignition timing during the event. For the bigger picture, our throttle pump explainer covers the theory in more depth.

Two ways to deliver the extra fuel

  • Synchronous enrichment lengthens the injector pulses that were going to happen anyway on their normal sequential timing. It's the more efficient method and the one you should always tune first.
  • Asynchronous enrichment fires extra injector pulses in between the regular ones. Because it doesn't wait for the next scheduled pulse, it gets fuel moving sooner. It's most useful when injectors sit a long way from the intake valves, on engines with big ports or lazy part-throttle airflow, and it's very common on rotaries.

General settings

SettingWhat it doesOur advice
Load TypeWhich sensor detects throttle movement: Throttle Position (default) or Manifold PressureUse Throttle Position whenever a TPS is fitted. It sees movement before the manifold does. Use Manifold Pressure only if there's no TPS or MAP genuinely works better on your setup
Enable DisenrichAllows fuel to be removed as the throttle closes (off by default)Turn it on once enrichment is sorted if you see rich spikes on lift-off
Enable Overall CorrAdds an overall correction for fast global changes to the amountHandy while experimenting; bake the final result into the amount tables

Enrichment detection settings

These settings decide when an enrichment event starts and how long it stays alive.

SettingWhat it doesOur advice
Load Rate Dead BandThe rate of throttle (or MAP) increase needed to start an eventHaltech suggests 25 to 50 %/sec on throttle. Too low and small wobbles of your foot trigger fuel you didn't need; too high and the engine goes lean before the ECU notices, and gentle throttle changes are missed entirely
Load acceleration Dead BandHow hard the load signal must keep accelerating for the event to continue; effectively the decayA low value keeps enrichment going longer, a higher value ends it sooner
Detect DurationHow long the movement must persist before an event is triggeredLonger rejects false trips from signal noise, but slows the response
Ign Corr Decay TimeThe time over which the transient timing correction fades back to zeroMatch it roughly to how long your enrichment lasts
Enable AsyncTurns on extra between-pulse injections and adds the async amount table (off by default)Leave off until sync enrichment is tuned
Max Async Injector PulsesCap on how many extra pulses can be insertedEngines with injectors far from the valve usually need a higher number
Async Holdoff TimeMinimum wait after one async event before another is allowedUsually somewhere between 0 and 400 ms; prevents events stacking up when you pump the pedal

Disenrichment detection settings

Disenrichment mirrors the enrichment side, only for a closing throttle. The Load Rate Dead Band is a negative rate this time; Haltech's typical range for throttle is -25 to -50 %/sec. The Load Deceleration Dead Band works like the acceleration dead band above, where a lower number stretches the event out and a higher one cuts it short. The detection time setting (shown in ESP as Detect Detection) is the minimum time the closing movement has to last before disenrichment kicks in.

The tables that set the amount

This is where most people get confused, so it's worth spelling out. The final amount of transient fuel is a product of two tables: a rate table that decides what proportion to apply, and an amount table that decides how big 100% is.

Enrich Rate

Mapped by how fast the throttle is opening (X axis) against where the throttle was when the movement started (Y axis), up to 3D. It answers "how aggressive was this stab?" A slow squeeze from cruise should get a small share of the amount; a snap from closed throttle should get a lot. People often treat this as the amount table. It isn't.

Enrich Amount (Sync)

The size of the extra fuel delivered through the normal sequential pulses, usually mapped against rpm, up to 3D. The values act like a VE approximation rather than true VE: bigger numbers, more fuel. As a guide, Haltech quotes 25 to 50 at low rpm and 100 to 200 at high rpm.

Enrich Amount (Async)

The same idea for the extra between-pulse injections, again usually against rpm. Tune this only after the sync table is working, and use it in small doses unless the engine really needs it.

Ign Corr

Timing added (positive) or removed (negative) during a transient event, up to 3D, fading out over the Ign Corr Decay Time. A little retard can soften a harsh tip-in on a manual car; a little advance can help an engine that feels flat when you first open the throttle.

Disenrich Rate and Disenrich Amount

The lift-off equivalents. The rate table is mapped by how fast the throttle closes and where it was when it started closing. The amount table, usually against rpm, sets how much fuel is taken away. Haltech's typical range matches the enrich side: 25 to 50 at low rpm, 100 to 200 at high rpm.

Overall Trim and Coolant Temp Corr

Overall Trim is a single percentage applied to the amount tables, perfect for quick "is it better with more or less?" tests. Coolant Temp Corr scales the amount by engine temperature, up to 2D. A cold engine loses more fuel to cold port walls, so it usually wants extra.

How we tune it

  1. Get the main fuel table right first. Transient tuning on top of a poor base map is wasted effort.
  2. Log throttle position, its rate, lambda (from a fast wideband) and the transient enrichment channel together.
  3. Set the dead band so normal cruising doesn't trigger events, but a deliberate blip does.
  4. Shape the Enrich Rate table so quick openings from low throttle get the most share.
  5. Adjust Enrich Amount (Sync) across rpm until lambda stays close to target during tip-in. Use Overall Trim to test big changes quickly.
  6. Only then consider async enrichment, disenrichment and timing correction.
  7. Repeat on a cold engine and fill the coolant correction.

Here's what a typical fix looks like. A customer's car hesitates for a split second when pulling away at 2,000 rpm. The log shows lambda swinging lean for about a quarter of a second just after the throttle starts moving, and the transient channel barely moving. Two likely causes: the dead band is set so high the event starts late, or the rate table gives very little share to small openings from low throttle. Fix whichever is responsible, and the stumble goes away without touching the main fuel map. For more tuning detail, see our article on transient throttle enhance.

Troubleshooting

SymptomUsually
Lean stumble on tip-inDead band too high, detect duration too long, or not enough rate or amount
Rich puff of black smoke on throttleToo much amount, or events lasting too long (acceleration dead band too low)
Random rich spikes at steady cruiseDead band too low, so small movements or a noisy TPS trigger events
Rich spike or pop on lift-offDisenrichment disabled or too weak; also check decel cut settings
Fine warm, stumbles when coldCoolant temp correction needs more enrichment at low temperatures
Fuel builds up when pumping the pedalAsync holdoff time too short

Transient throttle FAQ

Should I use TPS or MAP for transient detection?

TPS whenever you can. Throttle movement leads the change in manifold pressure, so detection is faster and cleaner. MAP is there for engines without a throttle sensor.

Do I need asynchronous enrichment?

Most port-injected piston engines are happy with synchronous only. Consider async if your injectors are mounted far upstream, if the engine is a rotary, or if sync alone can't stop a lean dip no matter how you tune it.

Why is transient fuel so hard to tune on the dyno?

Because it's about how the car is driven, not steady load. We do most of our transient tuning on the road with a fast wideband and logging, then confirm on the dyno. If you'd like a second opinion on your logs, book a free consultation, or browse the rest of the Haltech knowledge base.