How to use SparkFun GPS-RTK Board (NEO-M8P-2) with SX1278/SX1276 LoRa (UART) for RTK Base–Rover

I’m working on an RTK Base–Rover GNSS system using the SparkFun GPS-RTK Board (u-blox NEO-M8P-2) and I would like to run it without using the internet (no NTRIP).

My setup uses LoRa for RTCM transmission:

  • LoRa module: SX1278 / SX1276, 433 MHz, UART interface (~3 km range)

  • RTCM corrections are sent from the Base to the Rover via UART → LoRa → UART

  • The Rover side uses an Arduino, which reads latitude and longitude (NMEA output) from the NEO-M8P-2

Is there a question here?

The RTCM3 data is in binary packets, which can exceed the air packet size of LoRa, so might require you to span several.

Data must transit unmolested, so data out matches data in 1:1

The packets have a 24-bit CRC for integrity checking, and I’d recommend aligning RTCM3 and air packet boundaries to a) limit delays, and b) improve robustness/resync

1 Like