How JustAnswer Works:
  • Ask an Expert
    Experts are full of valuable knowledge and are ready to help with any question. Credentials confirmed by a Fortune 500 verification firm.
  • Get a Professional Answer
    Via email, text message, or notification as you wait on our site.
    Ask follow up questions if you need to.
  • 100% Satisfaction Guarantee
    Rate the answer you receive.
Ask Greg Your Own Question
Greg, Technician
Category: Car
Satisfied Customers: 7090
Experience:  17 years Shop Owner /Technician. 27 years experience,
Type Your Car Question Here...
Greg is online now
A new question is answered every 9 seconds

What might the codes PID00 PID01 PID02 (etc.) mean? Steve

Customer Question

What might the codes
PID02 (etc.)
Steve in Houston
Submitted: 5 years ago.
Category: Car
Expert:  Greg replied 5 years ago.

Name is Greg and i will assist you the best i can, please Only accept if you are happy with my answer.

Mode 1 and Mode 2 parameter IDs (PIDs)

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)

On Board Test Bit=1 if Supported Bit=1 if incomplete
Misfire B0 B4
Fuel system B1 B5
Components B2 B6
Reserved B3 B7

Non-Continuous Monitoring tests (Supported/complete status)

On Board Test Bit=1 if supported Bit=1 if incomplete
Catalyst C0 D0
Heated Catalyst C1 D1
Evaporative system C2 D2
Secondary Air System C3 D3
A/C Refrigerant C4 D4
Oxygen Sensor C5 D5
Oxygen Sensor Heater C6 D6
EGR SystemC7 D7

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 1
BIT 1 - Bank 1- Sensor 2
BIT 2 - Bank 1- Sensor 3
BIT 3 - Bank 1- Sensor 4
BIT 4 - Bank 2- Sensor 1
BIT 5 - Bank 2- Sensor 2
BIT 6 - Bank 2- Sensor 3
BIT 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 * A
Short 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 II
04 - OBD 1
05 - 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 1
BIT 1 - Bank 1- Sensor 2
BIT 2 - Bank 2- Sensor 1
BIT 3 - Bank 2- Sensor 2
BIT 4 - Bank 3- Sensor 1
BIT 5 - Bank 3- Sensor 2
BIT 6 - Bank 4- Sensor 1
BIT 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

Customer: replied 5 years ago.
Hey, Greg,

I tried to answer sooner, but the reply page kept going blank for no reason that I understand.
I'm sorry to say that you answer was beyond me technically. I did try to get a handle on it, checking a list of codes, but after ten minutes, I gave up and took the car to a shop for repair, so I ended up paying for a diagnosis that ... the gas tank cap was loose. Do I owe you the $29?
Expert:  Greg replied 5 years ago.
Hi Steve .

I thought this was for your information on a school project or schooling

If you had come with the P0442 then i could of helped you in that direction .

Don't know how you managed to come with these codes, if you was just checking the
MIL codes (OBD II) you would have come up with a P0000,B0000 or C0000. depending on which part of the system had malfunctioned .

This is completely up to you if you think in should get paid for my time or not.

If you don't want to pay then this is completely ok with me and there would be no hard feelings what so ever ,

Your deposit is still yours and can be used at a future date for what ever other question you may have in one of our many category .
Or you may have a full refund .

Kindest regards Greg
Customer: replied 5 years ago.
Hey, Greg,
A Scanguage II, which I normally use only to observe and maximize mileage, and to monitor engine heat, displayed the codes mentioned.
If there is some way to ask specifically for you when I next have a question, I would like to reserve the money for that, as your response got me nowhere. If there is no way to specify you as a respondent, then I ask for a refund.
Expert:  Greg replied 5 years ago.
Hi Steve ,

Yes all you have to do is get the name Greg or Indy Tech .

But if you want to save for another day just put in the Question for one of us here at Justanswer .

Kindest regards Greg