In this project, I used the Heltec WiFi LoRa 32 V4 development board together with the REYAX RYS352A Multi-GNSS receiver. The result is a lightweight browser-based GPS tracker that displays live coordinates, satellite count, and the travelled path directly on an OpenStreetMap interface without relying on any third-party cloud service.
The project combines UART communication, GNSS positioning, Wi-Fi networking, and an embedded web server into a practical embedded systems application that can easily be extended for more advanced IoT projects.
Ā
Project Features
Supports GPS, GLONASS, Galileo, BeiDou, and QZSS satellite constellations
Displays live latitude, longitude, and satellite count on the onboard OLED
Browser-based tracking using OpenStreetMap
Embedded web server hosted directly on the ESP32
No cloud platform or external server required
Simple hardware connections
Easy to modify and extend for future projects
Ā
Hardware Used
This project uses only a few hardware components:
Heltec WiFi LoRa 32 V4 Development Board
REYAX RYS352A Multi-GNSS Module
Breadboard
Breadboard Power Supply Module
12 V Lithium Battery
USB Type-C Cable
Jumper Wires
Ā
Circuit Connections
The hardware setup is intentionally simple.
The REYAX RYS352A communicates with the Heltec board through UART. Connect the module's VCC pin to the 3.3 V supply, connect GND to ground, and connect the TX pin of the GNSS module to GPIO38 (UART RX) on the Heltec board.

If available, the dedicated GNSS Molex connector on the Heltec board can also be used, resulting in a cleaner hardware assembly with fewer jumper wires.
Ā
How It Works
When the tracker starts, the REYAX RYS352A begins receiving positioning data from multiple GNSS satellite constellations. These NMEA sentences are continuously transmitted to the Heltec board through UART communication.
The ESP32 parses the received data using the TinyGPS++ library and extracts the current latitude, longitude, and connected satellite count. This information is displayed on the onboard OLED while the ESP32 simultaneously hosts a lightweight web server.
Opening the IP address shown on the OLED display in any browser connected to the same Wi-Fi network loads an interactive OpenStreetMap interface. The browser periodically requests updated GPS coordinates, allowing the current position and travelled path to be displayed in real time.
Since all processing is performed locally on the ESP32, the project remains lightweight and does not require any external cloud services.
Ā
Testing
To evaluate the tracker, the assembled hardware was placed inside a moving vehicle. After the GNSS receiver acquired sufficient satellites, the browser began updating the current position automatically.
Ā
During the test, the location marker accurately followed the vehicle's movement while continuously recording the travelled path. The onboard OLED also displayed the latest coordinates and satellite count throughout the journey, confirming stable communication between the GNSS receiver and the ESP32.
Ā
Applications
This project can serve as a foundation for many embedded systems applications, including:
Vehicle Tracking
Fleet Monitoring
Asset Tracking
Robotics
Outdoor Navigation
Educational GNSS Projects
IoT Location Monitoring
Ā
Future Improvements
Several additional features can be incorporated into this project, including geofencing alerts, LoRa communication, Home Assistant integration, SD card logging, OTA firmware updates, cloud synchronization, and mobile application support.
Ā
To explore the complete project, including the detailed tutorial, source code, circuit diagrams, please visit Play with Circuit: GPS Tracker using ESP32









