Reticulum!
LAG`s effort to deploy a or partipate in the reticulum ecosystem.
Running your own communications infrastructure has obvious benefits. We live in a world of increasing digital censorship, and are rarely completely in charge of our communications. Even if we choose to use "better" alternatives to WhatsApp, Instagram, etc., we are still always completely reliant on the one underlying network, i.e. "The Internet". With the push of a button, "The Internet" may all of a sudden become unavailable. In places with oppressive regimes, this has not been uncommon. In the current political climate, it would not be surprising if any political system all of a sudden became repressive.
Natural disasters are another very important reason to have ways of communicating with each other. As we saw recently in the floods in Valencia, when disaster strikes, there are no more communication networks for civilians. It is obvious that it is crucial to be able to communicate with your peers when in an emergency: both for moral support; and to increase the safety and chances of survival.
The mesh network stack runs on various platforms. You can run it on your desktop, your home server, your mobile phone.
It can run on top of a wide variety of transport layers. It can run on normal IPv4 networks. However, for us the interesting part is that it also runs on high latency, low bandwidth radio links. These can be Internet of Things networks like LoRa, or packet radio systems using cheap handheld VHF radios. (One such radio is the infamous programmable Baofeng UV-5R.)
Workshops
second
- https://radar.squat.net/en/event/amsterdam/lag/2025-03-02/low-profile-and-low-energy-autonomous-networking-reticulum-ii-lets
More or less like the first time, since it was all a new group. Managed to go over the basics, and send a couple of messages around over lora
first
- https://radar.squat.net/en/event/amsterdam/lag/2025-01-25/low-profile-and-low-energy-autonomous-networking-reticulum
Bit of an intro day, quite diverse group in terms of experience and interest, we mostly spent time going over the basics of the networking protocol, and we ended with playing around a bit connecting some radios to our phones. managed to send
Rnode
Boards
Model | LoRa chip | Rnode model in rnodeconf | Purchase | Notes |
---|---|---|---|---|
Heltec Wireless Stick Lite V3 | SX1262 | heltec-v3 | buy | needs BLE to pair with sideband |
Heltec Wi-Fi LoRa 32 Oled | SX1262 | heltec-v3 | buy | |
LilyGO T-Beam V1.2 AXP2101 | SX1276 | T-beam v1.2 | buy | Has builtin charge controller and holder for 18650 |
Bluetooth
Pairing boards to andoid and using them in sideband is sometimes a bit of a pain, some things to keep in mind:
- Some boards use BLE, some dont, make sure you have to correct setting enabled
- you only need to pair to the board in android bluetooth settings, no need to "connect" (also you cant). Sideband will take care of things when the board is paired
- triple check your radio settings, for example, if you input a impossible frequency like 868000000 MHz (note the lack of a decimal symbol) sideband will happily accept, but will not be able to initialize the radio.
- some boards have a button to put the board in pairing mode, also the oled will give a visual feedback. other boards will need to receive a serial command to be put in paring mode. this can be done with
rnodeconf -b /dev/ttyUSBx # make sure bluetooth is enabled rnodeconf -p /dev/ttyUSBx # start pairing mode
Or by connecting the board to the phone via usb, and go to Hardware -> RNode -> Enable bluetooth/Start Pairing mode - if you try to pair to a board and get an error that the pin is incorrect, it means the board was not in pairing mode.
- make sure you use the latest version of sideband, the one in f-droid repos is usually not the latest version
Software
Sideband
Get
There is an fdroid repo here but it is not always the latest version.
Notes
- to apply any setting in sideband, one must go to the menu, and choose shutdown, and restart the application!
- The Sideband program will automatically use the closest propagation node it hears an annouce from, unless the user has manually chose a specific propagation node to be used. In this case, Sideband will always use that specific node, and that node only. When using propagation nodes, no message delivery notifications will be sent in return once the messages are received by the intended recipient. Currently, this is intentional, and done for privacy purposes. The functionality will be added later, but it needs to be done very carefully to protect user privacy and avoid metadata leaks.
For the last version check out the github releases
Nomadnet
Meshchat
Nodes
lr-sq-desktop01
This node contains an orange pi zero 3 1gb and a heltec v3 esp lora board with oled screen. the orange pi is configured to be a wifi access point. it is running the following services:
- RNSD - the reticulum networking deamon
- Nomadnet - by default it boots a screen session that you can ssh into, to browse nomadnet
- LXMFD - LXMF routing deamon, configure to be a transport node.
- Meshchat headless - web version of meshchat.
Enabled interfaces in the reticulum config are the default interface and lora interface: <code) ?Default Interface type = AutoInterface interface_enabled = True
Automatic node deployment
TODO Here you will find an ansible playbook and resources to make it easier to deploy nodes.
it is based on this board http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-3.html
based on this image: orange pi bookworm server
LAG Testnet
LoRa
There are no permantent nodes up anywhere, but for testing we are using theses settings at the moment:
- Frequency: 867.2 MHZ
- Bandwidth: 125 KHz
- Spreading factor: 7
- Coding Rate: 5
TCP
need to set up..
Addresses
Nodename | Location | Adress | Type | Notes | |
---|---|---|---|---|---|
lr-sq-desktop01 | undisclosed | bla | msg | desktop node that travels around | |
lr-sq-desktop01-prop | undisclosed | bla | prop | desktop node that travels around | |
lr-sq-desktop01-rnsh | undisclosed | 9886345c95c54f983b347b11a2b3d213 | rnsh | desktop node that travels around | |
lr-sq-outdoor01-rnsh | undisclosed | 5cbe9638fed36e45d802789e363029de | rnsh | outdoor node |
Links
Reticulum Ecosystem
- project page
- reticulum github
- rnode github firmware for the lora esp boards, original
- rnode github, firmware for the lora esp boards, community editon
- sideband, messaging app for android linux and macos
- LXMF, messaging protocol build ontop of reticulum
- Meshchat, LXMF client for linux, macos, and windows