IACV circuit malfunction
The idle air control valve circuit had an electrical fault. Standard Honda meaning.
- Manufacturer
- Honda
- Platform
- PGM-FI (Keihin, Renesas M32R)
- Models
- CBR600RR
- Years
- 2003-2022
- Subsystem
- IACV (idle air control valve)
- FI-light blink
- 2 long, 9 short
- Hex
- 0x2901
Strongly inferred. Strongly inferred: the standard Honda meaning is well established, but exactly how this ECU handles it internally is inferred rather than fully confirmed.
What it means
The idle air control valve is a small motor the ECU uses to manage idle airflow. This code sets on an electrical fault in that valve’s circuit, which usually shows up as an unstable idle.
Conditions
Detection conditions
- The ECU drives the idle air control valve and checks its circuit.
Sets the fault when
- The valve circuit is open or shorted long enough to count.
Clears the fault when
- Fix the underlying problem, then clear the stored codes with a diagnostic tool or the manufacturer’s reset procedure. If the fault is still present, the code returns the next time the ECU detects it.
Parts involved
- Idle air control valve and its wiring
Symptoms & likely causes
Possible symptoms
- FI (check-engine) light on
- Unstable, high, or low idle; stalling
Likely causes
- Open or shorted valve winding
- Valve wiring or connector fault
- Sticking or failed valve
Diagnostic guidance
Idle instability alongside this code points at the valve or its wiring: test the circuit.
How the ECU decides
A simplified view of the logic behind this code: a short C snippet with a plain-English summary. It shows the real decision the ECU makes without the low-level detail.
For an output like an injector, coil, or sensor heater, the ECU switches the circuit on and checks that it actually responded. If the circuit is open or shorted for long enough, it sets the code and stops driving that output.
// Command the output on, then confirm the circuit responded.
turn_on(output);
if (circuit_response(output) == BAD) { // open or short
bad_count++;
if (bad_count >= limit)
set_fault();
}
When the ECU confirms a fault, it saves the code and turns on the FI (check-engine) light. For a serious fault it also runs the engine on safe default values (limp-home) so you can still ride, with the light on.
// Once a fault is confirmed, remember it and warn the rider.
if (fault_confirmed) {
store_code(code); // kept until the codes are cleared
fi_light = ON;
if (fault_is_serious)
limp_home = ON; // safe defaults so you can ride home
}
Questions about code 29-01
- What does Honda code 29-01 mean?
- The idle air control valve circuit had an electrical fault. Standard Honda meaning.
- Which motorcycles does code 29-01 apply to?
- It is documented here for the Honda CBR600RR (2003-2022). Other Honda models may use the same display code with a different meaning, so confirm against your model.
- Can I still ride with code 29-01?
- It depends on the fault. Code 29-01 relates to the IACV (idle air control valve). If the bike runs poorly or a safety-related system is affected, avoid riding until it is checked. The FI light stays on until the fault is fixed and the codes are cleared.
- What should I check first for code 29-01?
- Idle instability alongside this code points at the valve or its wiring: test the circuit.
Sources
Every technical claim on this page traces to the research below. Source labels are sanitized; no local research paths are exposed.
- firmware
2005-2006 Honda CBR600RR ECU firmware
Factory PGM-FI firmware for the 2005-2006 CBR600RR. Primary source of truth.
- analysis
Firmware fault-code table extraction
Reads the list of codes the ECU can store directly out of each firmware.
- reference
HondaECU project (open-source Honda ECU tool)
Community reference mapping Honda PGM-FI codes to their meanings.
- analysis
CBR600RR ECU reverse-engineering analysis
Independent analysis of how the ECU detects, stores, and reports faults.