No.1 primary injector circuit malfunction
The No.1 primary injector circuit did not respond as commanded, the pattern of an open or shorted circuit.
- Manufacturer
- Honda
- Platform
- PGM-FI (Keihin, Renesas M32R)
- Models
- CBR600RR
- Years
- 2003-2022
- Subsystem
- No.1 primary injector circuit
- Hex
- 0x1201
Confirmed. Confirmed: how the ECU detects this was traced in the firmware and matches the standard Honda meaning of the code.
What it means
The ECU switches each injector on and checks that its circuit responds. When the No.1 primary injector circuit stays open or shorted, this code sets and that cylinder loses its fuel delivery.
Conditions
Detection conditions
- The ECU drives the No.1 injector and checks the circuit responds.
Sets the fault when
- The circuit stays 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
- No.1 primary fuel injector and its wiring
Symptoms & likely causes
Possible symptoms
- FI (check-engine) light on
- Misfire or rough running on that cylinder
- Possible hard starting
Likely causes
- Open or shorted injector coil
- Break or short in the injector wiring or connector
- ECU injector driver fault (rare)
Diagnostic guidance
Measure the injector coil resistance and check its wiring and connector for opens and shorts.
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
}
Related codes
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.