Explanation of EFI Diagnostic Trouble Codes for OBD-II
By Mike Grage, Customer and Technical Support at Modern British Iron
EFI diagnostics only got an honorable mention when I attended Motorcycle Mechanic’s Institute in 1990-91. Then it started putting the meat and potatoes into my paychecks sometime around 1998. My EFI training is from annual new model update seminars from multiple motorcycle manufacturers over the years. And experience has taught me that some EFI problems cannot be solved with training alone.
“Starting in 1996 all electronic fuel injection on highway vehicles were required to have the second generation of on-board diagnostic, or OBD-II.”
Since OBD-II trouble codes will send you in the right direction when diagnosing EFI problems I am going to decipher the trouble codes in this blog. The actual diagnostic procedure for finding faults is a little more complex so I am going to be covering that in a separate blog. Starting in 1996 all electronic fuel injection on highway vehicles were required to have the second generation of on-board diagnostic, or OBD-II. There are over 5000 generic codes in the OBD-II system and a number of these are manufacturer specific codes. The manufacturer specific codes may not appear in a generic scanner.
There are four basic groups of codes:
- Powertrain (Pxxxx),
- Chassis (Cxxxx),
- Body (Bxxxx), and
- Network Communication (Uxxxx)
As far as I know, no motorcycle ECU will produce a body code and I hope the reason is self-explanatory. Or at least none that I have been factory certified to service.
First up are the powertrain, or P codes. The next character will be either a 0 or 1. A code of P0xxx indicates a generic OBD-II trouble code, a P1xxx code indicates a manufacturer specific code. (ex. P1201 Inj 1 open/short to gnd is a code specific to Triumph).
The next digit indicates which part of the EFI system circuit is generating the DTC. The standardized list for this digit is:
- 0- Fuel & Air metering (Oxygen sensor heater)
- 1- Fuel & Air metering (MAP, IAT)
- 2- Injector circuit (injector malfunctions)
- 3- Ignition system (misfires, etc.)
- 4- Auxiliary emissions control (purge canister, air injection, etc.)
- 5- Vehicle speed control & Idle speed control
- 6- Computer output circuit (tach output, fall detection, ECU)
- 7- Transmission (Gear position sensor)
- 8- Transmission
- 9- Transmission
The first part of the code is important because a single fault can create an OBD-II generic code and manufacturer specific code. One example would be the fault codes for a poorly connected injector on the number one cylinder of a Triumph Rocket III. It will produce OBD-II generic code P0201 (Inj. 1 circuit) and Triumph specific code (P1201).
The last two digits of the trouble code indicate the part that is responsible for generating the fault code. If it is only one part generating the code, replace it. If there are multiple parts generating the codes read my other blog before replacing any sensors, especially if they are P01xx and P11xx codes.
The next set of codes to discuss are the Chassis codes. On motorcycles these are generated by the ABS braking system. For Triumph and most motorcycle brands these are manufacturer specific codes in the C16xx range. The most common source of these fault codes are dirty or damaged sensors or connectors. Multiple C16xx range fault codes can be caused by bad grounds or damaged wiring, so the same basic principle applies when diagnosing ABS problems.
The last set of codes are the network codes. The way the U codes apply to our beloved motorcycles are related to the dreaded CANBUS system. On a motorcycle it is the communications network between the electronic dash and ECU computers. Explaining and diagnosing this system will be in another blog post.