Gm Extended Pid List Download

Aug 15, 2019 The PCM returns 2 bytes with this PID. The values returned represent run time in seconds. Torque converts the 2 bytes hex into 2 decimal values and presents them as 'A' and 'B'. The equation tallies up the total and divides by 60 to yield minutes. I had first seen this type of equation in the GM extended PID for Injector Pulse Width. Mode $06 data definitions for GM vehicles using J1850/Class2 diagnostic data link Some items have footnotes, defined on the last pages. Test ID (Hex) Comp ID (Hex) Test Limit Type Description (see footnotes on last page) Decimal Range Hex Range Oxygen Sensor Monitors and Constants 05 0D 1-Low Difference between R/L response and L/R response - B1S1.

OBD-II PIDs

P-codes, or OBD-II PIDsOn Board Diagnostics “Parameter IDs”, are codes used to request data from a vehicle, used as a diagnostic tool. These codes are part of SAE standard J/1979, required to be implemented in all cars sold in North America since 1996.

Typically, an automotive technician will use PIDs with a scan tool connected to the vehicle’s OBD-II connector.

  • The technician enters the PID
  • The scan tool sends to the vehicle’s bus (CAN, VPW, PWM, ISO, KWP. After 2008, CAN only)
  • A device on the bus recognizes the PID as one it is responsible for, and reports the value for that PID to the bus
  • The scan tool reads the response, and shows it to the technician

Modes

There are ten modes of operation described in the latest OBD-II standard SAE J1979. They are, the $ prefix indicating a hexadecimal number:

$01. Show current data

$02. Show freeze frame data

$03. Show stored Diagnostic Trouble Codes

$04. Clear Diagnostic Trouble Codes and stored values

$05. Test results, oxygen sensor monitoring (non CAN only)

$06. Test results, other component/system monitoring (Test results, oxygen sensor monitoring for CAN only)

$07. Show pending Diagnostic Trouble Codes (detected during current or last driving cycle)

$08. Control operation of on-board component/system

$09. Request vehicle information

$0A. Permanent DTC’s (Cleared DTC’s)

Vehicle manufactures are not required to support all modes.

Each manufacturer may define additional modes above #9 (e.g.: mode 22 as defined by SAE J2190 for Ford/GM, mode 21 for Toyota) for other information (e.g.: the voltage of the Traction Battery in a HEV).

Standard PIDs

The table below shows the standard OBD-II PIDs as defined by SAE J1979. The expected response for each PID is given, along with information on how to translate the response into meaningful data. Again, not all vehicles will support all PIDs and there can be manufacturer-defined custom PIDs that are not defined in the OBD-II standard.

Note that modes 1 and 2 are basically identical, except that Mode 1 provides current information, whereas Mode 2 provides a snapshot of the same data taken at the point when the last diagnostic trouble code was set. The exceptions are PID 01, which is only available in Mode 1, and PID 02, which is only available in Mode 2. If Mode 2 PID 02 returns zero, then there is no snapshot and all other Mode 2 data is meaningless.

Mode(hex)PID(hex)Data bytes returnedDescriptionMin valueMax valueUnitsFormula
01004PIDs supported [01 - 20]Bit encoded [A7..D0] [PID 0x01..PID 0x20]
01014Monitor status since DTCs cleared. (Includes malfunction indicator lamp (MIL) status and number of DTCs.)Bit encoded. See below.
01028Freeze DTC
01032Fuel system statusBit encoded. See below.
01041Calculated engine load value0100%A*100/255
01051Engine coolant temperature-40215°CA-40
01061Short term fuel % trim—Bank 1-100 (Rich)99.22 (Lean)%(A-128) * 100/128
01071Long term fuel % trim—Bank 1-100 (Rich)99.22 (Lean)%(A-128) * 100/128
01081Short term fuel % trim—Bank 2-100 (Rich)99.22 (Lean)%(A-128) * 100/128
01091Long term fuel % trim—Bank 2-100 (Rich)99.22 (Lean)%(A-128) * 100/128
010A1Fuel pressure0765kPa (gauge)A*3
010B1Intake manifold absolute pressure0255kPa (absolute)A
010C2Engine RPM016,383.75rpm((A*256)+B)/4
010D1Vehicle speed0255km/hA
010E1Timing advance-6463.5° relative to #1 cylinderA/2 – 64
010F1Intake air temperature-40215°CA-40
01102MAF air flow rate0655.35g/s((A*256)+B) / 100
01111Throttle position0100%A*100/255
01121Commanded secondary air statusBit encoded. See below.
01131Oxygen sensors present[A0..A3] Bank 1, Sensors 1-4. [A4..A7] Bank 2…
01142Bank 1, Sensor 1:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
01152Bank 1, Sensor 2:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
01162Bank 1, Sensor 3:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
01172Bank 1, Sensor 4:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
01182Bank 2, Sensor 1:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
01192Bank 2, Sensor 2:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
011A2Bank 2, Sensor 3:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
011B2Bank 2, Sensor 4:Oxygen sensor voltage,

