Programming Guide for Freematics OBD-II Adapter V2 (Arduino compatible)

Freematics OBD-II Adapter V2 is a programmable device with OBD-II and GPS accessibility. Inside it is an ATMega328P (compatible with Arduino UNO) and a bunch of peripherals including accelerometer, gyro, temperature sensor, microSD socket and Bluetooth (BLE or BT 2.1) module. The adapter can optionally lead out a cable for SPI and I2C communication, or analog sensor input/output.

DSC0346-600 DSC03506-600

Continue reading

Freematics OBD-II Adapter V2 sample completed

After our first Kickstarter campaign was over, we have been keeping up pushing the project Freematics forward, though the goal of the campaign wasn’t reached. The sample of Freematics OBD-II Adapter V2 is now under testing. The V2 has several changes and improvements. The most important one is the GPS support. One serial UART of STM32 was led out to 4 pins for connecting GPS module. The STM32 processor will process the NMEA data input from the connected GPS module and parse it. We have extended ELM327 AT command-set to provide access to the parsed data. The added commands are:

  • ATBR1 <baudrate> – setting serial baudrate for AT command line interface (default 38400bps)
  • ATBR2 <baudrate> – setting GPS serial baudrate (first setting turns on GPS parsing)
  • ATGPS – retrieving parsed GPS data
  • ATGRR – retrieving raw data (NMEA) from GPS module (once a complete line)

The second change is that the main controller has been replaced by ATMega328P. This change was made in consideration of several factors. ATMega644PA is large in size and has too much more hardware resources than is normally needed in most applications. ATMega328P has much smaller footprint so we can have more space on the board for other stuff. It also has lower power consumption. Switching to ATMega328P brings an additional advantage of the compatibility with standard Arduino UNO, so no Arduino IDE addon package is needed any more.


The PCB layout of Freematics OBD-II Adapter V2

Continue reading

New TFT LCD shield for Arduino with microSD and I/O sockets

Here comes a brand new TFT LCD shield for Arduino. It features:

  • 2.2″ TFT LCD screen of 320×240@16bpp driven by SPI
  • I2C socket (SDA, SCL, VCC, GND)
  • UART socket (Rx, Tx, VCC, GND)
  • Analog socket (A2, A3, VCC, GND)
  • MicroSD socket (supporting up to 32GB SDHC)
  • Push button (D8)
  • Reset button
  • Compatible with Arduino UNO R3 and Bluno

The screen is driven by SPI with fast rendering speed. For software, it is supported by MultiLCD library which provides easy API for displaying characters/digits of various size and drawing bitmaps.

This shield can be order in Telematics Hardware Store.

Evaluating Nordic nRF51822

Nordic nRF51822 is a SoC chip integrating ARM Cortex M0 and Bluetooth Low Energy. Its advantage over TI CC2540, which is used in current Freematics OBD-II Adapter and OBD-II data logger kits for BLE communication, is that it has a 32-bit ARM core with more sufficient processing power comparing to CC2540′s 8-bit 8051 core, while the cost is only a little higher. That means, more work which previously requires additional chip can be done in that SoC chip. With bold imagination, there is possibility to port Arduino to this chip so that it can be programmed like Arduino or Maple.

I just got a nRF51822 dev board on hand and will start evaluation shortly.


New feature of Freematics Charting

Just spent some time on Freematics Charting. Besides tweaking up the performance a little bit, a new feature was added. By selecting two points on the driving track in the map window, the data chart on the left will automatically zoom into that range. By double clicking a points on the track, the chart will zoom into that point of time and 10 seconds before and after that point. Now the chart and the track on the map can be kind of synchronized.


Click here to view some sample data on Freematics Charting. Don’t forget you are free to have you own.

Freematics OBD App now in App Store

Finally! Freematics OBD App is available in Apple App Store. Apple requests a review of hardware when App communicates with one through wireless data communication (BLE in our case). So we shipped a sample hardware of our Freematics OBD-II Adapter to No. 1 Infinite Loop and the reviewing process didn’t even take longer than the shipping and we were excited to be able to find the App in App Store.


Freematics OBD App works with Freematics OBD-II Adapter and the OBD-II Data Logger Kit #2 (with BLE). By compiling and uploading the OBD Logger or MEGA Logger sketch to the hardware, the App will display information sending from the hardware.

Currently the App only has very limited functions and is basically for verifying the system design, especially the data communication between iOS and our telematics products based on open-source hardware. But we are really eager to make it really useful and interesting. As is already scheduled, a Kickstarter campaign will be started after new year for raising the funds for pushing forward the App development.

Please stay tuned with this blog or our Facebook Page.

New data logger shield with TFT LCD

IMG_7055The prototype of a new data logger shield with TFT LCD being developed is working on my desk now.  On this shield, XH-2.5 connector sockets for I2C and UART are provided, as well as microSD socket which is important for us to do data logging. The TFT LCD used is interfaced with Arduino via SPI, which makes the display draw faster and consume much fewer pins than common parallel interface. This shield will be part of a new lower cost data logger kit based on DFRobot Bluno, an Arduino UNO with onboard BLE (Bluetooth Low Enery).

Freematics Data Charting Service online for beta testing

Freematics Data Charting Service is set up to provide users of Arduino OBD-II data logger kits an easier way to review logged data. Simply by choosing and uploading a log file (with CSV extension), charts for OBD-II data and a GPS track will be illustrated on the spot in web browser. The service is for beta testing now and is being improved actively.

The rendering of GPS track in web browser requires Google Earth. Please install Google Earth if you don’t have it.


Continue reading