Hi all,
I recently finished a GPS tracking project using a Heltec WiFi LoRa 32 V4 (ESP32-S3) board and a Reyax RYS352A multi-GNSS receiver. The original goal was to understand how standalone tracking devices work without relying on cloud services or third-party APIs.
The RYS352A is based on the Airoha AG3352 GNSS engine and supports multiple constellations (GPS, GLONASS, Galileo, BeiDou, and QZSS). It outputs NMEA 0183 data over UART at 115200 baud.
HardwareHeltec WiFi LoRa 32 V4
Reyax RYS352A GNSS Module
Breadboard PSU
12V Battery
WiringRYS352A VCC -> 3.3V
RYS352A GND -> GND
RYS352A TXD -> GPIO38
What It DoesAcquires a GNSS fix from visible satellites.
Parses NMEA sentences on the ESP32-S3.
Displays latitude, longitude, and satellite count on the onboard OLED.
Hosts a small web server on the ESP32.
Shows the current position and travel trail on an OpenStreetMap-based page.
A few things I'd still like to experiment with:
Comparing the onboard antenna with an active external antenna.
Using the Heltec board's GNSS power control (GPIO34).
Adding LoRa modules between two nodes.
Logging coordinates to an SD card.
Has anyone here used the RYS352A or similar GNSS modules (u-blox, Quectel, etc.)?
I put together a full write-up with schematics, code, and testing notes on Play with Circuit if anyone wants the complete details:
https://playwithcircuit.com/gps-tracker-using-reyax-gnss-module-and-heltec-v4-board/Looking forward to hearing your thoughts and suggestions.