After many
researches and attempts to connect an Arduino with my car through the OBD-II connector and having some successful works of car dashboard gadget, I’ve finally made a kit which enables those who want to playing with Arduino and their cars to jump start quicky.
I am maintaining an arduino library for OBD-II (with ELM327) as
an open-source project on SourceForge.net. It provides Arduino developers an easy-to-use APIs to connect to and retrieve realtime data from a vehicle, which include:
- Vehicle speed
- Engine RPM
- Throttle position
- Calculated/absolute Engine load
- Engine coolant temperature
- Intake temperature
- Intake pressure
- MAF flow pressure
- Fuel pressure
- Barometric pressure
- Ignition timing advance
- Engine running time
- Vehicle running distance
My kit consists of a modified ELM327-compatible adapter which can be wired with Arduino or other MCU boards. The adapter also provides 5V power supply, which is ignition controlled (put through when engine starts and cut off when engine stops). This can provides power (up to 500mhA current, with reverse protection) for Arduino board, shields or some other attached devices, so a wire getting power from somewhere else is not needed. This helps to make the gadget you made looks tidy. The only interface to the car of the adapter is the OBD-II connector.


By having access to these data, the Arduino can compute, store or show the realtime vehicle status in any unique way.
Here is a
fancy dashboard gadget I made for my car (with video).

If you are interested in my Arduino OBD-II connection kit, please
see here for more details.