From f2c1eb84d25814f830be7c41bd1efa249b4af10a Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Wed, 11 Feb 2026 16:06:31 -0700 Subject: [PATCH] Fix GPS baud rate: RYS352A defaults to 115200, not 9600 The AG3352 GNSS engine in the RYS352A ships at 115200 8N1 per the datasheet spec table. 9600 was a generic assumption that would cause the UART to read garbage and never acquire a fix. --- docs/ble-bridge-wiring.md | 4 ++-- firmware/ble-bridge/include/config.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ble-bridge-wiring.md b/docs/ble-bridge-wiring.md index f7d8d71..41eb8e8 100644 --- a/docs/ble-bridge-wiring.md +++ b/docs/ble-bridge-wiring.md @@ -223,7 +223,7 @@ ESP32 GND ──► RYS352A GND |------------|-----------|----------| | VCC | 3V3 | 3.3V power (onboard LDO on most breakouts) | | GND | GND | Ground | -| TX | GPIO5 (UART2 RX) | NMEA sentence output at 9600 baud | +| TX | GPIO5 (UART2 RX) | NMEA sentence output at 115200 baud | | RX | GPIO6 (UART2 TX) | UBX/NMEA config input (optional) | | PPS | GPIO7 | 1Hz pulse synchronized to GPS time | @@ -233,7 +233,7 @@ this edge via interrupt (`micros()` timestamp) for correlating satellite events with sub-microsecond precision relative to the GPS epoch. The module's RTC battery backup enables warm starts (~5s) after initial cold start fix (~30-60s). -**UART notes:** The RYS352A defaults to 9600 baud NMEA output. The TX line +**UART notes:** The RYS352A defaults to 115200 baud NMEA output. The TX line (GPIO6) is optional — only needed if you want to send UBX configuration commands to change update rate, constellation selection, or enable additional NMEA sentences. The firmware uses TinyGPS++ to parse standard GGA/RMC sentences. diff --git a/firmware/ble-bridge/include/config.h b/firmware/ble-bridge/include/config.h index d0ed0a9..92ebbbe 100644 --- a/firmware/ble-bridge/include/config.h +++ b/firmware/ble-bridge/include/config.h @@ -9,7 +9,7 @@ #define PIN_GPS_RX 5 // ESP32 RX <- GPS TX (NMEA out) #define PIN_GPS_TX 6 // ESP32 TX -> GPS RX (config in, optional) #define PIN_GPS_PPS 7 // 1Hz PPS rising edge (interrupt) -#define GPS_BAUD 9600 +#define GPS_BAUD 115200 // I2C Sensor Bus #define PIN_I2C_SDA 8