Open Hardware GPS Tracker Works On Your Terms

These days, there’s plenty of options if you want to get a GPS tracker for your vehicle. Unfortunately, they come with the sort of baggage that’s becoming increasingly common with consumer tech: subscription fees, third-party snooping, and a sneaking suspicion that you’re more commodity than customer. So [Viktor Takacs] decided to take things into his own hands and create an open GPS tracker designed for privacy minded hackers.

As [Viktor] didn’t want to reinvent the wheel, his design leverages several off-the-shelf modules. The core of the tracker is the ESP32, which gives him plenty of computational power while still keeping energy consumption within reasonable levels. There’s also a NEO-6M GPS receiver which works at the same 3.3 V level as the ESP32, allowing the microcontroller to read the NMEA sentences without a level shifter. He decided to go with the low-cost SIM800L GSM modem, but as it only works on 2G networks, provisions have been made in the board design to swap it out for a more modern module should you desire.

For the code to glue it all together, [Viktor] pulled in nearly a dozen open source libraries to create a feature-complete firmware that uses MQTT to create a database of location data on his personal server. From there the data is plugged into Home Assistant and visualized with Grafana. This is enough to deliver core functionality, but he says that more custom software components as well as a deep-dive into the security implications of the system is coming in the near future.

We’ve seen custom built GPS trackers before, as generally speaking, it doesn’t take a whole lot to spin up your own solution. But we think the polish that [Viktor] has put on this project takes it to the next level, and ranks it up there among some of the most impressive bespoke tracking solutions we’ve seen over the years.

19 thoughts on “Open Hardware GPS Tracker Works On Your Terms

    1. If you look at the file it has no main.

      Instead it has a setup() and a loop() section. If the file was called main.ino would that make more sense ? It is using the Arduino core for the ESP32.

      1. By spaghetti I mean all the code in one huge file. I did not refer to main(), but to main.cpp. Also the loop() and setup() are just convention in naming and organizing code. But the firmware is almost all inside a one huge main.cpp file.
        A good recent example I found, to make my point, is the one in this project:
        But also this one:

        Hope I gave you the perspective I wanted to communicate. Both of these examples are many times easier to read and navigate, in my opinion. And probably are easier to debug, too, depending on the environment.

  1. Not to be a showstopper or shill any product but you could have this out of the box with any old eg: Android 5 phones with Sygic Logic Offline maps for 20 EURs and as the name says it’s even offline you don’t need internet on the phone and it does not try to send any data anywhere you can update the maps whenever you want and they are quite accurate.

    Of course it won’t show you traffic conditions (at least the old versions) like GMaps or Waze but still far superior to your design. Let’s start it with where is the screen in yours???

    It seems to me that you have to have another laptop in the car connected to the ESP32 to get the data out of it.

    What do you need a GSM modem for? 2G is dead in most countries already it’s completely useless and no Lora is not a reliable solution, the network is almost entirely run by hobbysts you can’t rely on it.

    1. Uhhhm I think you fail to understand the meaning of GPS tracker. This simply sends out its GPS coordinates to some remote device via a cellular network, nothing to do with maps or navigation.

      Think if some lowlife takes your broom broom with this in – you can follow where you broom broom is. Your idea would mean the lowlife has a nice navigator to show her/him where to go, but won’t necessarily keep you updated as to where your broom broom has disappeared to.

        1. Lowlifes usually don’t own mobile Faraday cages, so the last fix before entering the industrial metal building is just as good as the location inside. Assuming the police in you country aren’t too busy for your 1998 Fiesta.

    2. You don’t really need a GPS tracker in your car, when you are actually sitting in your car. The tracker, is for when other people are driving your car. Like family, friends, employees, or if it get stolen. You take your car to a mechanic, did they put a hundred miles on it, actually working, or was it personal transportation for a week?

      Logging to an SD card, would be a good option, if receiving live updates isn’t needed, or possible. A shock sensor might be a good add-on, if you are tracking other people driving your vehicle, so you could know when and where damage was done. GPS can track the path, and estimate speed, but a few simple sensor could also provide some details on driving habits

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.