Home LoRa: Writing our own Protocol - Part 1 - Introduction

LoRa: Writing our own Protocol - Part 1 - Introduction

So, I was planing to write about some #LoRa projects in the future after I was done with the #MAVLink series. However I stumbled few days ago over a tweet from @sulfuroid.

LoRa RAK Business Card

Here is some kind of modern and technical Dr. Jekyll and Mr Hide. Doctor by day and Hobbist by night. He does everything, from 3D to PCB Design.12

His latest work is a PCB in Business Card format equipped with an ESP32-S33, OLED ST7789 SPI Display and RAK31724 based on STM32WLE5CCU65. That’s just amazing!

I got in contact with Sulfuroid and he asked me if I could port Meshtastic6 to his LoRa Business Card or if I could write a simple LoRa Messenger for it . Say no more, Buddy!

[…] LoRa Only (with peer-to-peer or broadcast) or LoRaWAN through Gateways (could be super powerful to build a LoRaWAN messaging network all over the world)

LoRa RAK Business Card

Honestly, I am not sure about the Meshtastic port, never digged into the sourcecode before but I already gather some useful knowledge in the area of LoRa and Messaging in combination with LoRaWAN Gateways.

Me and my friends volunteered for a NGO and worked on a GPS Tracking and Emergency project. I can’t go too much into details, but the project was a big success.

So, I re-scheduled my plans and try now to squeeze LoRa projects series in between.

LoRa and LoRaWAN

Why writing your own protocol if there is already a commercial adapted protocol like LoRaWAN outside?

LoRa Logo Well, you might not like my answer, but I love to understand how things work and try to replicate them. With a Cypherpunk mindset, privacy and security are crucial for me.

I want a self-hosted solution. I want the advantages of LoRaWAN Gateways but I don’t want to rely on cloud based LoRaWAN servers that could get hand on sensible data of my clients. I don’t like the potential restrictions that comes with the LoRaWAN standard.

Writing my own protocol and own server gives me the advantages of both worlds. Receiving LoRa(WAN) packets on 8 channels simultaneously and forwarding them via Semtech UDP protocol7 over network is a big improvement compared to small peer-to-peer devices with limited range and unreliable network connectivity.

Future Roadmap

LilyGo TTGO T-Beam v1.1 In the upcoming #LoRa blog posts, we will take a look at Semtech UDP Protocol and write a server in Python to interact with it.

After the bases are set, we can write the first applications like encrypted LoRa Messenger or monitoring and telemetry.

As Hardware we will use LilyGo TTGO T-Beam, one of my favorite LoRa development boards.

Did you know that you can use TTGO T-BEAM as TNC and build a IP network via LoRa?

And if everyhing works out, we might get hands on Sulfuroid’s LoRa Business Card.

So stay tuned!

Check out Part 2 of the #LoRa series.


How to use MAVLink on ESP32

LoRa: Writing our own Protocol - Part 2 - Hardware & Hello World