Using LoRa without Infrastructure for Decentralized Communication

Event start: 9 months, 2 weeks ago // Event Information


LoRa is a radio communication technique using license-free frequency bands, allowing small data transmissions over hundreds of meters or even kilometers. It's mostly known for LoRaWAN setups, requiring some managed infrastructure. However, LoRa can also be used directly to transmit packets outside of LoRaWAN's IoT scope over LoRa's physical layer, LoRa PHY. This workshop will dive into the possibilities of low-cost, long-range LoRa PHY appliances based on cheap microcontroller based modems. As a project, we will develop a small LoRa-based chat system to broadcast messages.

LoRa is often used in the form of LoRaWAN with infrastructure as a gateway for IoT sensors. But it can also be used for direct device-to-device communication to build decentralized long-range communication networks by using the physical layer, LoRa PHY.

While LoRa bandwidth is severely limited, it still is an affordable and readily available technology that can can be used for many different projects. No license fees have to be paid, and you don't need to have an amateur radio license to play around with it.

In this workshop, we will highlight a bit how this technology can easily be used from your laptop, Raspberry Pi or even your smartphone through a generic LoRa modem firmware.

Transforming a LoRa-capable microcontroller into such a modem allows easy development of applications. Even without writing any code, one can instruct the modem over a serial connection, BLE or WiFi. However, to go beyond, we are providing software libraries - Go, Python, Rust - to fasten application development.

Together we will dive into this topic and develop a simple broadcast chat system. This system will work independent of any other infrastructure and might be perfect for outside scenarios as the camp.

Should there still be time, there might also be the possibility of tackling a small LoRa-based CTF.

There will be a couple of usable MCUs, so that we can work in small groups. If, however, anyone has a supported microcontroller (lilygo t-beam, heltec esp32-lora, etc.), we would encourage you to bring it along.

To participate in the development, please bring a laptop and maybe prepare it to work with one of the libraries mentioned above - platformio is a requirement for flashing the firmware. By doing so, we will have more hands on-time, but of course we will also help you setting up your environment during the workshop.



recommendations