On-Board Diagnostics, in an automotive context, is a generic term referring to hardware diagnostic capability that is present in most cars and light trucks on the road today.
During the 1970s and early 1980s manufacturers started using electronic means to control engine functions and diagnose engine problems. This was primarily to meet EPA emission standards. Through the years on-board diagnostic systems have become more sophisticated
OBD-II
OBD-II is a standard interface to the on-board computer of a vehicle, introduced in the mid-1990s. The California Air Resources Board (CARB) mandated that the specification be adopted for all cars sold in the United States by the year 1996 in order to simplify the implementation of an emissions testing program (see CCR Title 13 Section 1968.1 and 40 CFR Part 86 Section 86.094).
An OBD-II interface allows for the readout of DTCs (Diagnostic Trouble Codes) that have been generated by the on-board computer, as well as realtime data from the sensors connected to the on-board computer. In addition, the OBD-II interface provides a means to clear the DTC list once maintenance has been completed. For a list of generic OBD-II DTCs, see Table of OBD-II Codes (below). Individual manufacturers have been known to enhance the OBD-II code set with a host of proprietary DTCs.
NOTE TO BMW OWNERS - BMW Codes vs. OBD-II
OBD-II Physical Layer
The OBD-II specification provides for a standarized hardware interface?the female 16-pin (2x

J1962 connector. Unlike the OBD-I connector, which was found under the hood of the vehicle, the OBD-II connector is located on the driver's side of the passenger compartment near the center console. SAE J1962 defines the pinout of the connector as:
1 -
2 Bus positive Line of SAE-J1850
3 -
4 Chassis ground
5 Signal ground
6 CAN_H line of ISO 15765-4
7 K line of ISO 9141-2 and ISO 14230-4
8 -
9 -
10 Bus negative Line of SAE-J1850
11-
12 -
13 -
14 CAN_L of ISO 15765-4
15 L line of ISO 9141-2 and ISO 14230-4
16 Permanent positive voltage
The assignment of unspecified pins is left to the vehicle manufacturer's discretion.
OBD-II Signal Protocols
There are five protocols in use with the OBD-II interface, and often it is possible to make an educated guess about the protocol in use based on which pins are present on the J1962 connector:
SAE J1850 PWM (41.6 kbaud, standard of the Ford Motor Company)
- pin 2: Bus-
pin 10: Bus+
High voltage is +5V
Message length is restricted to 12 bytes, including CRC
Employs a multi-master arbitration scheme called 'Carrier SenseMultiple Access with Non-Destructive Arbitration' (CSMA/NDA)
SAE J1850 VPW (Variable Pulse Width) (10.4 kbaud, standard of General Motors)
- pin 2: Bus+
Bus idles low
High voltage is +7V
Decision point is +3.5V
Message length is restricted to 12 bytes, including CRC
Employs CSMA/NDA
ISO 9141-2. This protocol has a data rate of 10.4 kbaud, and is similar to RS-232. ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles.
- pin 7: K-line
pin 15: L-line (optional)
UART signaling (though not RS-232 voltage levels)
K-line idles high
High voltage is Vbatt
Message length is restricted to 12 bytes, including CRC
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 (250kbit/sec or 500kbit/sec)
~~~~~~~ continued below ~~~~~