What idle control is really doing
With your foot off the pedal, the throttle blade is closed and the engine is living on whatever air sneaks past it. Idle control gives the ECU a way to meter a little extra air on purpose. More air means more torque, and more torque holds the engine speed up against loads like the alternator, the A/C compressor or a cold, stiff engine. Less air lets the speed come back down. The Elite does this with one of several devices, and everything else in the function is about deciding how much air to add at any moment.
Step 1: pick the control method
On the Wiring tab, the Control Method tells the Elite what hardware it is driving. Choose the one that matches what is physically on the engine:
| Control method | Hardware | How the ECU moves air |
|---|---|---|
| DBW | An electronic throttle already set up in the DBW function | Cracks the main throttle open a little |
| BAC Two Wire | A single bypass air solenoid | Pulses it like an injector. Low duty is near closed, high duty is near fully open |
| BAC Three Wire | A valve with two coils sharing a 12V feed | One coil pushes airflow up and the other pulls it down from a mid position |
| Stepper Motor (Absolute) | A four-wire stepper, like our screw-in idle air control motor | Learns its position at key-on, then follows the base tables |
| Stepper Motor (Relative) | A four-wire stepper | Just steps open or closed based on whether RPM is under or over target. No base tables, no long term trim |
| Ignition Only | Nothing extra | For engines with no DBW throttle and no idle valve. Timing is the only tool |
A couple of notes from the shop. A three-wire BAC valve with nothing connected usually sits around half open, so if you have the two outputs swapped, the valve simply works backwards. The engine will run away when it should come down. Swap the output assignment rather than rewiring. For stepper motors, the "duty" you see in ESP is really a percentage of the stepper's full travel, and the four dedicated stepper outputs are selected for you on the Connections section. If you're building a new loom, grab the matching plug and pins for the screw-in motor or the two-screw style, and see our stepper outputs article for the wiring side.
Step 2: open or closed loop
In Open Loop the ECU outputs exactly what the base table says, and you do all the correcting yourself. In Closed Loop the ECU watches RPM against the Target RPM table and trims the output to close the gap. We start every car in open loop, get the base table close enough that it idles on its own, and only then switch to closed loop. A closed loop controller that has to make up for a bad base table will hunt, overshoot and occasionally stall the car.
The Idle Control tab settings
| Setting | What it does | Our advice |
|---|---|---|
| BAC Type | Three-wire valves only. Uni-Directional drives both outputs with equal duty, Complementary inverts the second (25% on one means 75% on the other), Bi Directional splits the range so each coil covers half | Match the valve's design. If you're not sure, ask us before guessing |
| Frequency | Pulse rate for two- and three-wire BAC valves (300 by default) | Leave it unless the valve maker specifies something else |
| DBW Max Position | How far the throttle opens when idle control commands 100% (default 10) | Keep it just large enough to cover cold start and heavy loads |
| Output Max | A ceiling on the idle output (default 100) | Lower it if the engine can overshoot badly at full output |
| Stall Offset | If RPM falls this far under target, output jumps to 100% to rescue the engine (default 400) | A good safety net. Tighten it only if it triggers on normal dips |
| Close Idle Valve On Boost | Forces 0% output under positive boost | Turn it on if the valve's inlet isn't plumbed back into the pressurized intake ahead of the throttle, or it becomes a boost leak |
| PID Scaler | Scales all three PID tables at once, 100% is normal | Handy for quick experiments. Put it back to 100% and fix the tables properly |
| RPM Rate Lower / Upper Limit | Closed loop only corrects while RPM is changing slower than these rates (defaults -300 and 300) | Closer to zero waits for a calmer idle before correcting |
| Max Vehicle Speed | Closed loop only runs below this speed, when a speed sensor is set up (default 10 km/h, about 6 mph) | Strongly recommended. It stops the controller "idling" while you roll to a stop |
| Decel Offset and Decay Time | Adds extra output when the throttle closes, then fades it out (defaults 10 and 2.50) | Your main tool for stopping the RPM dip when you come off the pedal |
| Decel Fuel Cut Restore | Keeps decel cut from working within this many RPM of the idle target (default 200) | Leave a sensible gap so decel cut never fights the idle |
The decel fuel cut restore setting is easy to overlook. With a target of 800 rpm and the default 200, the decel cut system can't be told to cut anywhere below 1000 rpm, whatever your decel tables say. That protects you from a decel map that accidentally overlaps the idle. More on that side of things in our Decel article.
Stepper calibration direction
An absolute stepper finds its position at key-on by driving to one end of travel. Normal Calibration drives it closed, so an engine started mid-calibration will idle low at first. Reverse Calibration drives it open, so an early start idles high. Most people prefer a slightly high first idle to a stall, but either works if the driver waits a moment before cranking.
The tables that do the work
- Target RPM: the idle speed you want, usually against coolant temperature, up to 3D.
- Post Start Target Offset and Post Start Base Offset: extra RPM target and extra output straight after start-up, mapped to fade to zero over run time.
- Base: the output that should hold the engine on target with no help from closed loop. This is the table that matters most.
- Min Output: a floor the output can never go under, whatever the other tables say.
- Proportional, Integral and Derivative Gain: how hard and how fast closed loop reacts. Our PID tuning article covers the method.
- Ign Corr: adds timing when RPM is low and pulls it when RPM is high. Spark reacts far faster than air, so this is what makes an idle feel locked in.
Long term trim
Long term trim (enabled by default) lets the Elite learn how much it has had to correct and store that in its own table, which uses the same axes as the base table. Long Term Trim Gain sets how fast it learns. Too high and it can start oscillating, too low and it takes forever. Once the car has been driven in a range of conditions, Apply To Base Table folds what it learned into the base table and zeros the trim. Reset throws the learning away, which is what you want after a hardware change.
Idle-up: telling the ECU a load is coming
An idle controller that waits for RPM to drop is always a step behind. Idle-up offsets add output (and optionally raise the target) the instant a known load switches on:
- Air conditioning: base and RPM offsets when the Air Conditioner Control output is on (defaults 5 and 50).
- Power steering and electrical load: the same pair of offsets, triggered by their switch inputs. Think headlights or a fan kicking on.
- Air pump: an idle delay so the idle can settle before the pump loads the engine.
- Generic Idle Up 1-4: any input set up as a generic sensor can add base output.
Cooling fans can add their own idle offsets too, set in the Thermofan function.
Throttle follower (dashpot)
Snap the throttle shut at speed and a plain idle controller has nothing extra ready, so RPM can crash past the target. The throttle follower fixes that. Tick Throttle Follower (Dashpot) Enable and two tables appear: Throttle Follower Target, normally RPM against pedal position, and Throttle Follower Decay, which sets how quickly that extra output fades once the pedal starts closing. On a DBW car, the target is a percentage of DBW Max Position and the result is a throttle that closes gently behind the pedal. On a cable throttle car, it is the idle valve that eases back to normal.
The follower target is live whenever the feature is on. Around idle with the pedal at zero, those cells must be 0 or the engine won't come back down to its target. At higher RPM with zero pedal you can carry a small value. Tune the rest by feel, and a road drive tells you more than the dyno.
Troubleshooting idle control
| Symptom | Usually |
|---|---|
| Idle surges up and down | Base table too far off, P or I gain too high, or RPM rate limits too wide |
| RPM dips and nearly stalls coming to a stop | Decel offset too small or decays too fast, or no vehicle speed input |
| Idle hangs high after lifting off | Throttle follower cells not zero at idle, or decay too slow |
| Idle goes the wrong way when corrected | Three-wire BAC outputs swapped |
| Boost leak or erratic boost on a turbo car | Idle valve inlet not fed from the pressurized pipe ahead of the throttle, and Close Idle Valve On Boost is off |
| Engine drops when the A/C or fans switch on | Idle-up offsets missing or too small |
Idle control FAQ
Should I use closed loop idle on a race car?
Usually yes, but keep it gentle. A good base table and ignition correction do most of the work, and closed loop just tidies up. Cars with no idle valve and no DBW throttle can still use Ignition Only, where timing does the work.
Why does my idle change after a few drives?
That's long term trim learning. Once it has settled, apply it to the base table so the car starts from a better place next time.
Can the Elite control an idle valve and DBW at the same time?
Pick one control method. If the car has a DBW throttle, we normally use DBW idle and remove or block the old valve.
If your idle still won't behave, check the idle control tuning guide, or book a free 30-minute consultation and we'll look over a log with you.



