16–20 Sept 2024
Knoxville Convention Center (KCC)
US/Eastern timezone
GRCon24 will take place in Knoxville, TN from Sept 16-20

Building a Full Transceiver Stack with GR-lora for Meshtastic Networks

17 Sept 2024, 13:30
15m
Ballroom AB (Knoxville Convention Center (KCC))

Ballroom AB

Knoxville Convention Center (KCC)

Talk Practical applications using GNURadio Main Track

Speaker

Joshua Conway

Description

This project was built upon the reverse engineering work done by Joachim Tapparel of https://github.com/tapparelj/gr-lora_sdr .

I came across the Meshtastic project only a few months back, when there was a great push on major radio based topic groups and discord. The allure of Meshtastic, in their words is "An open source, off-grid, decentralized, mesh network built to run on affordable, low-power devices".

My first question: can I decode the IQ data transmitted from a Meshtastic device? It turns out, with gr-lora , yes!

The Semtech SX1262 family of LoRa chips are inexpensive. However, with LoRa, there are other concerns. LoRa data is encoded with customizable factors such as : LoRa bandwidth, coding rates, and spreading factors. Setting these on hardware means you can only receive from the same settings.

Meshtastic does make our job easier, since there's 8 presets. They define defaults for coding rate, spread factors, and bandwidth. But again, real hardware can only do 1 preset at a time.

My project, Meshtastic-SDR fills the role of reception. However, instead of being locked to only 1 preset, we can decode all presets at the same time! Speaking of presets, the same bandwidth presets are also set to the same transmit frequency. This means that even inexpensive SDRs like RTLSDR can reliably receive up to 5 presets at the same time.

In the USA, capturing all presets does require 20MHz of bandwidth. Europeans do have a greatly constrained set of frequencies at 869.40-869.65MHz . This however means that they can capture all presets with the RTLSDR.

The RX flow is functionally complete. I'm working on the transmit flow as well, and will be complete soon. The TX will allow repeater functionality across presets, and even across bands. For amateur radio operators, we can even shift communications down into 2 meter (144-148MHz) using 62.5KHz bandwidth.

Talk Length 15 Minutes
Link to Open Source Code https://gitlab.com/crankylinuxuser/meshtastic_sdr

Primary author

Presentation materials