Skip to content
Kristoffer Smith edited this page Aug 22, 2014 · 35 revisions

The Car Bus Interface Project

An android application for interfacing with a vehicle's communication bus via Bluetooth OBD2 dongle (ELM327 compatible). It allows the Android device to respond to specific bus messages, such as those occurring when the user presses physical buttons inside the vehicle.

Purpose

The original use case was for those with an Android based tablet acting as a carputer who wanted to have their steering wheel mounted factory stereo buttons control the Android device (adjust volume, change media tracks, etc). However, the app could be used to have the device respond to any messages that are broadcast on the vehicle's bus - from a window rolling down to having reached engine operating temperature.

This is NOT an OBDII or "code reader" type application. An OBDII dongle is used only to provide a hardware interface to non-diagnostic vehicle buses which typically also use standard OBDII protocols (SAE J1850 PWM, SAE J1850 VPW, ISO 9141-2, ISO 14230-4 KWP, ISO 15765-4 CAN, SAE J1939 CAN).

How Does it Work?

  • You connect a bluetooth ELM327 based OBD2 adapter to your vehicle. This could be using the factory diagnostic port or may require custom wiring depending on the vehicle.

  • When the app launches it sends the startup (configuration) commands you have specified to the bluetooth adapter. The final command must be one that tells the adapter to "listen" to the vehicle's bus in some way.

  • When something happens with one of the vehicle's components that is connected to the bus you are monitoring, the component will broadcast a unique message on the bus. The bluetooth adapter "hears" the messages and relays them to the app.

  • You configure the app to pay attention only to specific messages. When it receives one of those messages then it and responds with whatever action you have defined.

  • The "gotcha" is this: You need to know where to hook up the bluetooth adapter, which commands to configure it with, and what the messages you care about look like. This usually requires a bunch of Googling or experimentation. The information is different for nearly every year/make/model and is often not published by the manufacturers. This Wiki includes a Sample Configurations page for people to share the settings that worked for their car.

Disclaimer

EVERYTHING INCLUDED IN THIS REPOSITORY IS FOR INFORMATION PURPOSES ONLY. I AM NOT RESPONSIBLE FOR ANY DAMAGE TO VEHICLES, DEVICES OR YOURSELF. DO NOT ATTEMPT ANYTHING MENTIONED HERE UNLESS YOU KNOW WHAT YOU ARE DOING!

Getting Started

  1. Verify you have everything listed on the Requirements page.

  2. Turn on bluetooth, find and pair your OBD2 adapter with your Android device.

  3. Install and launch the app.

  4. There will be notification in the Android status bar with a key icon. Tap this notification to go to the app's settings screen. Select your device under the "OBD2 Interface Device" setting and then tap the "Apply Changes & Restart App" option. After a few seconds the notification should say "Connected to (your adapter)".

  5. Configure the app for your scenario. See the Configuration page for details. Be sure to tap the tap the "Apply Changes & Restart App" option after updating settings.

Clone this wiki locally