Skip to content
tigattack edited this page Sep 24, 2024 · 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.

An example use case would be pressing one of your car's factory steering wheel mounted stereo remote buttons and your Android tablet based carputer changes the current song.

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

Disclaimer

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

How Does it Work?

  • You connect a bluetooth ELM327 based OBD2 adapter to your vehicle. This could be on 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 manner.

  • When something happens with one of the vehicle's components that is connected to the bus you are monitoring, the component will broadcast one or more unique messages 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": You need to know where to hook up the bluetooth adapter, which commands to configure it with, and what the bus messages you care about are. This usually requires a bunch of Googling or experimenting. The information is different for nearly every year/make/model and is often not published by the manufacturer. This Wiki includes a Configuration Samples page for people to share settings that worked with their car - please add to it if you can!

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 the 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. Within a few seconds the notification should say "Connected to (your adapter)".

  5. Configure the remainder of the settings for your scenario and then restart the app once more to apply your changes. See the Settings page for details.

notification

notification expanded

Clone this wiki locally