gr-lora_sdr – A GNU Radio SDR implementation of a LoRa transceiver

The physical layer of the LoRa (LoRa PHY) is a proprietary standard owned by Semtech and people have been trying to reverse-engineer the LoRa standard for years with projects such as GR-LoRa, and over the year various people have taken over the works and new projects have come with the latest one being the gr-lora_sdr GNU Radio software-defined radio (SDR) implementation of a LoRa transceiver.

The project has been conducted in collaboration with the Telecommunication Circuits Laboratory of the EPFL (École Polytechnique Fédérale de Lausanne) in Switzerland, and gr-lora_sdr is available as a module for GNU Radio 3.10 with both Tx and Rx implemented so it can be used with hardware compatible with GNU Radio that works in the ISM bands for LoRa (e.g. 433 MHz, 868 MHz, 915 MHz).

GNU Radio SDR LoRa testbed
GNU Radio SDR LoRa Rx/Tx testbed

Highlights of the gr-lora_sdr project:

  • Sends and receives LoRa packets between USRP-USRP and USRP-commercial LoRa transceiver (tested with Adafruit Feather 32U4 RFM95 and Dragino LoRa/GPS HAT).
  • Supported parameters
    • Spreading factors – 5-12 (SF5 and SF6 are not compatible with Semtech SX1261/2)
    • Coding rates – 0-4
    • Implicit and explicit header mode
    • Payload length – 1-255 bytes
    • Sync word selection (network ID)
    • Verification of payload CRC
    • Verification of explicit header checksum
    • Low data rate optimization mode
    • Utilization of soft-decision decoding for improved performances

The related research paper says the implementation was tested on National Instruments (NI) 2920 USRP transceivers, but notes that any SDR device that supports GNU Radio can be used instead.

The gr-lora_sdr project can be found on GitHub under a GPL 3.0 license with instructions to install the module from source or with Conda package management system. A simulation framework can also be found in the apps/simulation folder.

GNU Radio LoRa Tx blocks
GNU Radio LoRa Tx
GNU Radio LoRa Rx blocks
GNU Radio LoRa Rx

While the project is great for research and education, it might not be a good idea to use it in commercial products as LoRa is patented by Semtech until September 2035 (anticipated expiration).

Via MisterTechBlog on Twitter/X

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
Patrick Hendriks
9 months ago

Nice, imagine a simple rtl sdr network (The things network) just like AIS flightradar, crowdsourced and very cheap to implement, well at least it lower the bar to entry.

Patrick Hendriks
9 months ago

naturally only with ABP (Activation by Personalization). OTAA would require TX capabilty

Khadas VIM4 SBC