Bonk DTC docs
23-01 Confirmed

O2 sensor heater malfunction

The oxygen sensor’s heater circuit did not respond as commanded, the pattern of an open or short.

Manufacturer
Honda
Platform
PGM-FI (Keihin, Renesas M32R)
Models
CBR600RR
Years
2003-2022
Subsystem
O2 sensor heater
FI-light blink
2 long, 3 short
Hex
0x2301

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 oxygen sensor has a small heater so it reaches operating temperature quickly. The ECU drives that heater and checks the circuit. When it stays open or shorted, this code sets and the sensor is slow to start working.

Conditions

Detection conditions

  • The ECU drives the oxygen-sensor heater and checks the circuit responds.

Sets the fault when

  • The heater 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

  • Oxygen sensor heater element and its wiring

Symptoms & likely causes

Possible symptoms

  • FI (check-engine) light on
  • Oxygen sensor slow to warm up, so closed-loop starts late

Likely causes

  • Open or shorted heater element
  • Heater wiring or connector fault
  • Blown heater fuse (if fitted)

Diagnostic guidance

Measure the heater resistance and check its power and ground circuit 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.

C How an injector / coil / heater circuit sets a code
// 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();
}
Reverse-engineered interpretation · CBR600RR ECU reverse-engineering analysis

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.

C How a confirmed fault is stored
// 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
}
Reverse-engineered interpretation · CBR600RR ECU reverse-engineering analysis

Related codes

Questions about code 23-01

What does Honda code 23-01 mean?
The oxygen sensor’s heater circuit did not respond as commanded, the pattern of an open or short.
Which motorcycles does code 23-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 23-01?
It depends on the fault. Code 23-01 relates to the O2 sensor heater. 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 23-01?
Measure the heater resistance and check its power and ground circuit for opens and shorts.

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.

Content version 1.0.0 · last reviewed 2026-07-14