Introduction: SureTrac - Open Source, Software Integrated GPS

At Gunner Technology we needed a special hardware module that would send GPS coordinates (particularly GPRMC NMEA sentences) to our server every few seconds. We didn't find any solutions that satisfied our requirements, and when we saw the Onion Omega released we jumped and started developing with it. The final product is called SureTrac.

There are two models of our GPS modules - the first one which uses an Adafruit Ultimate GPS and the second which uses an Onion Omega GPS expansion module.

The SureTrac will poll and upload the GPS coordinates at whatever rate you set in the settings - by default we use 1 Hz - and HTTP POST that to whichever server URL you set in the settings.

For both versions you will need:

  • An Onion Omega
  • An Onion Breakout Board
  • Cables to connect everything

IF you are going the Adafruit route

  • An Onion Arduino Dock OR Arduino Uno
  • An Adafruit Ultimate GPS

IF you are going the Expansion Route

  • An Onion GPS Expansion

Step 1: Wire the SureTrac

GPS Expansion Route

  1. Plug in the GPS expansion into the breakout board by USB
  2. Place the Onion onto the breakout board
  3. Connect the Omega to your computer via USB for programming

Arduino/Adafruit Route

First we need to wire up the GPS to the Arduino

On the GPS we need four pins - TX, RX, GND, VIN

They go as so to the Arduino:

  • TX -> Digital 3
  • RX -> Digital 2
  • VIN -> 5v - can also go to one of the 5v on the Onion
  • GND -> GND - can also go to one of the GND's on the Onion

Next we need to wire the Arduino to the Onion.

  • Arduino VIN to one of the 5v on the Onion
  • Arduino GND (one next to VIN) to one of the GND's on the Onion
  • Arduino A4 to Omega GPIO 21
  • Arduino A5 to Omega GPIO 20

Make sure the Omega is on the Onion Breakout, then all you need to do is plug the Omega into your computer via USB for programming.

Step 2: Code

All the code is on Github and ready to go - in the code there are really only two variables that need to be configured, refresh rate and the server URL.

Detailed procedures for programming the project are available in the repository:

Hardware: https://github.com/gunnertech/SureTrac_Hardware

Example Server: https://github.com/gunnertech/SureTrac_Example_Server