Short term fuel trim

0-100(lean)1.27599.2(rich)Volts%A * 0.005(B-128) * 100/128 (if B0xFF, sensor is not used in trim calc)
011C1OBD standards this vehicle conforms toBit encoded. See below.
011D1Oxygen sensors presentSimilar to PID 13, but [A0..A7] [B1S1, B1S2, B2S1, B2S2, B3S1, B3S2, B4S1, B4S2]
011E1Auxiliary input statusA0 Power Take Off (PTO) status (1 active)[A1..A7] not used
011F2Run time since engine start065,535seconds(A*256)+B
01204PIDs supported 21-40Bit encoded [A7..D0] [PID 0x21..PID 0x40]
01212Distance traveled with malfunction indicator lamp (MIL) on065,535km(A*256)+B
01222Fuel Rail Pressure (relative to manifold vacuum)05177.265kPa(((A*256)+B) * 10) / 128
01232Fuel Rail Pressure (diesel)0655350kPa (gauge)((A*256)+B) * 10
01244O2S1_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
01254O2S2_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
01264O2S3_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
01274O2S4_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
01284O2S5_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
01294O2S6_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
012A4O2S7_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
012B4O2S8_WR_lambda(1):Equivalence Ratio

Voltage

0028N/AV((A*256)+B)/32768((C*256)+D)/8192
012C1Commanded EGR0100%100*A/255
012D1EGR Error-10099.22%(A-128) * 100/128
012E1Commanded evaporative purge0100%100*A/255
012F1Fuel Level Input0100%100*A/255
01301# of warm-ups since codes cleared0255N/AA
01312Distance traveled since codes cleared065,535km(A*256)+B
01322Evap. System Vapor Pressure-8,1928,192Pa((A*256)+B)/4 (A is signed)
01331Barometric pressure0255kPa (Absolute)A
01344O2S1_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
01354O2S2_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
01364O2S3_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/327685((C*256)+D)/256 – 128
01374O2S4_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
01384O2S5_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
01394O2S6_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
013A4O2S7_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
013B4O2S8_WR_lambda(1):Equivalence Ratio

Current

