The LoRa serial modem is a good option for sending RTK correction data when you operate a rover and base station. Serial modem software and hardware designs are available at our GitHub repository. This page walks you through the design and operation of the LoRa serial modem. The serial modem plugs into our TinkerNav RP2040 based GNSS board as one option for sending/receiving RTK correction data. Both the base station and the rover need to have TinkerNav module with TinkerSend – Lora radios for this setup.
TinkerSend – LoRa is based on the newer (July 2019) Semtech LLCC68 radio in the E220-900MM22S package by EByte. This radio uses the license free 900 MHz band and advertises a range of 6 km line of sight and has proven to be a good option for sending RTK correction data over short to medium distances. A 433 MHz option is also available based on the E220-400MM22S module for countries requiring that frequency range.
The schematic below shows the electrical connections on the TinkerSend – Lora module. The module is fairly simple with the LLCC68 module, an U.FL connector for the LoRa antenna, decoupling capacitors, and headers. The headers needed for power, SPI communication, plus two additional GPIOs for DIO1 and RESET are connected to the TinkerNav board. The other header connections are not connected.
The transmitter and receiver both use the RadioLib library, which supports the LLCC68 module. Our software runs on the TinkerNav board and uses the RP2040 to control the LoRa radio. Full source code for both base station and rover is available in our repository. Our software uses the Arduino 1.8.x IDE, though the RP2040 can also run your own MicroPython code or C/C++ developed using the Pico SDK. The following sections describe the base station transmitter module, which sends RTK correction data, and the rover receiver module, which receives RTK correction data.