stty -F /dev/ttyAMA5 9600 cs8 -cstopb -parenb Now cat /dev/ttyAMA5 showed garbage. Good—data was flowing.

The UG-353 was wired to UART5 on a Raspberry Pi Compute Module 4. Marta had written a simple systemd service to start gpsd with the correct options:

The garbage was not NMEA sentences (which start with $GP or $GN ). It was random binary noise. Marta grabbed an oscilloscope: the UG-353’s TX was 3.3V, but the CM4’s RX was configured for 1.8V logic due to a broken device tree overlay. She fixed the config.txt :

dtoverlay=uart5,uart5_rx_pullup=on

The Silent NMEA Sentence