I have a PCB with a SAM-M8Q correctly wired to power, ground, and the UART pins of an ST MCU (the minimum acceptable circuit). I am reading serial data from it (which should be NMEA sentences at 1 Hz), but rather I am getting random strings of numbers at 1 Hz. How can I parse this data into NMEA sentences? I have not changed the configuration of anything, nor have I sent the GNSS module any commands. Please let me know what’s wrong.

I don’t think it’s a hardware issue, since the circuit is quite simple, and I’ve tested this on two separate (identical) PCBs (so the GPS isn’t fried on one of them).

Please let me know if there’s a fix for this, or if I haven’t configured something correctly.


@cameronus, what baud rate did you select with your ST MCU? According to 1, you need 9600, 8 bit, No and 1Bit.

Interface Settings
UART Output 9600 Baud, 8 bits, no parity bit, 1 stop bit
Configured to transmit both NMEA and UBX protocols, but only the following NMEA (and no UBX)
messages have been activated at start-up:

1: SAM-M8Q Data Sheet



I’m using 9600 baud. The data I’m getting isn’t corrupted (which would happen if the baud rate is wrong), but rather a long string of random numbers.


@cameronus, can you post a subset of the data you are getting?



I discovered it was an issue with reading the data as binary rather than ASCII. If you feel it’s appropriate you can close this issue. Thanks!