I have developed an open-source OBD-II data logger, which displays (on a 128×64 OLED display module) and records (to a SD card) the OBD-II data (engine RPM, speed etc.). The device is based on Arduino, a SD reader breakout board, and a monochrome OLED display module.
By pulling out the SD and inserting it into computer's SD card reader, the data can be illustrated into a chart like this:
Objectives:
- Displaying realtime engine RPM and vehicle speed on OLED screen
- Recording realtime OBD-II data to SD card in text-based CSV file format
- Illustrating the recorded data in as chart with two data lines
Recorded data includes:
- Engine RPM
- Speed
- Throttle position
- Engine load
- Engine coolant temperature
- Intake pressure
- Intake temperature
The recorded data is stored in a SD card in the format of CSV. Each line represents a record with time, data type and data value like this:
[Time Elapsed],[Data Type],[Data Value]
Time Elapsed is the time elapsed in milliseconds since previous data record. Data type is the OBD-II pid number which is defined in the OBD-II library (e.g. 0xC is engine RPM). Here is an example data clip:
169,D,0
171,11,12
170,43,21
165,B,30
175,C,705
169,D,0
170,11,12
171,43,21
170,C,702
169,D,0
For more details and source code, please visit my website.
Last edited by stanleyhuang; 02-18-2013 at 08:48 AM.
Bookmarks