Supported BMW OBDII PIDs

An ELM327 to serial interface for the carputer was constructed last time but it was never used. Now with the inception of a new project, it is taken back to life for a new purpose. It will be reading the car info and printing it out on a display.

the original interface

The MAX232 IC was removed and connected directly to the Teensy 2.0 board. LCD driver is taken off my old project and all serial data is printed on the screen. Before deciding what to display we need to know what data is available on the port

reference for OBDII PIDs can be found here :

Method is reading the PIDs that lists what are the supported PIDs, namely 00, 20, 40, 60 etc

the new hardware

PIDs capture

01 00

01 20

01 40

01 60

Logically, the first PID (01 00) would indicate if the next set of PIDs is supported in the last bit. And once the last bit is zero, later set of PIDs would no longer be supported as shown above.

The code decyphered

This is what the final interface would look like

Before the LCD was used, the data was displayed on 7-segment but later deem to be too limited.

Here’s a video of it in action
Digital tachometer using ELM327 and Teensy 2.0

2 thoughts on “Supported BMW OBDII PIDs

  1. Looks nice and like you have researched quite a bit!

    I’m playing with this as a project, but having a tough time with the sketch. Do you have your sketch code published anywhere? or can I get a look at it…. Save me a bunch of time…


  2. hey john nice work how many hours did it take to solve this problem also i nocetid you dont back probe the connectors how do you potect the wires after your done thanks for your time keep up the good work

Leave a Reply

Your email address will not be published. Required fields are marked *