0-1282128N/AmA((A*256)+B)/32768((C*256)+D)/256 – 128
013C2Catalyst TemperatureBank 1, Sensor 1-406,513.5°C((A*256)+B)/10 – 40
013D2Catalyst TemperatureBank 2, Sensor 1-406,513.5°C((A*256)+B)/10 – 40
013E2Catalyst TemperatureBank 1, Sensor 2-406,513.5°C((A*256)+B)/10 – 40
013F2Catalyst TemperatureBank 2, Sensor 2-406,513.5°C((A*256)+B)/10 – 40
01404PIDs supported 41-60Bit encoded [A7..D0] [PID 0x41..PID 0x60]
01414Monitor status this drive cycleBit encoded. See below.
01422Control module voltage065.535V((A*256)+B)/1000
01432Absolute load value025,700%((A*256)+B)*100/255
01442Command equivalence ratio02N/A((A*256)+B)/32768
01451Relative throttle position0100%A*100/255
01461Ambient air temperature-40215°CA-40
01471Absolute throttle position B0100%A*100/255
01481Absolute throttle position C0100%A*100/255
01491Accelerator pedal position D0100%A*100/255
014A1Accelerator pedal position E0100%A*100/255
014B1Accelerator pedal position F0100%A*100/255
014C1Commanded throttle actuator0100%A*100/255
014D2Time run with MIL on065,535minutes(A*256)+B
014E2Time since trouble codes cleared065,535minutes(A*256)+B
01511Fuel TypeFrom fuel type table see below
01521Ethanol fuel %0100%A*100/255
01532Absoulute Evap system Vapour Pressure0327675kpa1/200 per bit
01C3?????Returns numerous data, including Drive Condition ID and Engine Speed*
01C4?????B5 is Engine Idle RequestB6 is Engine Stop Request*
02022Freeze frame trouble codeBCD encoded, See below.
03N/An*6Request trouble codes3 codes per message frame, BCD encoded. See below.
04N/A0Clear trouble codes / Malfunction indicator lamp (MIL) / Check engine lightClears all stored trouble codes and turns the MIL off.
050100OBD Monitor IDs supported ($01 – $20)
050101O2 Sensor Monitor Bank 1 Sensor 10.001.275Volts0.005 Rich to lean sensor threshold voltage
050102O2 Sensor Monitor Bank 1 Sensor 20.001.275Volts0.005 Rich to lean sensor threshold voltage
050103O2 Sensor Monitor Bank 1 Sensor 30.001.275Volts0.005 Rich to lean sensor threshold voltage
050104O2 Sensor Monitor Bank 1 Sensor 40.001.275Volts0.005 Rich to lean sensor threshold voltage
050105O2 Sensor Monitor Bank 2 Sensor 10.001.275Volts0.005 Rich to lean sensor threshold voltage
050106O2 Sensor Monitor Bank 2 Sensor 20.001.275Volts0.005 Rich to lean sensor threshold voltage
050107O2 Sensor Monitor Bank 2 Sensor 30.001.275Volts0.005 Rich to lean sensor threshold voltage
050108O2 Sensor Monitor Bank 2 Sensor 40.001.275Volts0.005 Rich to lean sensor threshold voltage
050109O2 Sensor Monitor Bank 3 Sensor 10.001.275Volts0.005 Rich to lean sensor threshold voltage
05010AO2 Sensor Monitor Bank 3 Sensor 20.001.275Volts0.005 Rich to lean sensor threshold voltage
05010BO2 Sensor Monitor Bank 3 Sensor 30.001.275Volts0.005 Rich to lean sensor threshold voltage
05010CO2 Sensor Monitor Bank 3 Sensor 40.001.275Volts0.005 Rich to lean sensor threshold voltage
05010DO2 Sensor Monitor Bank 4 Sensor 10.001.275Volts0.005 Rich to lean sensor threshold voltage
05010EO2 Sensor Monitor Bank 4 Sensor 20.001.275Volts0.005 Rich to lean sensor threshold voltage
05010FO2 Sensor Monitor Bank 4 Sensor 30.001.275Volts0.005 Rich to lean sensor threshold voltage
050110O2 Sensor Monitor Bank 4 Sensor 40.001.275Volts0.005 Rich to lean sensor threshold voltage
050201O2 Sensor Monitor Bank 1 Sensor 10.001.275Volts0.005 Lean to Rich sensor threshold voltage
050202O2 Sensor Monitor Bank 1 Sensor 20.001.275Volts0.005 Lean to Rich sensor threshold voltage
050203O2 Sensor Monitor Bank 1 Sensor 30.001.275Volts0.005 Lean to Rich sensor threshold voltage
050204O2 Sensor Monitor Bank 1 Sensor 40.001.275Volts0.005 Lean to Rich sensor threshold voltage
050205O2 Sensor Monitor Bank 2 Sensor 10.001.275Volts0.005 Lean to Rich sensor threshold voltage
050206O2 Sensor Monitor Bank 2 Sensor 20.001.275Volts0.005 Lean to Rich sensor threshold voltage
050207O2 Sensor Monitor Bank 2 Sensor 30.001.275Volts0.005 Lean to Rich sensor threshold voltage
050208O2 Sensor Monitor Bank 2 Sensor 40.001.275Volts0.005 Lean to Rich sensor threshold voltage
050209O2 Sensor Monitor Bank 3 Sensor 10.001.275Volts0.005 Lean to Rich sensor threshold voltage
05020AO2 Sensor Monitor Bank 3 Sensor 20.001.275Volts0.005 Lean to Rich sensor threshold voltage
05020BO2 Sensor Monitor Bank 3 Sensor 30.001.275Volts0.005 Lean to Rich sensor threshold voltage
05020CO2 Sensor Monitor Bank 3 Sensor 40.001.275Volts0.005 Lean to Rich sensor threshold voltage
05020DO2 Sensor Monitor Bank 4 Sensor 10.001.275Volts0.005 Lean to Rich sensor threshold voltage
05020EO2 Sensor Monitor Bank 4 Sensor 20.001.275Volts0.005 Lean to Rich sensor threshold voltage
05020FO2 Sensor Monitor Bank 4 Sensor 30.001.275Volts0.005 Lean to Rich sensor threshold voltage
050210O2 Sensor Monitor Bank 4 Sensor 40.001.275Volts0.005 Lean to Rich sensor threshold voltage
09004mode 9 supported PIDs 01 to 20Bit encoded
09025×5Vehicle identification number (VIN)Returns 5 lines, A is line ordering flag, B-E ASCII coded VIN digits.
0904variescalibration IDReturns multiple lines, ASCII coded
09064calibration

