Reticulum over MeshCore and Meshtastic
More actions
This page is for people who already have a MeshCore or Meshtastic radio and want to use it to reach Reticulum, with no internet connection and no RNode. If you have never heard of Reticulum, start with what Reticulum is and come back.
What you are actually doing
Reticulum runs on your computer as usual. Normally it reaches the network over the internet (Connecting to ScotMesh) or over an RNode. Here it uses your MeshCore or Meshtastic radio as its link instead.
Reticulum's traffic is cut into small pieces and sent on a separate, private channel on your radio. A ScotMesh gateway on the same channel puts the pieces back together and passes them on to the backbone. That gateway is at The Pole in Cadham, and it is listed on node maps as ScotMesh RNode Cadham.
Your radio keeps working for its own network at the same time. MeshCore or Meshtastic users around you never see the tunnel, because it runs on its own channel with its own key.
Is this for you?
| If you have… | Use |
|---|---|
| An internet connection, even a slow one | Connecting to ScotMesh. It is faster and costs no airtime. |
| An RNode, or a board you could flash as one | RNode. Reticulum runs natively on it and is many times faster. |
| Only a MeshCore or Meshtastic radio, within reach of the gateway | This page. |
Expect it to be slow. It is fine for messages (LXMF), the chat room and small Nomad Network pages. It is no good for files or voice.
The two routes
| Over MeshCore | Over Meshtastic | |
|---|---|---|
| Status | Working — gateway live at The Pole | Working — gateway live at The Pole since 17 September 2026. New, so tell us how it goes. |
| Your radio | MeshCore companion firmware v1.17 or later, over USB, Bluetooth or WiFi | Any Meshtastic node, over USB, Bluetooth or WiFi |
| Radio settings | UK/EU Narrow: 869.618 MHz, 62.5 kHz, SF8, CR 4/8 | EU_868, LongFast |
| Region | sco |
— |
| Software | MeshCore_Raw_Interface.py from ScotMesh/RNS_Over_Meshcore |
Meshtastic_Interface.py from ScotMesh/RNS_Over_Meshtastic
|
| Speed | At best a few hundred bytes a second | Slower: one piece of up to 155 bytes every 8 seconds on LongFast |
Before you start
- Reticulum installed on a computer (Installing Reticulum), or MeshChatX (Choosing a client).
- Your radio, connected to that computer.
- A path to the gateway: in range of The Pole, or reaching it through MeshCore repeaters that relay the
scoregion. - The tunnel channel details, in the table below.
Tunnel details
These are shared on purpose, so anyone can join the tunnel. The channel key only keeps the tunnel's traffic separate from ordinary channels; it is not what keeps you private. Reticulum encrypts everything you send end to end, whatever it travels over.
| MeshCore | Meshtastic | |
|---|---|---|
| Channel name | RNSTunnel |
RNS
|
| Secret | 38a46b4349a14b05c70328f444932033 |
in the link below |
| Add it with | Reticulum sets it on your radio for you (step 3) | this channel link — opens in the Meshtastic app and adds the channel next to your own |
| Region | sco |
— |
Over MeshCore
1. Set up the radio
- Flash companion firmware, v1.17 or later. Earlier versions lack the two commands the tunnel uses. Repeater or room server firmware will not work.
- Set the radio to UK/EU Narrow: 869.618 MHz, 62.5 kHz, SF8, coding rate 4/8.
- Pick a spare channel slot for the tunnel, such as 7. Reticulum writes its channel into that slot when it connects, so do not use 0: on most radios that is your Public channel, and it would be replaced.
A companion radio talks to one app at a time. While Reticulum is using it, your phone's MeshCore app cannot connect, and the other way round.
2. Get the interface
Download Interface/MeshCore_Raw_Interface.py from ScotMesh/RNS_Over_Meshcore and put it in Reticulum's interfaces folder:
| System | Folder |
|---|---|
| Linux, macOS | ~/.reticulum/interfaces/
|
| Windows | C:\Users\<you>\.reticulum\interfaces\
|
Create the folder if it is not there. The interface needs nothing beyond Reticulum itself, plus one library for your connection:
pip install pyserial # USB
pip install bleak # Bluetooth
Use ~/reticulum/bin/pip instead if you installed Reticulum in a virtual environment. WiFi (TCP) needs nothing extra.
3. Add it to your config
Add this block under [interfaces] in your Reticulum config file (where to find it: Connecting to ScotMesh). Keep exactly one of the three connection blocks.
[[ScotMesh over MeshCore]]
type = MeshCore_Raw_Interface
interface_enabled = yes
# USB
transport = serial
port = /dev/ttyUSB0 # Windows: COM3 or similar
baudrate = 115200
# Bluetooth - instead of the USB lines
# transport = ble
# ble_name = MeshCore # part of the radio's Bluetooth name
# WiFi - instead of the USB lines
# transport = tcp
# host = 192.168.1.50 # the radio's address
# tcp_port = 5000
# The ScotMesh tunnel
channel_idx = 7 # a spare slot, never 0
channel_name = RNSTunnel
channel_secret = 38a46b4349a14b05c70328f444932033
flood_scope = sco
# You are an end user, not a relay
can_route = no
Leave mode out: the default is right for an end user.
4. Start it and check
- Start Reticulum:
rnsd, or restart it if it was already running. - Run
rnstatus. ScotMesh over MeshCore should be listed as Up. - Look for the ScotMesh node. The first answer can take a minute or two over radio.
rnpath 10a839df2c50635bcb0c8a299b9ca0f8
A reply such as Path found … via … on MeshCore_Raw_Interface means you are through. From here everything in Services and addresses works, just slowly.
With MeshChatX instead
- Open Settings, then Interfaces, and install a custom interface module. Upload
MeshCore_Raw_Interface.py. - Add an interface of type
MeshCore_Raw_Interfacewith the same settings as the block above. - Restart when asked.
MeshChatX already includes the USB and Bluetooth libraries.
On an Android phone, Sideband can only use the WiFi (TCP) connection. See the fork's README for its service plugin.
Over Meshtastic
1. Set up the radio
- Any Meshtastic node on EU_868 with the LongFast preset, which is the default in the UK.
- Open the channel link on the phone or computer your node is paired with. It adds a channel called
RNSnext to your own. - In the Meshtastic app's channel list, note which slot
RNSlanded in. It is usually 1, the first slot after your primary channel.
Your normal channels keep working. The node can stay paired with your phone while Reticulum uses it over USB or WiFi.
2. Get the Meshtastic interface
Download Interface/Meshtastic_Interface.py from ScotMesh/RNS_Over_Meshtastic into Reticulum's interfaces folder (the same folder as for MeshCore). It needs the Meshtastic library:
pip install meshtastic
Use ScotMesh's copy, not the original. The original can only use your primary channel, and it sends pieces too big for the gateway.
3. Add the Meshtastic block to your config
Keep exactly one of the three connection lines.
[[ScotMesh over Meshtastic]]
type = Meshtastic_Interface
enabled = yes
port = /dev/ttyUSB0 # USB (Windows: COM3 or similar)
# tcp_port = 192.168.1.60 # WiFi: the node's address
# ble_port = Meshtastic_1234 # Bluetooth: the node's name
data_speed = 0 # LongFast
channel_index = 1 # the slot RNS landed in
hop_limit = 3
Leave mode out, as for MeshCore.
4. Start it and check it
As for MeshCore:
- Start
rnsd. - Check that ScotMesh over Meshtastic is Up in
rnstatus. - Run
rnpath 10a839df2c50635bcb0c8a299b9ca0f8.
Allow a few minutes: Meshtastic sends only one piece every 8 seconds.
Keeping the air clear
The UK band these radios use allows each transmitter only 10% of the time, and everyone shares it.
- Do not set
mode = gatewayon your end. A gateway pushes every route it knows onto the radio and can flood the channel. - Do not turn on
enable_transportjust for this. Your machine does not need to relay for others. - Send messages, not files. A single photo can hold the channel for many minutes.
- Keep
can_route = nounless ScotMesh has asked you to run a relay.
If it does not work
| What you see | Try |
|---|---|
The interface is not listed in rnstatus |
The file is not in the interfaces folder, or type is misspelt. Check the Reticulum log.
|
| Listed, but Down | Wrong port or address, or another app (your phone) is connected to the radio. |
| unsupported command in the log | The radio's firmware is older than v1.17. Update the companion firmware. |
Up, but rnpath never finds anything |
Wrong channel secret, wrong radio settings, or no path to The Pole. Check the secret against Tunnel details first, then the radio settings, then ask in the chat room whether anyone can hear you. |
| Your Public channel disappeared | channel_idx was 0. Pick a spare slot, then add the Public channel back in the MeshCore app.
|
| Meshtastic: Up, but nothing arrives | channel_index doesn't match the slot the RNS channel is in, or the node isn't on EU_868 LongFast.
|
See also
- ScotMesh/RNS_Over_Meshcore and ScotMesh/RNS_Over_Meshtastic — the interfaces' code
- RNode — the faster radio route
- Services and addresses