Real-time positioning has become a fundamental requirement in applications such as vehicle tracking, fleet management, robotics, asset monitoring, and outdoor navigation. Although many GPS tracking systems rely on cloud platforms to visualize location data, local browser-based tracking provides a simpler architecture for development, testing, and educational applications.
This project combines the Heltec WiFi LoRa 32 V4 development board with the REYAX RYS352A Multi-GNSS module to build a self-hosted GPS tracking system. The GNSS receiver acquires positioning information from multiple satellite constellations, while the ESP32 processes the received NMEA data, displays key information on the onboard OLED, and hosts a lightweight web interface for real-time visualization.
Hardware Implementation
The hardware consists of the Heltec WiFi LoRa 32 V4 development board and the REYAX RYS352A Multi-GNSS receiver. Supporting components include a breadboard, jumper wires, a USB Type-C cable for development, a breadboard power supply, and a portable lithium battery used during outdoor testing.
The GNSS module communicates with the ESP32 using a UART interface. Only three primary connections are required: VCC is connected to the 3.3 V supply, GND is connected to ground, and the module's TX pin is connected to GPIO38 (UART RX). The Heltec board also provides a dedicated GNSS connector, simplifying the overall hardware assembly.
![]()
System Operation
After power-up, the Heltec board connects to the configured Wi-Fi network and initializes the embedded web server. Meanwhile, the REYAX RYS352A begins searching for available satellites and continuously outputs NMEA sentences.
Once a valid position is obtained, the firmware extracts the required positioning parameters and updates the OLED display with the current latitude, longitude, and connected satellite count. The OLED also displays the IP address assigned to the ESP32, allowing devices on the same network to access the browser interface.
Opening the IP address in a web browser loads an interactive OpenStreetMap interface. As new positioning data becomes available, the marker location and travelled path are updated automatically, providing real-time visualization without requiring any cloud infrastructure.
![]()
Testing
System validation was performed outdoors by installing the completed hardware inside a moving vehicle. The tracker was powered using a portable battery while travelling through different locations to evaluate positioning accuracy and browser responsiveness.
Once the GNSS receiver acquired sufficient satellite signals, the OLED continuously displayed live positioning data while the browser interface accurately tracked the vehicle's movement. The travelled route was plotted in real time throughout the journey, demonstrating stable communication between the GNSS receiver, the ESP32, and the browser application.
For source code visit: https://playwithcircuit.com/gps-tracker-using-reyax-gnss-module-and-heltec-v4-board/