LoRa is great for sending short packets of data over long distances, but is usually not suitable for voice communication. [Dan Fay] seeks to change this with QMesh, a synchronized, flooded network protocol for radio station applications.
In a flooded network, each node repeats each received message. This has the theoretical advantage of making the network self-healing if a single node stops working, but it often simply means that the nodes will interfere. Due to some characteristics of LoRa, [Dan] uses a few tricks to work around this packet collision problem. The LoRa network can use the “capture effect”, which allows the receiver to distinguish between two packets if the difference in power level is large enough. This is further improved by adding forward error correction and slightly changing the frequency and timing of LoRa tweets. QMesh also implements TDMA (Time Division Multiple Access) by splitting the transmission into time slots and transmitting only every third slot. This means that it operates at a 33% duty cycle, which is much higher than the 0.1% -10% allowed for unlicensed ISM tapes, which legally limits it to ham tapes.
On the hardware side, [Dan] uses STM32 NUCLEO-144 development boards with F4 / L4 / F7 / H7 microcontrollers and a custom shield with 1 W LoRa module and OLED screen. While [Dan] wants to eventually build portable radios, he plans to first develop small FM repeaters that encode voice as codec2 and use QMesh as a backhaul. QMesh is still under development, but we’d love to see the results of some long-term tests, and we’re excited to see how it matures.
If you are interested in a more basic LoRa-based person-to-person messaging system, take a look Mystical. It has been going very fast over the past year. To learn more about LoRa and other digital modulation schemes, take a look a crash we did with SDR some time ago.