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
| Setting | What it does | Our advice |
|---|---|---|
| Load Type | Which sensor detects throttle movement: Throttle Position (default) or Manifold Pressure | Use 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 Disenrich | Allows 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 Corr | Adds an overall correction for fast global changes to the amount | Handy 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.
| Setting | What it does | Our advice |
|---|---|---|
| Load Rate Dead Band | The rate of throttle (or MAP) increase needed to start an event | Haltech 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 Band | How hard the load signal must keep accelerating for the event to continue; effectively the decay | A low value keeps enrichment going longer, a higher value ends it sooner |
| Detect Duration | How long the movement must persist before an event is triggered | Longer rejects false trips from signal noise, but slows the response |
| Ign Corr Decay Time | The time over which the transient timing correction fades back to zero | Match it roughly to how long your enrichment lasts |
| Enable Async | Turns on extra between-pulse injections and adds the async amount table (off by default) | Leave off until sync enrichment is tuned |
| Max Async Injector Pulses | Cap on how many extra pulses can be inserted | Engines with injectors far from the valve usually need a higher number |
| Async Holdoff Time | Minimum wait after one async event before another is allowed | Usually 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
- Get the main fuel table right first. Transient tuning on top of a poor base map is wasted effort.
- Log throttle position, its rate, lambda (from a fast wideband) and the transient enrichment channel together.
- Set the dead band so normal cruising doesn't trigger events, but a deliberate blip does.
- Shape the Enrich Rate table so quick openings from low throttle get the most share.
- Adjust Enrich Amount (Sync) across rpm until lambda stays close to target during tip-in. Use Overall Trim to test big changes quickly.
- Only then consider async enrichment, disenrichment and timing correction.
- 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
| Symptom | Usually |
|---|---|
| Lean stumble on tip-in | Dead band too high, detect duration too long, or not enough rate or amount |
| Rich puff of black smoke on throttle | Too much amount, or events lasting too long (acceleration dead band too low) |
| Random rich spikes at steady cruise | Dead band too low, so small movements or a noisy TPS trigger events |
| Rich spike or pop on lift-off | Disenrichment disabled or too weak; also check decel cut settings |
| Fine warm, stumbles when cold | Coolant temp correction needs more enrichment at low temperatures |
| Fuel builds up when pumping the pedal | Async 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.




