I have a project to replace my car's instrument panel with a Android tablet. So I'm developing an application that communicates with an ELM327 device through bluetooth. I have managed to successfully get things like engine RPM, speed and temperature through OBD II, what I can't figure out is how to get some specific information that are shown in my original instrument panel (like the handbrake light and reverse light).

Is it possible to get this kind of information using OBD II? If yes, I assume the OBD commands are vendor specific so, anyone have an idea of where to find these codes?

My car is a GM Vectra 2007 2.0 8V. Thanks.

4 Answers 4


Start off with a copy of the service manual for your car. The electrical schematics will help you understand where the various annunciators come from. Earlier cars typically have less data available via ODB II (whose original intent was to provide a way to monitor pollution controls).

If you add something like a Raspberry Pi to your project you can use the GPIO pins to read signals like the parking brake switch.

To get at more of the information that is available through the diagnostic port you may need to learn about the CAN protocol and how to read the other controllers on the bus.

  • Looking at the instrument panel connector at the electric scheme, it has much more pins than a OBD2 connector. Also, the readings from speed, rpm and the handbrake light comes directly as a wire. I decided to still get the info I can through OBD2 and these additional info (like the handbrake light) I'm going to need an Arduino or something to interface that. The odd thing is that I saw once someone test the instrument panel lights (turning it on or off manually) through a OBD2 scanner. So maybe it's possible to set the info but not read it?
    – rafaame
    Commented Jul 28, 2016 at 11:16
  • @rafaame If you have an enhanced obd2 scanner you can connect to computers other than the pcm.
    – Ben
    Commented Aug 1, 2016 at 20:27
  • I also think that being able to read all the information from a single pair of cables is precisely what the CAN buses were built for. Whether this information is easily available is a different story. Car makers are very reserved about releasing information unless they are forced to. Commented Sep 19, 2019 at 8:58
  • He's not asking about reading voltages with a RasPi digital IO, he's asking about OBD2 CAN messages. Also, as RasPi isn't gonna like 12v on a TTL or CMOS line.
    – Larry_C
    Commented Oct 30, 2023 at 17:58

You will not be able to read everything using OBD. Sometimes you can be lucky and the proprietary protocol your car uses can provide you with the right info, however this wouldn't be reliable as it will be considered a diagnostic session by the car's computers (and you may not be able to talk to two computers at once).

Instead I suggest you reverse-engineer the protocol used by the instrument cluster to obtain that data, and have your device just pretend to be the instrument cluster.


This information would only be available if the switch was being monitored by a Body Controller Module which then sent it to your instrument via a communication bus. It sounds like this is not the case on your car and that a single wire from the switch supplies power straight to the lamp. You will need to find another way to convert the signal from the switch to something that can be read by your tablet. A GPIO on a microcontroller such as the Pi mentioned earlier would be the way to go then. The microcontroller would then have to connect to the On Board Diagnosis bus and send some data.

  • GPIO is not gonna connect to a CAN bus that sends data a 1Mhz. And CAN is differentially driven
    – Larry_C
    Commented Oct 30, 2023 at 18:04

Yes, you just need to know the message (PID) that has the info in it. This is commonly done for Aftermarket stereo installs that need parking brake and reverse to the head unit. You can purchase these units that provide those particular signals. Or you can read them from the CAN bus directly.


Hope this helps.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .