Ask a Car Mechanic and Get Answers to Your Car Questions ASAP
Name is Greg and i will assist you the best i can, please Only accept if you are happy with my answer.
The following data is to help you if you are writing your own software to explore the OBD interface. You don't need to worry about this if you are using our free program. The data below concentrates on mode 1 and 2, but we will generate similar data for all of the modes as time permits. Notes: A few of these PIDs are specific to mode 1 or mode 2. Specifically, Mode 2 only uses PID 0 and PIDS 2 through 0D. Mode 1 does not use PID 2. All PID numbers are in Hexadecimal. Each Request will return an obd frame composed of headers, mode, pid, data bytes, and crc byte. Out of all these bytes, this page concentrates on the meaning and usage for only 4 bytes at the most. You can look at DIAGNOSE.EXE log files that are given as examples on this web page to understand the other bytes in the messages. Other documentation is concerned with most of these bytes. Here we are concerned only with the data bytes. Each successful request will return from 0 to 4 data bytes. The number of data bytes is always the same number for a given PID, but varies according to the PID. For example, PID 0 always returns 4 data bytes, while PID 4 always returns 1 data byte. Here, we refer to these bytes simply as A, B, C, and D. This is also the order of transmission on the bus, and it is the order of significance. Note that each byte is an 8 bit value. Below, we refer to a byte by its symbol, such as A, B, C, etc. If a byte is not mentioned, then it is not used for that specific pid. For example, if only data byte A, or A is mentioned, then that pid only returns one byte of data. We also use Bit notation, so that a quantity like C4 means bit 4 of data byte C. The bits of each byte are numbered from 0 through 7, where 0 is the least significant. This is fairly standard nomenclature. Additionally, equations are given to use to display any numeric data. Most of the values are 9 bit number, but there are a few PIDs that use 16 Bit quantities.
PID 00 Determine PIDs supported Data bytes A through D are a bit mapped quantity. Each bit represents whether or not a PID is supported by the vehicle. The bits are mapped to correspond to PIDs 1 through 32, Starting with the most significant bit of data byte A and ending with the least significant bit of data byte D.
PID 01 Trouble codes and on board test information (for mode 1 only) This PID returns 4 data bytes. A contains the number of trouble codes stored and is represented by bits 0-6. The most significant bit of this byte is 1 if the MIL lamp is on and 0 otherwise. Data B, C, and D are bit mapped, and they contain bits to define whether or not various on-board diagnostic tests are supported and are currently completed. The bit mapping of these are as follows:
Continuous Monitoring tests (Supported/complete status)
Non-Continuous Monitoring tests (Supported/complete status)
PID 02 Freeze frame trouble code (mode 2 only) This PID returns two bytes, A, and B, which represent the trouble code that caused the freeze frame data to be stored. This only pertains to mode two. The trouble code is represented the same as in mode 4. If these bytes are zero, or if there is no response from the vehicle, then there is no freeze frame trouble code stored, and any data you retrieve in mode 2 may be meaningless.
PID 03 Fuel system status (open/closed loop) Data A represents Fuel System #1 status, and Data B represents Fuel system #2 status. Only one bit in each of these two bytes can be set to a one. Each bit has a meaning as follows: Bit 0 Open Loop Operation. This will normally be seen during warm up. Bit 1 Closed Loop, using oxygen sensor feedback to control fuel delivery. This is a normal condition. Bit 2 Open Loop due to driving conditions such as acceleration or deceleration. Bit 3 Open Loop due to a system fault. Bit 4 Closed Loop using at least one oxygen sensor, but there is a fault, and may indicate use of a single oxygen sensor for feedback.Bits 5-7 are reserved and should all be zero.
PID 04 Calculated load value % Engine Load%=A*100/255
PID 05 Coolant temp. deg C Temperature in Degrees Centigrade=A-40
PID 06 Short term fuel % trim Bank 1 The fuel trim is a value from -100% (lean) to +99.22% (rich) Fuel Trim% = .7812 * ( A-128 )
PID 07 Long term fuel % trim Bank 1 Similar to PID 6
PID 08 Short term fuel % trim Bank 2 Similar to PID 6
PID 09 Long term fuel % trim Bank 2 Similar to PID 6
PID 0A Fuel pres. kPa This reports the Fuel pressure in units of kPa Gauge. Fuel Pressure (kPaG) = 3 * A
PID 0B Intake man. pres. kPa Intake Manifold Pressure (kPa Absolute) = A
PID 0C Engine RPM This is a two byte value; Data A is the most significant byte, and Data B is the lower byte. RPM = .25 * ( A*256 + B )
PID 0D Vehicle speed km/hr Speed (Km/Hr) = A
PID 0E Timing adv. deg Timing advance referenced to #1 cylinder. This doesn't include mechanical advance. Advance (Degrees) = (.5 * A) - 64
PID 0F Intake air temp deg C Temperature in Degrees Centigrade=A-40
PID 10 Maf air flow gm/sec This is a two byte value, and A is the most significant byte. MAF air flow (gm/sec) = .01 * ( (256 * A ) + B )
PID 11 Absolute Throttle sensor position % Throttle position (%) = .3922 * A
PID 12 Sec. air status If this PID is supported, only one bit will be set in Data A. All remaining bits will be 0. Bit 0 Upstream of first Catalytic convertor. Bit 1 Downstream of first Catalytic convertor inlet. Bit 2 Atmosphere/off Bits 3-7 are reserved and should be zero.
PID 13 Oxygen sensor locations bank/sensor This PID reports the oxygen sensors located in the vehicle. PID 29 also does this for some vehicles. One byte is returned and each of the 8 bits define a location where an oxygen sensor is present. A sensor is present at a particular location if a bit is set to one. Note that more than one bit can be set because many vehicles have more than one oxygen sensor. The definitions for sensor locations for each bit are as follows:BIT 0 - Bank 1 - Sensor 1BIT 1 - Bank 1- Sensor 2BIT 2 - Bank 1- Sensor 3BIT 3 - Bank 1- Sensor 4BIT 4 - Bank 2- Sensor 1BIT 5 - Bank 2- Sensor 2BIT 6 - Bank 2- Sensor 3BIT 7 - Bank 2- Sensor 4
PID 14 Oxy. sensor voltage bank1 sensor1 This PID returns the Oxygen sensor voltage for the sensor located in Bank 1, Sensor 1. There are 7 other PIDs which are similar, but for other locations. In each case, Two bytes are returned. Data A represents the sensor voltage (defined below), and Data B is the short term fuel trim associated with the sensor, or Hex FF in the case where the sensor is not used in the calculation.Oxygen Sensor Voltage = .005 * AShort Term Fuel Trim% = .7812 * ( B-128 )PID 15 Oxy. sensor voltage bank1 sensor2 Defined similar to PID 14
PID 16 Oxy. sensor voltage bank1 sensor3 Defined similar to PID 14
PID 17 Oxy. sensor voltage bank1 sensor4 Defined similar to PID 14
PID 18 Oxy. sensor voltage bank2 sensor1 Defined similar to PID 14
PID 19 Oxy. sensor voltage bank2 sensor2 Defined similar to PID 14
PID 1A Oxy. sensor voltage bank2 sensor3 Defined similar to PID 14
PID 1B Oxy. sensor voltage bank2 sensor4 Defined similar to PID 14
PID 1C Design OBD requirements This PID returns information to determine which OBD requirements the vehicle was designed to meet. The value of Data A is defined as follows:01 - OBD II (California ARB)02 - OBD (Federal EPA)03 - OBD and OBD II04 - OBD 105 - Not intended to meet any OBD requirements.06 - EOBD (Europe)
PID 1D Alternate Oxy sensor locations This PID is an alternative to PID 13. Please refer PID 13 for details. The only difference is that PID 1D defines the locations differently and they are as follows:BIT 0 - Bank 1- Sensor 1BIT 1 - Bank 1- Sensor 2BIT 2 - Bank 2- Sensor 1BIT 3 - Bank 2- Sensor 2BIT 4 - Bank 3- Sensor 1BIT 5 - Bank 3- Sensor 2BIT 6 - Bank 4- Sensor 1BIT 7 - Bank 4- Sensor 2
PID 1E Auxiliary input status Returns one byte, Data A. Bit 0 Defines the status of the Power Take Off (PTO). If the bit is set to a one, the PTO is active. PID 1F Reserved PID 20 Determine J2190 PIDs supported This is very similar to PID 00, but it indicates PID supported from PID 21 to 40 Hex. These PIDs are defined in SAE J2190, and are reserved for future use. Regards Greg