No more tach! Use OBDII to get Engine and Vehicle Speed...

Siemens Phenom Siemens Phenom
Siemens Phenom

Who wants to spend time setting up a tachometer? You have to mount it on a greasy engine, run cables, etc.


Instead of doing all that, just measure engine rpm or vehicle speed directly thru the OBDII connector of the vehicle! One single connection to the underdash OBD2 connector is all it takes!


It can even be done without a vehicle specific CAN bus DBC file.  Due to emissions regulations, certain signals like engine and vehicle speed are legislated to be present on all newer vehicles, and can be read over the vehicle bus directly.


It is easy with Simcenter Testlab Signature 15A and higher, and a Simcenter SCADAS with CAN Bus interface.  Note that  Simcenter Testlab was formerly called LMS Test.Lab.


Here are the steps:


1.  Connect to the SCADAS (9 pin) to the OBDII connection on your car, usually located under the dash:


obdii.jpgOBDII port is located under dashPicture1.jpgA 9-pin to OBDII cable connects Scadas to vehicle

2.  In Simcenter Testlab Signature, make sure "Vehicle Bus" add-in is ON under "Tools -> Add-ins".  


addin.pngTurn on "Vehicle Bus" under Add-ins menu of Testlab

The add-in requires 22 tokens.


3.  In "Channel Setup" worksheet, select "CAN Settings" from the pulldown menu in the upper right.


Can Settings.pngChoose "CAN Settings" from the pulldown menu in the upper right of the LMS Test.Lab Signature Channel Setup menu.

4.  Set Baud Rate to 500000, select the "Can Device" for the SCADAS frontend, set "Can ACK" to "Active".


baudrate_active.pngSet Baudrate to 500,000, select the CAN card of the frontend, and CAN Acknowledge to Active

Because the legislated OBDII PID signals are not broadcast by default, it is necessary to request them.  This is why CAN Acknowledge is set to "Active".


5.  In "DB Path", select the generic OBDII files provided from the directory: C:\Program Files (x86)\LMS Test.Lab {rev}\central\Application Resources\CAN or  C:\Program Files (x86)\Simcenter\Testlab {rev}\central\Application Resources\CAN.  There are two different files - one with longer descriptive names, one with very short names.  Both files contain the same signals, which include Engine and Vehicle speed.


obdii_can_tl.pngSelect generic OBDII file from DB Path

6.  After selecting the DBC file, click the checkbox "View in CANbus Overview" in the Message Overview section.


message_overview.pngNext to OBD PIDs, click the 'View in CAN Overview' checkbox to display the available messages.

This will display all the available messages.


7.  In the CAN Overview, select the Engine_RPM and Vehicle_Speed channels (using the checkbox).


engine_rpm.pngIn "CAN Overview", select the Engine_RPM and Vehicle_Speed via the checkbox

8.  In the CAN Overview, also set the 'update rate' to "20 Hz" (the fastest request rate for OBDII) and the Interpolation to "Linear".  Interpolation smooths out the rpm, otherwise it will have "stair steps" due to the digital nature of the OBD II bus.  



Picture2.pngGraph of OBDII RPM vs Time Data: Interpolation "Linear" in Green (smooth curve), "Sample and Hold" in red (as from OBDII)

It may be necessary to use the slider bar at the bottom of the CAN bus setup menu and scroll to the right to find the 'Update Rate' field.  It is the last column.


9.  Press the "Apply" button, and acknowledge the OBDII message. Go to the "Measure" worksheet to take data.


Apply.pngPress "Apply" button after making OBD2 selections

How does it compare? 


Can the OBDII really replace a tachometer and get accurate results?




Here is a comparison of a physical tachometer installed on an engine with a 1 pulse per revolution signal (Red curve) with the engine rpm acquired via the OBDII with 20 updates a second and linear interpolation (Green curve).


Questions?  Email or download the Simcenter SCADAS Brochure.


More Simcenter Testlab Acquisition Tips:

Simcenter Testlab Displays


Is it possible to use engine RPM from CAN to process order analysis?

Siemens Phenom Siemens Phenom
Siemens Phenom

Hello Dreamer, yes any of the CANBus or OBD-II channels can be used to track against for Order Analysis including engine RPM and Vehicle speed.  The channels are placed in the static group and rather than tracking on time or tacho, select to track on static channels and then you can track on any channel in the static group.  You can then calculate fixed sampled orders, overall level, etc. and place the waterfalls and colormap displays to track on engine RPM or vehicle speed.


Since there is no raw tacho, or crossing of the tacho moments, they cannot be used for Order Tracking or Angle Domain processing by default but fixed sampling methods work fine.


Hello @Kevin_Grenier!


There is some way to change "Interpolation" method from "Sample and Hold" to "Linear" on data already acquired?


I am doing some comparisons using Order Analysis between Engine Tacho from physical sensor and  OBD2 and I got some differences to some vehicles.

I would like to compare old data (physical Tacho) with new data (CAN Tacho) with no variaton from kind of Tacho that I am considering to this Order Analysis.


Do you have some Order Analysis study comparing this 2 methos?

Siemens Phenom Siemens Phenom
Siemens Phenom





Thanks for your explanation @Kevin_Grenier.

Based on this graph below, can I assume that Engine RPM CAN data was captured using "Sample and Hold" Interpolation method?

There is some channel property that i can access to see Interpolation Method? Unfortunately I dont have the original project that can give me this info.image.png

Siemens Phenom Siemens Phenom
Siemens Phenom

yes, that data looks like interpolation mode was set to sample and hold rather than linear.  If you have the original run with the Archived Settings item, you could right click on that and View or Load the Archived settings to look for the interpolation method that was used.