ARC-TUNING
Powered by Scarecrow
CONNECTING…
Initializing the Professor — checking KB and proxy availability.
DASHBOARD
PE VE SPARK MAF IFR IDLE DFCO/LC LIMITER FI DRIVABILITY WOT
— / 12 sections complete
[no build loaded]

Idle Tuning

Two-step gate per the KB's order of operations: Idle-Airflow first, Idle-Fuel second. Airflow runs without a wideband. Fuel halts if wideband absent. Tuning fuel before airflow is fixing the symptom, not the cause.
Subsections: 7
Wideband-gated: 1.6 Idle AFR
⚠ KB rule: airflow → fuel → spark — do not invert

Scarecrow Briefing — Idle Tuning, why airflow comes first

When you put a bigger cam in an LS, idle quality goes to hell first. Most new tuners reach for fuel and spark trying to fix it. Both are wrong. The fix is in the idle airflow tables, and it has to happen before you tune anything else. Six things shape this section:

(1) Order is non-negotiable. Idle airflow → idle fuel → VE → spark. Tuning fuel before airflow is fixing the symptom. The engine surges or won't catch because there isn't enough air bypassing the throttle, not because there isn't enough fuel. (2) Idle RPM target depends on the cam. Stock LS idles at 550–600. A 240° cam can't hold that — not enough vacuum to support accessories, not enough air with that overlap. Pick a target that matches the cam first. (3) Cold-start "Percentage Max" is the cammed-LS killer. Default is set for stock cams. With more overlap you need 50–100% more bypass air just to keep the engine running through warmup. Symptom: dies on cold start, or hunts violently between 400–1200 RPM until warm. Fuel won't fix this. (4) DBW (electronic throttle) is more sensitive than cable. On Gen III LS1/LS6 the IAC valve is the only knob — cable plates don't move at idle. On Gen IV LS3/L92/LS7 the throttle plate itself is the idle airflow controller. No separate IAC to compensate for a bad table. (5) A/C kick is its own scalar. When the compressor engages, ~2–4 hp of load drops on the engine instantly. The PCM bumps idle airflow to compensate. Stock value works for stock cams; bigger cams need more. (6) Idle-Fuel halts without a wideband. Per spec §5: Idle-Airflow runs fine without one. Idle-Fuel does not. If no wideband is present in build context, subsection 1.6 renders a "wideband-not-present-deferred" state and unlocks the rest of the workflow anyway.

KB source: ls-cam-idle-tuning-basics.md, hpacademy-webinar-217-idle-tuning-gm.md, hpacademy-ls-idle-tuning-with-hp-tuners.md. Spec §4.2 / §5.1.

