RNode: Difference between revisions
More actions
Added after the move to MediaWiki |
Drop the 433 MHz profile: it has been scrapped, ScotMesh is 868 MHz only |
||
| (One intermediate revision by the same user not shown) | |||
| Line 8: | Line 8: | ||
|- | |- | ||
! | ! | ||
! ScotMesh 868 | ! ScotMesh 868 | ||
|- | |- | ||
| '''Frequency''' | | '''Frequency''' | ||
| | | 869.4625 MHz | ||
|- | |- | ||
| '''Bandwidth''' | | '''Bandwidth''' | ||
| 125 kHz | | 125 kHz | ||
|- | |- | ||
| '''Spreading factor''' | | '''Spreading factor''' | ||
| 9 | | 9 | ||
|- | |- | ||
| '''Coding rate''' | | '''Coding rate''' | ||
| 4/5 | | 4/5 | ||
|- | |- | ||
| '''TX power''' | | '''TX power''' | ||
| 22 dBm | | 22 dBm | ||
|} | |} | ||
'''ScotMesh 868 moved from 867.5 MHz to 869.4625 MHz on 11 September 2026''' to keep within Ofcom's rules. It now sits in the UK's 869.40–869.65 MHz sub-band, which allows up to 500 mW ERP with a 10% duty cycle; the old frequency's sub-band allows only 25 mW. A radio still on 867.5 MHz cannot hear the network, so retune it: the flasher's Configure step, the node's Radio page, or <code>rnodeconf -T</code> below. | |||
As Reticulum config values, those are: | As Reticulum config values, those are: | ||
| Line 39: | Line 35: | ||
enabled = yes | enabled = yes | ||
port = /dev/ttyUSB0 | port = /dev/ttyUSB0 | ||
frequency = | frequency = 869462500 | ||
bandwidth = 125000 | bandwidth = 125000 | ||
txpower = 22 | txpower = 22 | ||
spreadingfactor = 9 | spreadingfactor = 9 | ||
codingrate = 5</syntaxhighlight> | codingrate = 5</syntaxhighlight> | ||
== Flashing a board == | == Flashing a board == | ||
| Line 64: | Line 49: | ||
# '''Connect''' and '''Flash''' — pick the port from the browser prompt; nRF52 boards are put into their bootloader automatically (press reset twice if that fails). | # '''Connect''' and '''Flash''' — pick the port from the browser prompt; nRF52 boards are put into their bootloader automatically (press reset twice if that fails). | ||
# '''Provision''' — the board's identity block and firmware hash are written and verified, the same as <code>rnodeconf --autoinstall</code>. | # '''Provision''' — the board's identity block and firmware hash are written and verified, the same as <code>rnodeconf --autoinstall</code>. | ||
# '''Configure''' — for an RNode radio only Bluetooth; the radio profile is set by the app you connect it to, so the ScotMesh values are shown for you to enter there. For a standalone node: the ScotMesh | # '''Configure''' — for an RNode radio only Bluetooth; the radio profile is set by the app you connect it to, so the ScotMesh values are shown for you to enter there. For a standalone node: the ScotMesh 868 profile, a name, its role and the identities allowed to manage it. | ||
If the board does not appear in the port list, hold its BOOT button while plugging it in, and check you are using a data USB cable rather than a charge-only one. | If the board does not appear in the port list, hold its BOOT button while plugging it in, and check you are using a data USB cable rather than a charge-only one. | ||
| Line 70: | Line 55: | ||
=== Standalone node (microReticulum) === | === Standalone node (microReticulum) === | ||
The same boards can run [https://github.com/ | The same boards can run [https://github.com/ScotMesh/microReticulum_Firmware microReticulum], the RNode firmware with a Reticulum transport stack built in. The board then ''is'' the node: it has its own identity, routes for others, serves a NomadNet page and can be managed over the mesh with <code>rnstatus -R</code> — no Raspberry Pi or computer attached. That is what ScotMesh uses for solar and hilltop relays; [[ScotMesh firmware]] explains what our build adds. Choose '''Standalone node''' in the flasher; the '''Seeed SenseCAP Solar Node P1''' (solar charger and battery built in) is the reference board and is built by ScotMesh — it does not exist in the upstream firmware. ''Reconfigure an existing node'' on the flasher's first screen connects over USB or Bluetooth to change settings later. | ||
The command-line route does the same job and works on any platform: | The command-line route does the same job and works on any platform: | ||
| Line 76: | Line 61: | ||
<syntaxhighlight lang="text">pip install rns | <syntaxhighlight lang="text">pip install rns | ||
rnodeconf --autoinstall | rnodeconf --autoinstall | ||
rnodeconf -T --freq | rnodeconf -T --freq 869462500 --bw 125000 --sf 9 --cr 5 --txp 22 /dev/ttyUSB0 | ||
rnodeconf -i /dev/ttyUSB0</syntaxhighlight> | rnodeconf -i /dev/ttyUSB0</syntaxhighlight> | ||
<code>--autoinstall</code> is interactive: it detects the board, confirms the model with you, and installs the correct signed firmware. The second command writes the ScotMesh defaults into the device. The third prints them back so you can check. | <code>--autoinstall</code> is interactive: it detects the board, confirms the model with you, and installs the correct signed firmware. The second command writes the ScotMesh defaults into the device. The third prints them back so you can check. | ||
| Line 90: | Line 75: | ||
* LilyGO T-Echo | * LilyGO T-Echo | ||
* RAK4631 | * RAK4631 | ||
* Seeed XIAO ESP32S3 with Wio-SX1262 ( | * Seeed XIAO ESP32S3 with Wio-SX1262 (868 version) | ||
* Homebrew RNode | * Homebrew RNode | ||
'''Buy the board for the band you want.''' | '''Buy the board for the band you want.''' ScotMesh uses 868 MHz only, and many boards are also sold for other bands. A board built for another band cannot be moved to 868 MHz by changing settings — the radio and the antenna are physically different parts. | ||
== Serial or Bluetooth == | == Serial or Bluetooth == | ||
Latest revision as of 13:36, 17 September 2026
An RNode is a LoRa board running RNode firmware. It is not a Meshtastic or MeshCore radio, though much of the same hardware can be reflashed into one. It is the standard way to put Reticulum on the air.
ScotMesh radio settings
Every radio on the network must use identical settings. This is not a tolerance thing: a board with a different spreading factor is completely deaf to the others, and nothing reports an error. If two of your radios cannot hear each other, check these before anything else.
| ScotMesh 868 | |
|---|---|
| Frequency | 869.4625 MHz |
| Bandwidth | 125 kHz |
| Spreading factor | 9 |
| Coding rate | 4/5 |
| TX power | 22 dBm |
ScotMesh 868 moved from 867.5 MHz to 869.4625 MHz on 11 September 2026 to keep within Ofcom's rules. It now sits in the UK's 869.40–869.65 MHz sub-band, which allows up to 500 mW ERP with a 10% duty cycle; the old frequency's sub-band allows only 25 mW. A radio still on 867.5 MHz cannot hear the network, so retune it: the flasher's Configure step, the node's Radio page, or rnodeconf -T below.
As Reticulum config values, those are:
# ScotMesh 868
[[ScotMesh RNode]]
type = RNodeInterface
enabled = yes
port = /dev/ttyUSB0
frequency = 869462500
bandwidth = 125000
txpower = 22
spreadingfactor = 9
codingrate = 5
Flashing a board
The easiest way is rnode.scotmesh.net, the ScotMesh Flasher. It flashes the board from your browser over USB — nothing to install. Open it in Chrome or Edge on a desktop (Firefox and Safari do not implement WebSerial, and it will not work on a phone), plug the board in, and follow the steps:
- What are you building? — an RNode radio (for a computer or phone running Sideband, MeshChatX or NomadNet) or a standalone node (a self-contained microReticulum transport node — see below).
- Your hardware — pick the board and its band.
- Firmware — the latest release is fetched for you from the site's own mirror and its checksum verified.
- Connect and Flash — pick the port from the browser prompt; nRF52 boards are put into their bootloader automatically (press reset twice if that fails).
- Provision — the board's identity block and firmware hash are written and verified, the same as
rnodeconf --autoinstall. - Configure — for an RNode radio only Bluetooth; the radio profile is set by the app you connect it to, so the ScotMesh values are shown for you to enter there. For a standalone node: the ScotMesh 868 profile, a name, its role and the identities allowed to manage it.
If the board does not appear in the port list, hold its BOOT button while plugging it in, and check you are using a data USB cable rather than a charge-only one.
Standalone node (microReticulum)
The same boards can run microReticulum, the RNode firmware with a Reticulum transport stack built in. The board then is the node: it has its own identity, routes for others, serves a NomadNet page and can be managed over the mesh with rnstatus -R — no Raspberry Pi or computer attached. That is what ScotMesh uses for solar and hilltop relays; ScotMesh firmware explains what our build adds. Choose Standalone node in the flasher; the Seeed SenseCAP Solar Node P1 (solar charger and battery built in) is the reference board and is built by ScotMesh — it does not exist in the upstream firmware. Reconfigure an existing node on the flasher's first screen connects over USB or Bluetooth to change settings later.
The command-line route does the same job and works on any platform:
pip install rns
rnodeconf --autoinstall
rnodeconf -T --freq 869462500 --bw 125000 --sf 9 --cr 5 --txp 22 /dev/ttyUSB0
rnodeconf -i /dev/ttyUSB0
--autoinstall is interactive: it detects the board, confirms the model with you, and installs the correct signed firmware. The second command writes the ScotMesh defaults into the device. The third prints them back so you can check.
Supported boards
- Heltec LoRa32 v2, v3, v4
- Heltec Mesh Node T114
- LilyGO LoRa32 v1.0, v2.0, v2.1
- LilyGO LoRa32 T3S3
- LilyGO T-Beam, T-Beam Supreme
- LilyGO T-Deck
- LilyGO T-Echo
- RAK4631
- Seeed XIAO ESP32S3 with Wio-SX1262 (868 version)
- Homebrew RNode
Buy the board for the band you want. ScotMesh uses 868 MHz only, and many boards are also sold for other bands. A board built for another band cannot be moved to 868 MHz by changing settings — the radio and the antenna are physically different parts.
Serial or Bluetooth
Over USB there is nothing to configure: the board appears as a serial port and Reticulum talks to it. That is the right choice for a node that stays in one place.
For a phone, or a board you would rather not tether, use the Bluetooth buttons on rnode.scotmesh.net, or from the command line:
rnodeconf -b /dev/ttyUSB0 # Bluetooth on
rnodeconf -p /dev/ttyUSB0 # pairing mode
rnodeconf -B /dev/ttyUSB0 # Bluetooth off
Not every supported board has Bluetooth. An Android phone with Sideband and an RNode paired over Bluetooth is a complete off-grid messenger with no phone network involved.
Legal
Transmit power and transmit time are both regulated, and the limits differ by band and sub-band. The figures above are what ScotMesh uses; confirm what applies to your situation before transmitting.
If you are operating under an amateur licence, set id_callsign and id_interval on the interface so it identifies periodically. Set airtime_limit_short and airtime_limit_long to keep within duty-cycle limits — they are easy to exceed on a busy link.