Freakwan: A MicroPython driver for the SX1276 LoRa chip
github.com
github.com
I love this and I am going to try it but like all UHF and up radio communications systems this will depend on line of sight. Lora sweep modulation doesn't make your signal go through hills. The only solution is getting enough reliable electrical power up high above the surrounding terrain to have line of sight to the next transceiver. That's why cell networks work: they pay big money to build towers to put their antennas up high where they can see the users' handsets.
Non-line of sight VHF/UHF propagation like tropospheric ducting are unpredictable and extremely low duty cycle. Alternately the more reliable tropospheric scatter mode is a brute force solution requiring high output powers of a kilowatt or more with big horn antennas.
Software can only do so much. I get the feeling the game changer for community radio networks will be a way of cheaply and reliably getting some antennas up very high. Weather that's multi-copters, tethered aerostats, or just up a tree in the yard it'll need obscure tech like single wire surface wave transmission lines sending RF power to implement it cheaply (coax and DC power are heavy and expensive).
A friend and myself are currently prototyping a solution where we transmit data using the near vertical incidence skywave (NVIS). Possibly the only option, when you want to avoid infrastructure at all costs. Of course you have the disadvantage of huge HF-antennas. To make this setup usable at all, we are trying with 20m long copper cables close to the ground. If this does not work we will try magnetic loop antennas.
Over there we are building an operating system for ESP32 which then controls the LoRa module. Some boards are already coming with LoRa built-in and is possible to talk with chinese manufacturers to customize them.
You cannot legally do high rate networks on HF NVIS.
Antenna size is problematic, but NVIS does not require the antenna to be high up in the air. Also the polarisation must not be vertical, so throwing a simple wire dipole on the ground, might actually do the job. But we will see, it's an experiment.
But this tends to get smaller and smaller because of higher throughput and higher capacity demands. 5G/mm-wave/densification means more, smaller cells.
In any case, the key to ubiquitous coverage is the cellular aspect: You don't build a taller mast with a more powerful transmitter. You add more cells.
It was really eye opening to me how much Rust’s language-level features (as opposed to std library features) really unlock the ability to do in an embedded/driver/kernel context with zero abstraction and overhead.
The most annoying part was making it generic over the MCU’s hardware. I ended up with function prototypes 20+ lines long with all the insidiously pervasive generic constraints tacked on a propagating everywhere but I think I would just rip those out and use &dyn instead as I don’t think it was worth the effort and hit to ergonomics it took to avoid the dynamic dispatch.
I asked around to see if anyone would be interested if I published the code at the time but didn’t really get any interest; I think I can still have it on my code server somewhere if someone would benefit from it.
[0]: at the time, these were the cheapest and most available with breakout boards going for a couple of dollars from the Chinese web. Adafruit has them for $10 but you can find them on the usual Asian sites for a dollar or two a piece, which is great because you can’t have too many!
———
Do note that there are a number of restrictions on how you can transmit on the ISM bands, which the LoRa transceivers use, at least in both the USA/Canada and EU. They notably do allow encrypted payloads, which isn’t allowed for a lot of the other free-for-all frequencies such as the HAM radio frequencies.
And an overall nice guy :)
[0] https://en.wikipedia.org/wiki/Hping [1] https://www.amazon.com/Wohpe-English-Rimmel-Salvatore-Sanfil...
Does this target a particular end-user device? It talks about OLEDs?
How does one find things on this network? Do you run TCP/IP on it?
The protocol is FreakWAN, so there’s no TCP/IP involved. LoRa devices send messages opportunistically and listen out for other messages they can understand and then maybe act on if they choose to. It’s about as simple as you can imagine.
This is pretty awesome. Gonna get a lora module and try it out.
Also you cannot control the frequencies according to the spec.
You need lower frequencies for range and control over those frequencies to not saturate the ether.
The bandwidth will be low for these radiomesh networks, but if you build a robust enough routing and get enough channels (300 with 5KHz separation) you can scale.
I'm going to use the upper part of the open 169MHz in Europe.
https://pine64.com/product/pinephone-pinephone-pro-pindio-lo...
Given that they're still not daily drivers due to patchy support for calls (last I checked) this would actually be a pretty cool use for them.
LoRa is not going to be useful for that at all. It's for small messages over long range, at long intervals (38 bytes sensor data, for example)/