1.1 Desired Idle RPM (warm, in-gear) 📍 LOCATE
HPTEngine → Idle → Idle Speed → Desired Idle RPM vs ECT
EFILive{C0703} Idle RPM Desired vs ECT
◐ Pick by cam size
Headline scalar that drives the rest of the airflow tables. The PCM compares actual RPM against this target and modulates IAC counts (DBC) or throttle plate angle (DBW) until they match. Pick the target by cam, then tune airflow to deliver it. Targeting 600 RPM on a 240° cam means the engine hunts forever and never settles — the air it needs to make 600 RPM doesn't exist with that much overlap. The number you pick here is the floor that everything below it (airflow, fuel, spark) builds on. Get this wrong and nothing downstream stabilizes.
The RPM the engine should idle at when warm and in gear (auto) or in neutral (manual). Pick this based on your cam, not what you want it to be. A big cam can't hold a stock idle — there isn't enough vacuum.
KB recommended targets by cam duration @ 0.050"
Stock (~196°) → 550–600
Mild street (~210–220°) → 650–700
Big street (~225–235°) → 750–800
Aggressive (~240°+) → 800–900
Race (~250°+) → 950+
Source: ls-cam-idle-tuning-basics.md (high confidence — community consensus + HPAcademy)
✦ Scarecrow suggests
RPM
awaiting cam spec from build context
When mods.cam.specs.duration_int_at_050 is present, this auto-fills.
✦ SCARECROW REASONINGCONFIDENCE: HIGH
Idle RPM target is a function of cylinder filling at low-speed low-overlap conditions. Bigger cam → more overlap → less effective intake-charge → less torque available at any given RPM → minimum sustainable RPM rises. The community-consensus table above is empirical but well-converged across HPAcademy, ls1tech, and corvetteforum tuning threads. Pick the target first, then the airflow tables in 1.2/1.3 do the actual work of getting the engine there. Do not invert.
Bigger cam → more overlap → engine needs to spin faster to stay alive. Pick a target based on the table above. The other subsections below get the engine to that number.
1 scalar · cam-driven default
1.2 Idle Airflow — IAC counts (cable) OR DBW position 📍 LOCATE
HPT (cable)Engine → Idle → Idle Airflow → Base Running Airflow vs ECT
HPT (DBW)Engine → Idle → Idle Airflow → Base Idle Airflow / Throttle Follower
— Adjust to deliver target RPM
The throttle-side knob. On Gen III cable-throttle (LS1/LS6), the IAC valve is the only idle airflow controller — the throttle plate doesn't move at idle. On Gen IV DBW (LS3/L92/LS7), the throttle plate itself is the controller — it opens and closes a few degrees to manage idle. There is no separate IAC valve. This is why DBW LS engines are MORE sensitive to a wrong idle airflow table than cable-throttle engines: there's no IAC fallback to mask the problem.

Closed-loop idle behavior: the PCM compares actual RPM to desired (1.1), then opens or closes IAC counts (or DBW position) until they match. The base table here is the starting point; the closed-loop trim adjusts in real time. If the base is way off, the trim hits its rail and the engine hunts.
The valve (or throttle plate) that controls how much air gets in at idle. On older LS engines (cable throttle) this is the IAC. On newer LS (drive-by-wire), the throttle plate itself does the job — there's no IAC backup, so the table has to be right.
SCARECROW HALTS HERE IF…
DESIRED RPM NOT SET Tuning idle airflow without picking a target RPM (1.1) is shooting in the dark. Returns to 1.1 first.
VACUUM LEAK SUSPECTED If IAC counts pegged at zero with engine still over-revving idle, that's a vacuum leak. Cal won't fix the leak. Investigate hardware first.
1 table · airflow-side, wideband not required
1.3 Cold-Start Percentage Max — the cammed-LS killer 📍 LOCATE
HPTEngine → Idle → Idle Airflow → Maximum Idle Airflow Percentage
◐ Often the fix for "dies cold, hunts warm"
Most idle problems with cammed LS engines come down to one parameter that gets missed: the maximum percentage of idle airflow the PCM is allowed to command when the engine is cold. The default is set for stock cams. With more overlap, the engine needs 50–100% more bypass air during warmup just to stay alive. The PCM is asking the IAC (or DBW plate) to deliver more air, but the percentage max ceiling caps it lower than what the engine needs.

Symptoms when this is wrong:
  • Engine starts cold and dies immediately.
  • Runs but sounds like it's drowning.
  • Hunts violently between 400–1200 RPM until warm.
None of those are fuel problems. Pouring fuel at them makes it worse — flooded cylinder + air-starved engine. Fix: raise this ceiling. Then the engine has the air it needs and the fuel trims can settle.
How wide-open the idle valve (or throttle plate) is allowed to be when the engine is cold. Default is for stock cams. If your engine dies on cold start or hunts wildly until warm, this is almost always the fix — not fuel.
✦ SCARECROW REASONINGCONFIDENCE: HIGH
KB cites this as the most common idle-quality fix on LS cam swaps that gets missed. Bigger cam = more overlap = lower effective volumetric efficiency at sub-1500 RPM = more bypass air needed to keep the cylinder filled enough to combust cleanly. The percentage cap is intentional — it's there to prevent runaway idle on a stock cam — but it's the wrong cap for a built engine. Raising it doesn't break the closed-loop trim; it just gives the trim more room to do its job.
Bigger cam needs more bypass air when cold. The default setting won't allow enough. Raise it.
1 scalar · cold-start critical
1.4 A/C Kick — extra airflow when compressor engages 📍 LOCATE
HPTEngine → Idle → Idle Airflow → A/C Adder
— Verify on first A/C cycle in log
When the A/C compressor engages, 2–4 hp of parasitic load drops on the engine instantly. The PCM compensates by bumping idle airflow up by a fixed adder. Stock value (typically ~10–15 IAC counts on cable throttle, equivalent throttle delta on DBW) works for stock cams. Bigger cams need more — the engine takes longer to recover from the load drop, and during that recovery it can stall.

