Guide · 4 min read · updated 6 November 2026

Idle control: idle valves, target RPM and idle timing

How the ECU holds the engine at the speed you want with nobody on the throttle: the valve, the targets, the controller and the timing trick that does most of the work.

How idle speed is controlled

At idle the throttle is closed, so the engine runs on the air that leaks past it. That's rarely the right amount: a cold engine needs more air to idle, and an air conditioning compressor or electrical load drags speed down. An idle air control (IAC) valve opens a bypass around the throttle to let in more air when needed.

  • PWM valves (two- or three-wire solenoids) open further as duty cycle rises.
  • Stepper valves move a pintle a set number of steps. The ECU counts steps from a home position.
  • Drive-by-wire throttles move the throttle plate itself; idle control sets a small throttle opening.
  • On/off fast-idle valves just open when cold.

Air sets the base idle speed. Ignition timing makes the quick corrections, because it changes torque within a single engine cycle while airflow takes a moment to change.

Open loop and closed loop

In open loop the ECU sets the valve from a curve against coolant temperature and never looks at RPM. It is simple and predictable, but idle speed drifts with load and engine wear.

In closed loop the ECU has an idle RPM target curve, also against coolant, and a PID controller moves the valve to reach it. Most setups combine the two: the open-loop curve gives the starting position and the PID corrects from there. That is the best of both, because the controller only has to fix small errors.

How common ECUs lay it out

Speeduino

Idle control type chooses On/Off, PWM or Stepper, each in Open loop, Closed loop or Closed+Open loop. Open-loop curves (IAC PWM Duty or IAC Stepper Motor) and cranking curves are against coolant; Idle RPM Targets sets the closed-loop target. A separate Idle Advance curve adds or removes timing by how far RPM is from target.

rusEFI and epicEFI

The Open Loop Idle position table is against coolant and target RPM, with adders for A/C, fans and transmission load, and the Idle Target RPM curve against coolant. Closed Loop Idle is a PID with its own minimum and maximum. Extra Idle Features include a separate idle ignition table, a separate idle VE table, and closed-loop idle ignition timing.

MegaSquirt MS2 and MS3

PWM and stepper idle each have open-loop and closed-loop modes, with cranking duty or steps, an RPM target against coolant, and PID gains, delays and activation settings for the closed-loop controller. Air conditioning idle-up has its own settings.

Tuning a stable idle

  1. Warm the engine fully and turn off idle control or hold the valve at a fixed position.
  2. Set the base airflow: with the valve at a small fixed opening, adjust the throttle stop or idle screw so the engine idles slightly below target. The valve then only has to add air.
  3. Tune the idle fuel cells to the idle AFR target, close to stoichiometric.
  4. Set idle timing in the usual window, around 10–20° BTDC. Too little runs hot and lazy; too much makes idle hunt.
  5. Fill the open-loop curve at each coolant temperature so the engine idles near target with closed loop off.
  6. Turn on closed loop with small gains. Raise P until speed starts to oscillate, back off, then add I to remove the remaining error.
  7. Add idle advance last, so timing catches quick dips before the valve has to.

Common idle problems

SymptomLikely cause
Idle hunts up and downPID gains too high, or idle timing too far advanced
Idle too high and won't come downAir leak, or base airflow above target with the valve shut
Stalls when coming to a stopToo little air or fuel on return to idle, or deceleration fuel cut too late
Dips when A/C or fans turn onNo idle-up adder, or the closed loop is too slow
Rough idle, steady RPMMixture or misfire, not idle control

Using efi2000 for idle

Autotune's guided Idle mode steps through warm-up, AFR targets, idle speed (with an idle screw or a valve), idle fuel and idle timing in that order, then repeats until idle is settled.

Spotter checks that idle AFR targets sit near stoichiometric, that idle timing sits in the usual window, and that timing is flat or falls through the idle region so it can steady the engine. Plot RPM, target RPM, idle valve position and advance together in the log viewer to see how the controller is behaving.

Questions

Should I use closed-loop idle?
Usually yes, combined with a good open-loop curve. Closed loop alone has to do too much work after a cold start or a sudden load.
Why does my idle hunt?
Most often the PID is too aggressive or idle timing is too advanced. Halve the gains and check timing is around 10–20° at idle before anything else.