In the Wikipedia PID list we can see that 0x0C for engine RPM, 0x0D vehicle speed, etc. Is this same for all car manufacturers?

In Arduino examples we can see that data[2] reserves the PID (for engine RPM 0x0C) and by converting hex to decimal data[3] and data[4] of the message and by the formula


we can get the value of RPM.

But when I try to apply this to a Citroën car, I can see 0x0C, but the data in the message does not change although the real RPM value changes. It means that this does not show RPM on that car.

I am using PCan-View for reading the CAN bus. Does this affect the result? So can we say there are not general PID values?

Thank you very much for your answers. Some parts of the data, which includes 0C, can be seen in below.

86)        91.6  Rx         **0208**  8  18 **0C** 31 00 4C FF FF 27
99)       101.6  Rx         0208  8  18 **0C** 31 00 4C FF FF 27
107)      105.3  Rx         **040D**  8  00 00 00 00 00 00 00 **0C**
114)      114.5  Rx         **034D**  8  00 23 FA FA 00 **0C** 00 FF
735)      745.1  Rx         040D  8  00 00 00 00 00 00 00 **0C**

These codes repeat many times during the data gathering. But row data is always the same, even when the car engine is running. If we consider address 034D has 0C in data[2], we have to calculate RPM with FA and 00 decimal values. But they never change.

I am not sure that we are following the right path.

  • google Citroen PID list
    – jsotola
    Feb 20, 2018 at 7:41

2 Answers 2


Yes - they are standard, ie. engine RPM is always 0x0C. However not all PIDs are available in all cars.

What is the raw value of your RPM PID?


No, all pid’s are not created equal - there is a base standard that is the same for all manfacturers, But they are allowed to add their own as they wish.

This means that Citroen may decide to split or combine some functions / readings as they consider fit and ignore or not use a “standard” one.

There are several posts already around this topic which you may find on here or on Motor Vehicle Maintenance...

You must log in to answer this question.