SureTrac - Open Source, Software Integrated GPS

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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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:


Example Server:

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Arduino Contest 2020

      Arduino Contest 2020

    2 Discussions


    3 years ago

    This looks really nice. I'm curious what the specific application is for this little tracker. Can you say?


    Reply 3 years ago

    We have a number of specific use cases in mind, but our first target is a
    client in the DME Management industry that would use it to track
    equipment orders between hospices and DME providers.