My home-brew Arduino OBD-II connection kit
After many attempts to connect an Arduino with my car through the OBD-II port and having some success, I’ve finally made a kit which enables those who want to playing with Arduino and their cars to jump start quicky.
My Arduino OBD-II Connection 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.
I also developed an Arduino library for the adapter as an open-source project. It provides Arduino developers an easy-to-use APIs to connect to and retrieve realtime data from a vehicle. The data includes:
- Vehicle ID number
- 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
- Boost value (estimated)
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.