GPS Tracker Project with ESP32-S3 (Heltec V4) and Reyax RYS352A GNSS Module

Hi everyone,

I wanted to share a recent project I’ve been working on using the Heltec WiFi LoRa 32 V4 (ESP32-S3) and the Reyax RYS352A multi-GNSS module.

The aim was to build a standalone GPS tracker that doesn’t depend on cloud services or paid subscriptions. Instead, the ESP32 hosts a small web server that allows any device on the same Wi-Fi network to view the current location and travel history.

Hardware

  • Heltec WiFi LoRa 32 V4 (ESP32-S3)
  • Reyax RYS352A GNSS Module
  • Breadboard Power Supply
  • 12V Battery

Wiring

RYS352A VCC  -> 3.3V
RYS352A GND  -> GND
RYS352A TXD  -> GPIO38

Project Overview

The RYS352A is a multi-GNSS receiver based on the Airoha AG3352 chipset and supports:

  • GPS
  • GLONASS
  • Galileo
  • BeiDou
  • QZSS

It outputs NMEA 0183 sentences at 115200 baud, which the ESP32-S3 parses to obtain:

  • Latitude
  • Longitude
  • Altitude
  • Satellite count

The current coordinates are displayed on the Heltec board’s onboard OLED, while a browser-based interface displays the current position and movement trail using OpenStreetMap.

I’m currently considering a few enhancements:

  • Geofencing notifications.
  • SD card logging.
  • Power optimization for battery operation.

Has anyone here worked with GNSS modules on ESP32-S3 boards? I’d be particularly interested in hearing about techniques for improving time-to-first-fix and reducing power consumption.

I’ve written up the complete build, including schematics, source code, and testing notes on Play with Circuit:

Build a GPS Tracker using Reyax GNSS Module and Heltec V4 Board

Thanks, and I’d love to hear any suggestions from the community!