// community mesh
You build a community mesh as soon as the network grows beyond one person or a single board. Think of a neighborhood, a campus or a city, with multiple operators, shared radio settings and one or more gateways to the backbone.
A community mesh is a mix of node types:
| Node type | What it does |
|---|---|
| Edge nodes | RNodes, Ratdecks, laptops with a LoRa radio. They only speak over the air and depend on the rest of the mesh to reach beyond their radio horizon. |
| Transport routers | Always-on nodes, usually a Raspberry Pi or SBC with an RNode. They forward packets between LoRa neighbors and announce paths on behalf of edge devices that come and go. |
| IP gateways | A subset of transport routers that also have an internet connection. They bridge the local LoRa segment to wider Reticulum over TCP. Without at least one gateway, the mesh is limited to its radio range. |
Aim for more than one gateway and more than one operator. Then nobody owns the network and it does not depend on one person.
Two RNodes on the same frequency but with a different spreading factor do not see each other. Before anyone deploys, the operators have to agree on four numbers:
| Parameter | ReticulumNet default | Notes |
|---|---|---|
| Frequency | 869.463 MHz | EU band, 869.463 (EU sub-band with higher allowed TX power) |
| Bandwidth | 125 kHz | Wider is faster but shorter range |
| Spreading Factor | SF8 | Range/throughput compromise |
| Coding Rate | 5 | Higher corrects more errors but costs more airtime |
Write the parameters down and make sure every operator uses them. If one node differs, it drops out of the mesh without any warning.
A gateway is a transport node with both a LoRa interface and an internet interface:
# Gateway config: LoRa + internet
[reticulum]
enable_transport = yes
[interfaces]
[[LoRa]]
type = RNodeInterface
port = /dev/ttyUSB0
frequency = 869463000
bandwidth = 125000
spreadingfactor = 8
codingrate = 5
[[Internet]]
type = TCPClientInterface
target_host = voorbeeld.nl
target_port = 4242
Use /dev/serial/by-id/... paths for USB radios. Device numbers are not stable across reboots. Run as a systemd service for automatic restart. See set up a node.
Each operator who adds a transport node extends the range. Each extra gateway is a second route to the internet if one goes down.
When the mesh is large enough for multiple LoRa segments that do not reach each other directly, gateways connect the segments over the internet. That is how ReticulumNet is set up: local LoRa segments, connected via a backbone of transport nodes on the internet.
Add a propagation node (lxmd -p) if you want to store messages for offline members. Without a propagation node, message delivery is best-effort and synchronous.