In the formula column, letters A, B, C, etc. represent the decimal equivalent of the first, second, third, etc. bytes of data. Where a (?) appears, contradictory or incomplete information was available. Someone with a copy of the 2006 SAE HS-3000 should fact-check these.

Bitwise encoded PIDs

Some of the PIDs in the above table cannot be explained with a simple formula. A more elaborate explanation of these data is provided here:

Mode 1 PID 01: A request for this PID returns 4 bytes of data. The first byte contains two pieces of information. Bit A7 (the eighth bit of byte A, the first byte) indicates whether or not the MIL (check engine light) is illuminated. Bits A0 through A6 represent the number of diagnostic trouble codes currently flagged in the ECU. The second, third, and fourth bytes give information about the availability and completeness of certain on-board tests. Note that test availability signified by set (1) bit; completeness signified by reset (0) bit:

Mode 1 PID 03: A request for this PID returns 2 bytes of data. The first byte describes fuel system #1. Only one bit should ever be set.

The second byte describes fuel system #2 (if it exists) and is encoded identically to the first byte.

Mode 1 PID 12: A request for this PID returns a single byte of data which describes the secondary air status. Only one bit should ever be set.

List

Mode 1 PID 1C: A request for this PID returns a single byte of data which describes which OBD standards this ECU was designed to comply with. The hexadecimal and binary representations of the data byte are shown below next to what it implies:

Mode 1 PID 41: A request for this PID returns 4 bytes of data. The first byte is always zero. The second, third, and fourth bytes give information about the availability and completeness of certain on-board tests. Note that test availability signified by set (1) bit; completeness signified by reset (0) bit:

Mode 3: (no PID required) A request for this mode returns information about the DTCs that have been set. The response will be an integer number of packets each containing 6 data bytes. Each trouble code requires 2 bytes to describe, so the number of packets returned will be the number of codes divided by three, rounded up. A trouble code can be decoded from each pair of data bytes. The first character in the trouble code is determined by the first two bits in the first byte:

As of September 2005, only P and U generic DTCs are standardized.

The second character in the DTC is a number defined by

The third character in the DTC is a number defined by

The fourth and fifth characters are defined in the same way as the third, but using bits B7..B4 and B3..B0. The resulting five-character code should look something like “U0158″ and can be looked up in a table of OBD-II DTCs.

Fuel Type Coding

Mode 1 PID 0×51 returns a value from an enumerated list giving the fuel type of the vehicle. The fuel type is returned as a single byte, and the value is given by

Non-standard PIDs

