Quick Summary
Harley-Davidson's onboard diagnostic system organizes faults into four code types covering the powertrain, body, chassis, and inter-module communication. Codes carry one of three status levels: current, historic, or pending, each signaling a different level of urgency. Owners of 2004 and newer EFI models can pull stored codes directly from the dash using the trip reset button. A code identifies the affected system, but accurate repair still depends on having model-specific technical guidance.
A check engine light on your Harley is not something to ignore or panic about. It means the bike's onboard diagnostic system has detected a fault and stored a code. At Haynes Manuals, we work with riders who want to understand their bikes and do their own maintenance.
Knowing how to read Harley-Davidson trouble codes is one of the more useful skills any owner can have. It does not require a trip to the dealership to get started.
What the Harley-Davidson Trouble Code System Actually Does
Harley-Davidson motorcycles use a standardized system of diagnostic trouble codes. It’s stored by the Electronic Control Module and other modules, including the Body Control Module, speedometer, and ABS system. When the onboard diagnostic system detects a fault, it logs a code and lights up the check engine indicator on the dashboard.
Codes are split into three status types:
- Current: A fault the system is actively detecting. Clearing the code without fixing the problem means it will return.
- Historic: A fault that was detected previously. Historic codes stay stored until they are manually cleared or until roughly 40 ignition cycles pass without the fault recurring.
- Pending: A fault that has appeared but not frequently enough to become a current code. If it resolves on its own, it moves to historic status without ever becoming current.
Our Harley-Davidson motorcycle manuals cover diagnostic systems for a wide range of models. Get wiring diagrams, sensor locations, and repair procedures to address whatever the codes reveal.
How to Pull Harley-Davidson Trouble Codes Without a Scanner
On most EFI-equipped Harleys from 2004 onward, you can read stored codes directly through the instrument cluster without any external tools. The process uses the odometer reset button and takes about two minutes.
The general method works like this: hold down the trip reset button, turn the ignition from off to on, then release the button once the background lighting activates.
Press the button once to cycle through each module and view any stored codes. If no codes are present for a module, the display shows "none." If codes are stored, record them before doing anything else.
To determine whether a code is current or historic, hold the odometer reset button for more than five seconds until "clear" appears. Turn the ignition off, take the bike for a ride, shut it down, and check again. A current code will reappear, but a historic code will not.
On 2014 and later Touring models, the left handlebar toggle switch replaces the odometer button in this process. Newer bikes also display full module names on the dash, such as ECM, BCM, SPDO, and RAD. Older models use single letters: P for the ECM, S for the TSM or TSSM, SP for the speedometer, T for the tachometer, and B for the ABS module.
Our Clymer Harley-Davidson motorcycle manuals include model-specific diagnostic procedures and are particularly useful once you have a code in hand and need to know how to trace the fault.
The Four Code Types and What They Cover
Codes begin with one of four letters, and that letter indicates which system flagged the fault. Here is how the system breaks down.
P Codes (Powertrain): These are generated by the ECM and cover the engine, fuel system, ignition, and sensors. P codes are the ones owners encounter most often.
B Codes (Body): Set by the instruments, BCM, and security modules. These cover lighting circuits, fuel level sensors, security system faults, and accessory line issues.
C Codes (Chassis): Generated by the ABS module. A C code almost always points to a wheel speed sensor, solenoid circuit, or ABS ECU issue.
U Codes (Network): Communication errors between modules. These tend to appear after a battery disconnect, a loose connector under the seat, or an electrical system fault that disrupts the serial data bus.
Within a code, the second digit also carries information. A zero means the code follows the generic OBD standard. A one means it is a Harley-specific manufacturer code.
Common Codes and What They Indicate
The following are among the codes owners come across most frequently, grouped by type.
Common P Codes:
- P0107: MAP sensor open or reading low
- P0113: IAT sensor voltage open or high
- P0117: Engine temperature sensor reading low
- P0122: TPS1 reading low
- P0131: Front oxygen sensor low / engine running lean
- P0132: Front oxygen sensor high / engine running rich
- P0151: Rear oxygen sensor low / engine running lean
- P0261: Front injector open or reading low
- P0263: Rear injector open or reading low
- P0371: CKP sensor registering the wrong number of pulses
- P0374: CKP sensor synchronization error
- P2138: Twist grip sensor correlation error
Common B Codes:
- B0563: Battery voltage high (TSM/TSSM)
- B1004: Fuel level sending unit reading low
- B1006: Accessory line overvoltage
- B1122: Right turn output fault
- B1131: Alarm output low (TSM/TSSM)
- B1135: Accelerometer fault (TSM/TSSM)
- B1141: Ignition switch open or low
Common C Codes:
- C1021: ABS front wheel speed sensor is always reading zero
- C1023: ABS rear wheel speed sensor is always reading zero
- C1025: ABS front wheel speed intermittent
- C1029: ABS wheel speed difference too high
- C1040: ABS pump or motor error
- C1055: ABS ECU internal error
A code is a starting point, not a final answer. The same code can have multiple root causes depending on the model year, system configuration, and the condition of surrounding components. Proper diagnosis means tracing the fault through the relevant circuit, which is where a detailed repair manual becomes essential.
Know the Code, Make the Repair
Reading a code is step one. Acting on it correctly is where the real work begins. Stored code narrows down the system with the fault, but finding the specific cause and repairing it requires model-specific information: wiring diagrams, torque specifications, sensor test procedures, and step-by-step repair sequences.
The Haynes and Clymer Manuals available through cover Harley-Davidson models across a wide range of years and platforms. Gain the depth of information needed to go from a code on the dash to a completed repair at home.
Get in touch with us if you have questions about which manual covers your specific model and year.
FAQs
Can a Harley-Davidson throw multiple codes at the same time?
Yes, multiple codes can be stored across different modules simultaneously. When this happens, address the highest-priority code first, as one underlying fault can sometimes trigger secondary codes in connected systems. Clearing them in the wrong order can make diagnosis harder than it needs to be.
Does a U code mean something is seriously wrong with my Harley?
Not necessarily. U codes signal communication failures between modules rather than mechanical faults. A loose connector under the seat or a battery disconnect is often the trigger. Check all connections and the battery terminals before assuming a deeper electrical issue is present.
Will my Harley run normally with a historic code stored?
A historic code means the fault is no longer active, so the bike may run fine. However, ignoring it entirely is not advisable. Historic codes point to a fault that occurred at some point, and intermittent issues tend to return. Keeping a record of them helps with future diagnosis.