OBD-II + GPS + G-force data logger based on Arduino MEGA2560

This will be the most comprehensive OBD-II data logger kit and also the biggest in size as it is based on Arduino MEGA2560. Te kit consists of:

With this kit, following data can be displayed and recorded to SD card.

  • OBD-II data (all PIDs available in vehicle)
  • GPS data (5Hz/10Hz update rate)
  • 3-axis accelerometer data
  • 3-axis gyro data
  • temperature sensor data



With the MEGA I/O shield, it is very handy to connect everything. The connector from the OBD-II adapter should be plugged into the I2C socket on the I/O shield. The 4-pin connector from GPS receiver should be plugged into I/O shield’s UART2 socket.


OBD-II adapter line definition:

  • Red: VCC (5V)
  • Black: GND
  • Blue: SDA (or D20)
  • Yellow: SCL (or D21)

GPS line definition:

  • Red: VCC
  • Black: GND
  • Green: Tx (to Arduino Serial2 Rx or D17)
  • White: Rx (to Arduino Serial2 Tx or D16)


MEGA Logger

The MEGA Logger is a complete sketch developed for the kit working as a OBD-II and GPS data logger with live data display. The source code is available here. For getting started easier, a complete package containing the sketch and all referenced libraries is available here.

After being able to record all the data, it is then possible create a KML with Data2KML utility and display the data with Google Earth like this:

Wollongong Mount Dash


Q: How to make the SD card socket on the TFT LCD shield work with Arduino MEGA 2560?

A: Go to <Arduino Dir>/libraries/SD/utility, open Sd2Card.h file, find and uncomment following line:

#define MEGA_SOFT_SPI 1

Open config.h file in sketch directory, uncomment this line:

#define SD_CS_PIN 10

And comment out this line:

#define SD_CS_PIN SS



Comments are closed.