On-Board Diagnostics (OBD) Background History
On-board diagnostics (OBD) is an automotive term referring to a vehicle's self-diagnostic and reporting capability. OBD systems give the vehicle owner or repair technician access to the status of the various vehicle sub-systems. The amount of diagnostic information available via OBD has varied widely since its introduction in the early 1980s' versions of on-board vehicle computers. Early versions of OBD would simply illuminate a malfunction indicator light or "idiot light" if a problem was detected but would not provide any information as to the nature of the problem. Modern OBD implementations use a standardized digital communications port to provide real-time data in addition to a standardized series of diagnostic trouble codes, or DTCs, which allow one to rapidly identify and remedy malfunctions within the vehicle.
GM's ALDL (Assembly Line Diagnostic Link) is sometimes referred as a predecessor to, or a manufacturer's proprietary version of, an OBD-I diagnostic. This interface was made in different varieties and changed with power train control modules (aka PCM, ECM, ECU). Different versions had slight differences in pin-outs and baud rates. Earlier versions used a 160 baud rate, while later versions went up to 8192 baud and used bi-directional communications to the PCM
The regulatory intent of OBD-I was to encourage auto manufacturers to design reliable emission control systems that remain effective for the vehicle's "useful life". The Diagnostic Trouble Codes (DTCs) of OBD-I vehicles can usually be found without an expensive 'scan tool'. Each manufacturer used their own diagnostic link connector (DLC), DLC location, DTC definitions, and procedure to read the DTC's from the vehicle. DTC's from OBD-I cars are often read through the blinking patterns of the 'Check Engine Light' (CEL) or 'Service Engine Soon' (SES) light. By connecting certain pins of the diagnostic connector, the 'Check Engine' light will blink out a two-digit number that corresponds to a specific error condition.
The DTC's of some OBD-I cars are interpreted in different ways, however. Cadillac (gasoline) fuel-injected vehicles are equipped with actual on-board diagnostics, providing trouble codes, actuator tests and sensor data through the new digital Electronic Climate Control display. Holding down 'Off' and 'Warmer' for several seconds activates the diagnostic mode without the need for an external scan tool. Some Honda engine computers are equipped with LEDs that light up in a specific pattern to indicate the DTC. General Motors, some 1989-1995 Ford vehicles (DCL), and some 1989-1995 Toyota/Lexus vehicles have a live sensor data stream available, however, many other OBD-I equipped vehicles do not. OBD-I vehicles have fewer DTCs available than for OBD-II equipped vehicles.
OBD 1.5 refers to a partial implementation of OBD-II which General Motors used on some vehicles in 1994 and 1995. (GM did not use the term OBD 1.5 in the documentation for these vehicles — they simply have an OBD and an OBD-II section in the service manual.)
For example, the 94–95 Corvettes have one post-catalyst oxygen sensor (although they have two catalytic converters), and have a subset of the OBD-II codes implemented. For a 1994 Corvette the implemented OBD-II codes are P0116-P0118, P0131-P0135, P0151-P0155, P0158, P0160-P0161, P0171-P0175, P0420, P1114-P1115, P1133, P1153 and P1158.
The pinout for the ALDL connection on these cars is:
For ALDL connections, pin 9 is the data stream, pins 4 and 5 are ground, and pin 16 is battery voltage.
An OBD 1.5 compatible scan tool is required to read codes generated by OBD 1.5.
Additional vehicle-specific diagnostic and control circuits are also available on this connector. For instance, on the Corvette there are interfaces for the Class 2 serial data stream from the PCM, the CCM diagnostic terminal, the radio data stream, the airbag system, the selective ride control system, the low tire pressure warning system, and the passive keyless entry system.
OBD-II is an improvement over OBD-I in both capability and standardization. The OBD-II standard specifies the type of diagnostic connector and its pinout, the electrical signaling protocols available, and the messaging format. It also provides a candidate list of vehicle parameters to monitor along with how to encode the data for each. There is a pin in the connector that provides power for the scan tool from the vehicle battery, which eliminates the need to connect a scan tool to a power source separately. However, some technicians might still connect the scan tool to an auxiliary power source to protect data in the unusual event that a vehicle experiences a loss of electrical power due to a malfunction.
Finally, the OBD-II standard provides an extensible list of DTCs. As a result of this standardization, a single device can query the on-board computer(s) in any vehicle. This OBD-II came in two models OBD-IIA and OBD-IIB. OBD-II standardization was prompted by emissions requirements, and though only emission-related codes and data are required to be transmitted through it, most manufacturers have made the OBD-II Data Link Connector the only one in the vehicle through which all systems are diagnosed and programmed.
OBD-II Diagnostic Trouble Codes are 4-digit, preceded by a letter: P for engine and transmission (powertrain), B for body, C for chassis, and U for network.
OBDII Diagnostic Connector
The OBD-II specification provides for a standardized hardware interface—the female 16-pin (2x8) J1962 connector. Unlike the OBD-I connector, which was sometimes found under the hood of the vehicle, the OBD-II connector is required to be within 2 feet (0.61 m) of the steering wheel (unless an exemption is applied for by the manufacturer, in which case it is still somewhere within reach of the driver). SAE J1962 defines the pinout of the connector as:
1. Manufacturer discretion –
GM: J2411 GMLAN/SWC/Single-Wire CAN
VW/Audi: Switched +12 to tell a scan tool whether the ignition is on.
Ford: Infotainment CAN High
2. Bus Positive Line of SAE J1850 PWM and VPW
3. Manufacturer discretion -
Ford: DCL(+) Argentina, Brazil (pre OBD-II) 1997-2000, USA, Europe, etc.
Ford: Medium Speed CAN-High
Chrysler: CCD Bus(+)
4. Chassis Ground
5. Signal Ground
6. CAN-High (ISO 15765-4 and SAE J2284)
7. K-Line of ISO 9141-2 and ISO 14230-4
8. Manufacturer discretion -
BMW: Second K-Line for non OBD-II (Body/Chassis/Infotainment) systems.
9. Manufacturer discretion -
GM: 8192 baud ALDL where fitted.
Ford: Infotainment CAN-Low
10. Bus Negative Line of SAE J1850 PWM only (not SAE J1850 VPW)
11. Manufacturer Discretion -
Ford: DCL(-) Argentina, Brazil (pre OBD-II) 1997-2000, USA, Europe, etc.
Ford: Medium Speed CAN-Low
Chrysler: CCD Bus(-)
12. Manufacturer discretion
13. Manufacturer discretion -
Ford: FEPS - Programming PCM voltage
14. CAN-Low (ISO 15765-4 and SAE J2284)
15. L-Line of ISO 9141-2 and ISO 14230-4
16. Battery Voltage
The EOBD (European On Board Diagnostics) regulations are the European equivalent of OBD-II, and apply to all passenger cars of category M1 (with no more than 8 passenger seats and a Gross Vehicle Weight rating of 2500 kg or less) first registered within EU member states since January 1, 2001 for gasoline engine cars and since January 1, 2004 for diesel engine cars.
For newly introduced models, the regulation dates applied a year earlier - January 1, 2000 for petrol and January 1, 2003 for diesel.
For passenger cars with a Gross Vehicle Weight rating of greater than 2500 kg and for light commercial vehicles, the regulation dates applied from January 1, 2002 for petrol models, and January 1, 2007 for diesel models.
The technical implementation of EOBD is essentially the same as OBD-II, with the same SAE J1962 diagnostic link connector and signal protocols being used.
With Euro V and Euro VI emission standards, EOBD emission thresholds will be lower than previous Euro III and IV.
Each of the EOBD fault codes consists of five characters: a letter, followed by four numbers. The letter refers to the system being interrogated e.g. Pxxxx would refer to the powertrain system. The next character would be a 0 if complies to the EOBD standard. So it should look like P0xxx.
The next character would refer to the sub system.
- P00xx - Fuel and air metering and auxiliary emission controls.
- P01xx - Fuel and air metering.
- P02xx - Fuel and air metering (injector circuit).
- P03xx - Ignition system or misfire.
- P04xx - Auxiliary emissions controls.
- P05xx - Vehicle speed controls and idle control system.
- P06xx - Computer output circuit.
- P07xx - Transmission.
- P08xx - Transmission.
The following two characters would refer to the individual fault within each subsystem
The term "EOBD2" is marketing term used by some vehicle manufacturers to refer to manufacturer-specific features that are not actually part of the OBD or EOBD standard. In this case "E" stands for Enhanced.
JOBD is a version of OBD-II for vehicles sold in Japan.
ADR 79/01 and 79/02 (Australian OBD standard)
The ADR 79/01 (vehicle standard (Australian Design Rule 79/01 – Emission Control for Light Vehicles) 2005) standard is the Australian equivalent of OBD-II. It applies to all vehicles of category M1 and N1 with a gross Vehicle Weight rating of 3500 kg or less, registered from new within Australia and produced since January 1, 2006 for gasoline engine cars and since January 1, 2007 for diesel engine cars. For newly introduced models, the regulation dates applied a year earlier - January 1, 2005 for petrol and January 1, 2006 for diesel. The ADR 79/01 standard was supplemented by the ADR 79/02 standard which imposed tighter emissions restrictions, applicable to all vehicles of class M1 and N1 with a gross vehicle weight rating of 3500 kg or less, from July 1, 2008 for new models, July 1, 2010 for all models. The technical implementation of this standard is essentially the same as OBD-II, with the same SAE J1962 diagnostic link connector and signal protocols being used.
OBDII Signal Protocols
There are five signaling protocols that are permitted with the OBD-II interface. Most vehicles implement only one of the protocols. It is often possible to deduce the protocol used based on which pins are present on the J1962 connector:
- SAE J1850 PWM (pulse-width modulation — 41.6 kB/sec, standard of the Ford Motor Company)
- pin 2: Bus+
- pin 10: Bus–
- High voltage is +5 V
- Message length is restricted to 12 bytes, including CRC
- Employs a multi-master arbitration scheme called 'Carrier Sense Multiple Access with Non-Destructive Arbitration' (CSMA/NDA)
- SAE J1850 VPW (variable pulse width — 10.4/41.6 kB/sec, standard of General Motors)
- pin 2: Bus+
- Bus idles low
- High voltage is +7 V
- Decision point is +3.5 V
- Message length is restricted to 12 bytes, including CRC
- Employs CSMA/NDA
- ISO 9141-2. This protocol has an asynchronous serial data rate of 10.4 kBaud. It is somewhat similar to RS-232; however, the signal levels are different, and communications happens on a single, bidirectional line without additional handshake signals. ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles.
- pin 7: K-line
- pin 15: L-line (optional)
- UART signaling
- K-line idles high, with a 510 ohm resistor to Vbatt
- The active/dominant state is driven low with an open-collector driver.
- Message length is Max 260Bytes. Data field MAX 255.
- ISO 14230 (KWP2000) (Keyword Protocol 2000)
- pin 7: K-line
- pin 15: L-line (optional)
- Physical layer identical to ISO 9141-2
- Data rate 1.2 to 10.4 kBaud
- Message may contain up to 255 bytes in the data field
- ISO 15765 CAN (250 kBit/s or 500 kBit/s). The CAN protocol was developed by Bosch for automotive and industrial control. Unlike other OBD protocols, variants are widely used outside of the automotive industry. While it did not meet the OBD-II requirements for U.S. vehicles prior to 2003, as of 2008 all vehicles sold in the US are required to implement CAN as one of their signaling protocols.
- pin 6: CAN High
- pin 14: CAN Low
There are 4 variations of the ISO 15765 CAN protocol. The only differences are the bus speed and identifier length
- ISO 15765-4 CAN (11 bit ID,500 Kbaud)
- ISO 15765-4 CAN (29 bit ID,500 Kbaud)
- ISO 15765-4 CAN (11 bit ID,250 Kbaud)
- ISO 15765-4 CAN (29 bit ID,250 Kbaud)
All OBD-II pinouts use the same connector, but different pins are used with the exception of pin 4 (battery ground) and pin 16 (battery positive).