The majority of all OBD-II PIDs in use are non-standard. For most modern vehicles, there are many more functions supported on the OBD-II interface than are covered by the standard PIDs, and there is relatively minor overlap between vehicle manufacturers for these non-standard PIDs.

AutoEnginuity, who manufactures OBD-II scan tools, provides the following example on their website[1]:

Although Ford does implement the largest subset of the OBDII standard, the typical vehicle only supports 20 – 40 [standard] sensors and is limited to the emissions powertrain. Using the enhanced Ford interface, a typical Ford vehicle will support 200 – 300 sensors within half a dozen systems; that’s essential systems such as ABS, airbags, GEM, ICM, etc.

Our enhanced Ford interface coverage is only matched by factory tools; we have support for 3,400+ [Ford] sensors selected from all 58 [Ford] systems.

There is very limited information available in the public domain for non-standard PIDs. The primary source of information on non-standard PIDs across different manufacturers is maintained by the US-based Equipment and Tool Institute and only available to members. The price of ETI membership for access to scan codes starts from US $7500[2]

However, even ETI membership will not provide full documentation for non-standard PIDs. ETI state[2]

Some OEMs refuse to use ETI as a one-stop source of scan tool information. They prefer to do business with each tool company separately. These companies also require that you enter into a contract with them. The charges vary but here is a snapshot of today’s per year charges as we know them:

GM $50,000

Honda $5,000

Suzuki $1,000

BMW $7,000 plus $1,000 per update. Updates occur every quarter. (This is more now, but do not have exact number)

Gm Extended Pid List Download Full

CAN Bus format

The PID query and response occurs on the vehicle’s CAN Bus. Physical addressing uses particular CAN IDs for specific modules (e.g., 720 for the instrument cluster in Fords). Functional addressing uses the CAN ID 7DFh, to which any module listening may respond.

Query

Ford Pid List

The functional PID query is sent to the vehicle on the CAN bus at ID 7DFh, using 8 data bytes. The bytes are:

Byte -gt;_ 0 __ 1 __ 2 __ 3 __ 4 __ 5 __ 6 __ 7 _
SAE StandardNumber ofadditional

data bytes:

2

Mode01 = show current data;

02 = freeze frame;

etc.

PID code(e.g.: 05 = Engine coolant temperature)not used(may be 55h)
Vehicle specificNumber ofadditional

data bytes:

3

Custom mode: (e.g.: 22 = enhanced data)PID code(e.g.: 4980h)not used(may be 00h or 55h)
Extended

Response

The vehicle responds to the PID query on the CAN bus with message IDs that depend on which module responded. Typically the engine or main ECU responds at ID 7E8h. Other modules, like the hybrid controller or battery controller in a Prius, respond at 07E9h, 07EAh, 07EBh, etc. These are 8h higher than the physical address the module responds to. Even though the number of bytes in the returned value is variable, the message uses 8 data bytes regardless. The bytes are:

Obd2 Pid List

Byte -gt;_ 0 __ 1 __ 2 __ 3 __ 4 __ 5 __ 6 __ 7 _
SAE Standard7E8h,

7E9h,

7EAh,

etc.

Number ofadditional

data bytes:

3 to 6

Custom modeSame as query, except that 40h is added to the mode value. So:

41h = show current data;

42h = freeze frame;

etc.

PID code(e.g.: 05 = Engine coolant temperature)value of the specified parameter, byte 0value, byte 1 (optional)value, byte 2 (optional)value, byte 3 (optional)not used(may be 00h or 55h)
Vehicle specific7E8h, or 8h + physical ID of module.Number ofadditional

data bytes:

4to 7

Custom mode: same as query, except that 40h is added to the mode value.(e.g.: 62h = response to mode 22h request)PID code(e.g.: 4980h)value of the specified parameter, byte 0value, byte 1 (optional)value, byte 2 (optional)value, byte 3 (optional)
Vehicle specific7E8h, or 8h + physical ID of module.Number ofadditional

data bytes:

3

7Fh this a general response usually indicating the module doesn’t recognize the request.Custom mode: (e.g.: 22h = enhanced diagnostic data by PID, 21h = enhanced data by offset)31hnot used(may be 00h)