Verify in the log: A/C kicks in at idle in gear, RPM should drop < 50 RPM and recover in < 1 second. Bigger drop or slower recovery → bump the adder.
When you turn on the A/C, the compressor pulls power from the engine. The PCM bumps idle to keep it alive. If the engine still dips or stalls when you flip A/C on, this needs to go up.
1 scalar · accessory load comp
1.5 Idle Spark — timing for stability 📍 LOCATE
HPTEngine → Spark → Spark Advance → Base Spark vs RPM/MAP (idle cells)
— Tune AFTER airflow + fuel are stable
Idle spark advance is a stability lever, not a power lever. Too much advance at idle → harsh, cold-natured idle, EGR-like roughness. Too little → low torque margin against accessory loads, easy to stall. The PCM uses idle spark closed-loop authority to micro-correct RPM faster than airflow can — RPM dipping → it advances timing → torque rises → RPM recovers, all in a few engine cycles.

Order: tune idle spark AFTER the airflow table (1.2) and the fuel side (1.6) are stable. Spark on top of broken airflow chases its tail.
Spark timing at idle affects how stable the engine sits. Tune airflow and fuel first; spark is the last lever.
cells in idle band only
1.6 Idle AFR — Idle-Fuel gate (wideband required) 📍 LOCATE
HPTEngine → Fuel → Open/Closed Loop → Closed-Loop Idle Cells
⚠ Halts if wideband absent
Per spec §5.1, idle is a two-step gate: Idle-Airflow (1.1–1.5 above) runs without a wideband. Idle-Fuel does not. If sensors.wideband_o2.present === false, this subsection renders a wideband-not-present-deferred state, marks the section as deferred-by-design, and lets the rest of the workflow continue. The narrowband O2 alone can't cross-check open-loop idle fueling — it bangs lean/rich around stoich without telling you the actual AFR target the engine is sitting at.

What it does when unlocked: verifies idle AFR sits within KB target band (~14.13:1 stoich on E10, slightly leaner on E0, ~14.0–14.3 acceptable) and corrects open-loop idle cells if STFT/LTFT show settled bias.
You can't dial-in idle AFR without a wideband. If you don't have one, this step waits. The rest of idle still works without it.
SCARECROW HALTS HERE IF…
NO WIDEBAND Build context says sensors.wideband_o2.present === false. Subsection renders deferred. Rest of idle workflow continues. Spec §5.1.
IDLE-AIRFLOW INCOMPLETE Idle-Fuel only unlocks when Idle-Airflow status is 'complete' or 'untouched-by-design'. Otherwise: fix airflow first.
1 table · gated
1.7 Verification — log capture for idle — Log to verify changes
Per spec §4.2 (Idle-Airflow): cold-start through warm-up cycle (20–30 min), then 5 min in gear at idle (auto only), A/C cycling on/off. Channels required: RPM, MAP, IAC counts (DBC) OR DBW position, TPS, ECT, idle target RPM. Recommended: spark adv, A/C clutch state, fan state, vehicle speed (== 0), brake state.

Per spec §4.2 (Idle-Fuel): same log if wideband was present during capture; otherwise re-log after wideband install. Adds AFR Cmd, AFR Actual, STFT, LTFT to the channel list.
Log a cold start through warmup, then 5 minutes at warm idle with A/C cycling. The page tells you what channels to record.
verification, no cal change