4

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

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 Jul 28 '16 at 11:16
  • @rafaame If you have an enhanced obd2 scanner you can connect to computers other than the pcm. – Ben Aug 1 '16 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. – Raúl Salinas-Monteagudo Sep 19 at 8:58
2

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.

0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.