This Arduino based DIY kit is ideal for used as a custom vehicle telematics device with OBD-II/GPS/G-force data data logging, live data display and WIFI connectivity. The whole setup is powered by OBD-II port. Our actively maintained Arduino sketches and libraries for this kit make it easy-to-go and ready-to-hack. The kit consists of following parts:
- Arduino MEGA compatible board or variants
- Telematics Shield (3.5″ TFT LCD touch display, microSD seat and I/O sockets)
- Freematics OBD-II Adapter for Arduino V2.1
- GPS Receiver for Arduino (optional)
Arduino Board
The kit comes with Arduino MEGA compatible board. Optionally, several variants are available with extra features.
- Wemos Mega – Arduino MEGA 2560 + WiFi (ESP8266 w/ 4MB flash)
- Bluno Mega 2560 – Arduino MEGA 2560 + Bluetooth Low Energy (CC2540)
BLE USB Dongle
With a dedicated BLE USB dongle, you can perform wireless serial communication easily with the Bluno Mega board from a computer. More interestingly, you can upload sketch to the Bluno board via BLE without a USB cable.
Telematics Shield
Together with DFRobot, We developed a Arduino Mega shield dedicated for telematics applications. The shield features a 3.5″ 480×320 color TFT LCD, a microSD card seat, and 4 I/O sockets for connecting OBD-II adapter, GPS receiver and additional devices. More technical information about shield is available here.
Telematics Shield with 3.5″ LCD (R61581 controller)
OBD-II Adapter
The kit comes with Freematics OBD-II UART Adapter V2.1, providing Arduino with access to vehicle ECU through OBD-II port, as well as 9-DOF motion sensor data.
Wiring
OBD-II adapter and GPS receiver are both connected to the Telematics Shield via 2 of 4 I/O sockets. The 4-pin connector of the OBD-II adapter (marked Serial1) plugs into Serial1 socket of the telematics shield. The 4-pin connector (marked Serial2) of GPS receiver plugs into Serial2 socket.
OBD-II UART Adapter line definition:
- Red: VCC
- Black: GND
- White: Tx (to Arduino’s Rx1)
- Black: Rx (to Arduino’s Tx1)
GPS connector line definition:
- Red: VCC
- Black (thick): GND
- White: Tx (to Arduino’s Rx2)
- Black: Rx (to Arduino’s Tx2)
Arduino Libraries
Following libraries are provided for using the kit.
- Arduino OBD-II Library – for accessing vehicle data
- MultiLCD Library – TFT LCD display library
- TinyGPS Library – for interpreting data from GPS receiver
- SD Library – for storing and accessing data on microSD
Arduino Sketch
MegaLoggerHD is an Arduino sketch developed for the kit working as a OBD-II, GPS and 6-axis MEMS data logger with live display. Please make sure to import all libraries in the repository before compiling the sketch. Refer to Developers Guide for some instructions.
MegaLoggerHD sketch running on the wired kit
What does this kit do out-of-box?
- Obtain, display and record OBD-II data
- Obtain, display and record GPS data
- Obtain, display and record MEMS sensor (accelerometer, gyroscope, temperature sensor) data
- Transmit collected data to computer via USB
- Transmit collected data to mobile device wirelessly via BLE (Bluetooth Low Energy)
How to view logged data?
When loading with MegaLogger sketch, all vehicle data is logged on microSD in this format. As it is a text based format, it is easy to manipulate the data with some data processing software.
The easiest way to view the logged data is using Freematics Data Charting Service (might be under maintenance currently), an online service which renders data log file into interactive chart and map in your web browser.
If you prefer to do everything offline, Data2KML is provided as an open-source utility for converting data log file to KML format which can be loaded by Google Earth.
Gallery
Shipping List
- Freematics OBD-II UART Adapter V2 *1
- Arduino MEGA compatible board or variant board *1
- Telematics Shield *1
- GPS Receiver *1 (optional)
- MicroUSB Cable *1 (optional)
- Other optional accessories
Links
- Developers Guide
- Arduino libraries
- Arduino sketch
- Sketch+libraries release packages
- Freematics Packed Data Format
- Data2KML – Open-source utility for converting Freematics CSV file to KML file (Google Earth)