Abstract
Snork Tracker is an open-source Internet of Things (IoT) project. GPS IoT tracker board for scanning gps and environment information and sending this to a MQTT server via GPRS. The goal of this board is to have an easy-to-use, configurable GPS tracker that passes its data to an MQTT server. It should also be able to scan other environmental data and operate on a 12V power supply with low power consumption over a long period of time. It is built using C++, Arduino, ESP8266, ESP32. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
The goal of this board is to have an easy-to-use, configurable GPS tracker that passes its data to an MQTT server. It should also be able to scan other environmental data and operate on a 12V power supply with low power consumption over a long period of time.
The board has a voltage divider to measure the power supply voltage and a BME280 sensor to read temperature, humidity and air pressure.
The module operates with a supply voltage of approx. 6V to 16V. Perfect for a car battery.
2. Objective
GPS IoT tracker board for scanning gps and environment information and sending this to a MQTT server via GPRS.
This project demonstrates how C++, Arduino, ESP8266 can be applied to a real-world Internet of Things (IoT) problem.
4. Technology Stack
- Take the Breadboard and the other items from the part-list.
- First of all unsolder the (ON/OFF) pin 5 from the DC-DC module, bend it up and
- Place the other parts from the part-list on the breadboard and solder it as shown.
- Connect all the pins of the parts as seen on the circuit image with wires.
- The final board could look like this
- Check all the wiring with a multimeter. Also against short-circuit.
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C++ compiler (g++)
- Target board (e.g. Arduino, ESP32) where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/Bastelschlumpf/SnorkTracker.git
cd SnorkTracker- Download Arduino IDE from
- Install ESP8266 board software
- In Arduino IDE set 'File | Preferences' to Boards Manager URL
- Open 'Tools | Board... | Boards Manager...'
- Install the ESP8266 file-system up-loader from
- Download SnorkTracker software by clone or download.
- Copy the content of the snorktracker/libraries directory to the Arduino installation libraries directory.
- Configure Arduino IDE
Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by Bastelschlumpf and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship