OBDuino is a device that connects to the OBD-II plug of your CAN enabled car, and displays various information about it like RPM of the engine, speed, etc as well as detailled fuel consumption.
Features
- 3 trips
- Current trip which reset each time the engine is started
- A user resettable general trip
- A user resettable trip related to the tank
- Each trip contains
- Average fuel consumption
- Quantity of fuel used
- Quantity of fuel wasted at idle (when speed is 0)
- Distance travelled
- Remaining distance, calculated using the tank average and the tank size (tank trip only)
- Display screen
- Displays 4 pieces of information at a time
- 3 virtual displays so it can show up to 12 different pieces of data
- Each display screen is fully customizable
- BIG display of instant consumption and current trip average consumption
- Supports the use of the metric system or the US imperial system
- Diagnostic Trouble Codes
- Displays DTCs that turn on your CEL (Check Engine Light)
- Detects pending DTC that were detected during last driving cycles
- Provides the ability to clear these codes
- CAN bus
- Detects the CAN speed and identification of your car the first time it is plugged in
- Keep it in memory to have a faster start next time you turn the key back on
- Others features
- When the engine is turned off, OBDuino shuts itself down after a few seconds and goes into sleep mode
- VIN lock: device can be paired to the car, meaning if it's stolen it will not work on another car
- Values of the various queried data are outputed from the device and can be recorded with a port adapter on a laptop or directly on a SD card using a small daughterboard
ISO support
I released the ISO version of the OBDuino under GPL, it's hosted on the Google Code service site here: OBDuino.
CAN bus support
The version that support CAN bus for newer cars is only released as a full commercial product for the moment. A light version is released only as a firmware that you can use to test on an Arduino for instance, see the hardware page.
So far it has been tested on:
OK: 2007+ Hyundai Elantra, 2009 Hyundai Sonata (I4), 2008 Saturn Vue (I4), 2006+ Chevrolet Cobalt/Pontiac G5, 2006 Honda Civic, 2008 Dodge Caravan, 2009 Dodge Grand Caravan, 2008 Dodge Avenger SXT, 2010 BMW 335, 2010 Honda Pilot, 2009 Porsche 911, 2010 Ford Flex, 2010 Ford Fusion (V6 3.5L)
Not OK, no communication at all: Jeep Patriot 2008, Honda Odyssey 2007
It is sometimes hard to know if your car supports CAN bus protocol or not, surfing the web I found information on:
2003+ Ford, Mazda, GM
2004+ Chrysler, Lexus, Toyota, Volvo
2005+ Audi, Mercedes
2006+ Honda, Saab, Mitsubishi, Volkswagen
2007+ BMW, Subaru, Hyundai
It may or not work if your car is 2007- but all 2008+ cars sold in North America shall support it.
For European market cars (Renault, Peugeot, Citroën, Fiat, Seat, Skoda, Alfa Romeo, Lancia, etc.) I have no information :-/
Some Screenshots
NEW VIDEOS! Go on the OBDuino YouTube channel to see some videos of the device running on cars.
Here is various screenshots of almost everything you can see on the screen.
| Metric |
Imperial |
Instant cons: At idle so it displays per hour, when a certain speed
is reached, display change to L/100
 |
 |
Average cons: The car has not moved yet so it displays the maximum,
if it's less than 10.0 it will display 2 decimals e.g. 6.57
 |
If it's greater than 99.9 it will remove the decimal e.g. 123
 |
Screen 1:
 |
 |
Screen 2: When you change screen, the two lefts PIDs and description
are showned for a second, followed by the 2 rigths ones.

 |
 |
Screen 3:
 |
 |
| Display configuration |
Select yes or no to enter the config
 |
 |
 |
 |
| Screen configuration |
 |
From screen 1 corner 1
 |
Display toggles every second between the description and
the live value
 |
To screen 3 corner 4
 |
 |
Others Screenshots
These are some screens I used at a time.
At startup
When the ignition key is turned to the ON position, device starts up and displays:

First screen shows clockwise from top left:
- Instant fuel consumption, as the vehicle is stopped, the display is in litre per hour, and as the engine is not started it displays 0 litre per hour.
- Average fuel consumption for the current tank.
- Outside ambient temperature.
- Average fuel consumption since the engine started, currently 0 as the engine is stopped. This is the "outing trip".

Second screen shows clockwise from top left:
- Time since engine started.
- Engine coolant temperature.
- Distance of the general trip.
- Average fuel consumption of the general trip.

Third screen shows clockwise from top left:
- Average fuel consumption of the tank.
- Calculated autonomy: distance you can do with the remaining fuel.
- Fuel wasted at idle.
- Fuel used in the tank.
While driving
Here is some screenshots of the device while driving:

First screen shows clockwise from top left:
- Instant fuel consumption, as the speed is greater than a certain number, the display is in L/100.
- Average fuel consumption for the current tank.
- Outside ambient temperature.
- Average fuel consumption since the engine started; it always starts high and your goal is to have the smallest number there :o)

First screen shows clockwise from top left:
- Instant fuel consumption, as the speed is lower than a certain number, the display switches to L/h.
- Average fuel consumption for the current tank.
- Outside ambient temperature.
- Average fuel consumption since the engine started; see the average got lower since I drove a few kilometres.

First screen shows clockwise from top left:
- Instant fuel consumption.
- Average fuel consumption for the current tank.
- Outside ambient temperature.
- Average fuel consumption since the engine started; see the average got even lower since I drove a few kilometres.
Before shutdown
Here is the three different screen before shutdown, compare with the three firsts above.

First screen

Second screen

Third screen
OBDuino is a registered enterprise in Québec, Canada.