// lora network
An RNode is a LoRa transceiver with open firmware that speaks the KISS protocol over USB, Bluetooth LE or a TCP bridge. The radio does the modulation, while Reticulum on top handles addressing, encryption and routing.
LoRa is the slow lane of the network, and the layer that lets you build coverage without existing infrastructure. See antennas for tips on placement and range. Throughput is measured in hundreds of bytes per second, not kilobits, and a frame can be on air for seconds up to a minute.
A common assumption, especially for people coming from MeshCore or Meshtastic, is that you just put down a LoRa board and it becomes a working node by itself. With Reticulum it usually works differently.
In most setups an RNode is only the radio interface. Behind it you still need a host running Reticulum: a phone, computer, server or Raspberry Pi. That host has to be connected to the radio over USB, Bluetooth or your local network.
In short: without a host, or a network connection to that host, you do not have a usable Reticulum node.
There is one exception: a Heltec V4 with firmware based on microReticulum, such as RTNode. The board then runs the node itself and you do not need a computer or Raspberry Pi. With WiFi it forwards LoRa traffic to the internet. Without WiFi it works as a LoRa only repeater, for example with a solar panel on a roof.
All operators must use the same parameters. Two RNodes on the same frequency but a different spreading factor cannot see each other. We use 869.463 MHz to avoid interfering with Meshtastic and MeshCore on 868.0 MHz.
| Frequency | 869.463 MHz |
| Bandwidth | 125 kHz |
| Spreading Factor | SF8 |
| Coding Rate | 5 |
| Range | 10-20 km |
[[ReticulumNet LoRa]]
type = RNodeInterface
port = /dev/ttyUSB0
frequency = 869463000
bandwidth = 125000
spreadingfactor = 8
codingrate = 5
A higher SF is slower but reaches further. Nodes on different SFs cannot hear each other. ReticulumNet uses SF8 as a compromise between range and throughput.
| SF | Range | Speed | Use |
|---|---|---|---|
| SF7 | ~5-10 km | Fastest | City, short distances |
| SF8 | ~10-20 km | Good | ReticulumNet default |
| SF9 | ~15-25 km | Reasonable | Rural areas |
| SF10 | ~20-30 km | Slow | Long distances |
| SF11 | ~25-35 km | Very slow | Extreme distances |
| SF12 | ~30+ km | Slowest | Maximum range |
An RNode connects to your host over USB serial, a WiFi TCP bridge or Bluetooth LE. WiFi is handy if you want the radio by the window and your computer somewhere else. During flashing you provide WiFi credentials; after that the RNode connects to your network automatically.
| Transport | When | Config |
|---|---|---|
| USB serial | Most reliable. Board straight to your computer. | port = /dev/ttyUSB0 |
| TCP bridge | Board over WiFi. Port 7633 by default. | port = tcp://192.168.1.50 |
| Bluetooth LE | Mobile use. Pair through the app. | port = ble://rnoded45d |
RNode TCP is not the same as a TCP Client interface. A TCP Client connects to another Reticulum node; RNode TCP connects to the radio's KISS control stream. Packets still travel over LoRa.
If you want to place a node in a good radio location, for example by a window, in the attic or close to the roof, a Heltec LoRa32 V4 is often a practical choice, because you can hang it on your local network over WiFi.
Without WiFi you usually have to run a USB cable to the host. A Heltec V4 you can put in a good spot for radio, as long as there is WiFi coverage. That WiFi connection goes to a host on your network, or you run microReticulum directly on the Heltec itself.
For a full step-by-step guide, including flashing, WiFi configuration and running the Heltec as a standalone node, see Heltec V4 as a LoRa node over WiFi.
| Situation | Why the Heltec V4 is handy |
|---|---|
| Board by the window or high in the house | You do not have to run a long USB cable to your host if there is WiFi coverage. |
| Host is somewhere else in the house | The radio talks to your server or Raspberry Pi on the same network over WiFi/TCP. |
| Entry point for new Reticulum users | You still need a host and a network connection, but the radio can go anywhere with WiFi coverage. |
Reticulum uses multiple interfaces at once. Combine LoRa for local range with an internet connection to the backbone network. Messages automatically take the best route. If the internet drops, Reticulum switches over to LoRa.
# LoRa + internet in one config
[[ReticulumNet LoRa]]
type = RNodeInterface
port = tcp://192.168.1.50
frequency = 869463000
bandwidth = 125000
spreadingfactor = 8
codingrate = 5
[[ReticulumNet Internet]]
type = TCPClientInterface
enabled = yes
target_host = example.nl
target_port = 4242