Story
In this project, I've built a GPS tracker using the Heltec WiFi LoRa 32 V4 development board and the REYAX RYS352A Multi-GNSS module.
The RYS352A receives positioning data from multiple satellite constellations, while the Heltec board processes the received NMEA data, displays the current latitude, longitude, and satellite count on its onboard OLED display, and hosts a lightweight web server. Any smartphone or computer connected to the same Wi-Fi network can access the tracking webpage through a standard web browser to monitor the current location and travelled path in real time.
Unlike many GPS tracking projects, this implementation does not require any third-party cloud platform, API key, or account registration. Everything runs locally on the ESP32, making the project simple to build and ideal for learning GNSS, UART communication, embedded web servers, and browser-based visualization. For complete source code and detailed explaination visit: GPS Tracker using Reyax GNSS Module and Heltec V4 Board
REYAX RYS352A GNSS Module Overview
The REYAX RYS352A is a compact, high-sensitivity multi-GNSS receiver based on the Airoha AG3352 GNSS engine. It supports multiple satellite constellations, including GPS, GLONASS, Galileo, BeiDou, and QZSS, providing improved satellite availability, faster position acquisition, and reliable positioning compared to GPS-only receivers. The module communicates through a 3.3 V UART interface and outputs standard NMEA 0183 V4.10 sentences, making it compatible with a wide range of Arduino and ESP32-based development boards.
Circuit Diagram
![]()
The hardware requires only a few connections, making it easy to assemble. The RYS352A GNSS module is powered from the 3.3 V supply, while its TX pin is connected to GPIO38, which acts as the UART receive pin on the Heltec board. The module continuously transmits standard NMEA sentences containing positioning information, which are decoded by the firmware.
A breadboard power supply module is used to regulate the 12 V battery voltage and provide a stable operating voltage for the circuit. The complete circuit diagram is shown below.
How the GPS Tracker Works
When the system is powered on, the Heltec WiFi LoRa 32 V4 first connects to the configured Wi-Fi hotspot and starts an embedded web server. Simultaneously, the REYAX RYS352A begins searching for available GNSS satellites.
After acquiring a valid satellite fix, the module continuously transmits NMEA data to the Heltec board via UART. The firmware decodes this data to extract the latitude, longitude, and satellite count. These values are displayed on the onboard OLED display while the latest coordinates are served to the browser through the embedded web server.

Opening the displayed IP address in any web browser connected to the same Wi-Fi network loads a webpage that displays the current location on an interactive OpenStreetMap interface. As the tracker moves, the marker position is updated automatically, and the travelled path is recorded in real time.
Testing the GPS Tracker
After uploading the firmware, I enabled the configured Wi-Fi hotspot and power on the hardware. Once the Heltec board connects to the network, the assigned IP address is displayed on the OLED display.
Then I took the GPS tracker outdoors, where the GNSS receiver has a clear view of the sky. After acquiring sufficient satellites, the OLED displays the current latitude, longitude, and satellite count. Then I entered the displayed IP address into a web browser connected to the same Wi-Fi network to access the tracking webpage.
To verify the system, I placed the tracker inside a moving vehicle and drive through different locations. During testing, the browser continuously updates the current position while drawing the travelled path on the OpenStreetMap interface, demonstrating real-time location tracking and browser-based visualization.





