For many years and till this day, I am the author of MediaCoder. While developing and maintaining my video transcoding software, I am also an open-source hardware enthusiast, and at the same time very interested in vehicle telematics, which is basically about measuring my car’s performance and recording my driving history. That’s why I started this project two years ago which is now named – Project Freematics.

The name of Freematics stands for Free (as in freedom) and Telematics. The goal of this project is to make it possible, accessible, and affordable for people, especially makers, to carry out vehicle telematics projects with open-source hardware, more specifically Arduino, the most popular single-board microcontroller platform designed to make the process of using electronics in multidisciplinary projects more accessible.

Telematics, more specifically vehicle telematics, refers to the use of telecommunications and informatics systems within road vehicles. Practical applications of vehicle telematics include:


  • Vehicle data logging and analysis
  • Vehicle tracking
  • Mobile data transmission
  • Wireless vehicle safety communications
  • Intelligent vehicle technologies
  • Car clubs
  • Auto insurance


The core of most vehicle telematics projects is the data, including vehicle ECU data, GPS data and some sensor (e.g. accelerometer) data . A motor vehicle works as a closed systems for many reasons. The OBD-II port, equipped in most modern cars as a compulsory standard, opens up a gate to the inside of a car. OBD-II is no longer only used by professionals and hobbyists to repair vehicles. The information it provides is commonly used by vehicle telematics devices that perform fleet tracking, monitor fuel efficiency, prevent unsafe driving, as well as for remote diagnostics and by Pay-As-You-Drive insurance. Although originally not intended for the above purposes, commonly supported OBD-II data such as Vehicle Speed, RPM, and Fuel Level allow fleet tracking devices to monitor vehicle idling times, speeding, and over-revving.

Evolved from hobby projects, OBD-II UART Adapter was our first approach. With developed Arduino library, it works as a data bridge between car’s ECU computer and Arduino as well as the power supply for Arduino and stacked shields or attached modules. With the access to car data, some interesting applications can be carried out easily with Arduino and its rich resources. Later we also put accelerometer, gyro and temperature sensors into the adapter and make both OBD-II data and sensor data accessible via I2C.

OBD-II to TTL Adapter Plugged OBD-II Adapter Arduino MEGA2560, I/O shield, TFT LCD shield and OBD-II adapter IMG_7055

We also designed several kits based on various types of Arduino boards, OBD-II adapter, GPS receiver and some dedicated parts (e.g. a specially designed Arduino shield). The kit, with open-source Arduino sketch available, is a jump-start for putting up a programmable device/controller in vehicle or a vehicle data logger.

Stacked by TFT LCD shield Data Logger Kit running MEGA Logger Stacked by TFT LCD shield Data Logger Kit running MEGA Logger

While the project is involving, we think it might be a good idea to integrate an Arduino into the adapter, together with some sensors, so that the adapter can work standalone as a smart device. With mass storage, it can easily work as a vehicle data logger. With a wireless communication module, it is able to stream out live or history data to mobile devices. Finally these thoughts formed up Freematics OBD-II Adapter.




For Arduino hardware, a dedicated Arduino library is a necessity. We have developed easy-to-use Arduino library for OBD-II UART Adapter. In addition, we developed ready-to-go sketch (source code) for all the Arduino kits we provide.  Based on these sketches, users can involve their own ones.

Another important part of software development is smartphone (iOS and Android) Apps . We are trying to develop some interesting Apps by using the BLE wireless. Freematics OBD is our first approach of making a iOS App that receives data from our telematics hardware.

Freematics_App_1 Freematics_App_3 Freematics_App_2

In the future, we are also planning to develop and provide easy-to-use SDK to help makers to have their own telematics Apps working with open-source hardware.


Project Timeline

Feb 2012 – DIYed OBD-II/GPS virtual automotive dashboard with Arduino

OBD-II to TTL Adapter
Mar 2012 – OBD-II UART Adapter for Arduino started to deliver

Arduino GPS and OBD-II data logger
May 2012 – DIYed OBD-II/GPS data logger with MTK3329 and Arduino MEGA

Jun 2012 – OBD-II adapter started to have built-in accelerometer and gyro

Feb 2013 – OBD-II data logger kit (based on Arduino Nano) started to deliver

All parts in kit #3
May 2013 – OBD-II/GPS data logger kit (based on Arduino MEGA) started to deliver

Arduino communicating with iPad
Jun 2013 – Communication through between Arduino and iPhone via BLE (ready for an App)

Data Logger Shield
Jul 2013 – Designed a dedicated data logger shield for Arduino

Aug 2013 – First prototype of Freematics OBD-II Adapter

Sept 2013 – Exhibited Project Freematics at the World Maker Faire in NYC

Oct 2013 – OBD-II Emulator started to deliver

Nov 2013 – Exhibited Project Freematics at the Sydney Mini Maker Faire

Feb 2014 – Kickstarter campaign