ScotMesh RNS Network
LilyGO LoRa32 V2.1 (T3)
About this board
Maker: LilyGO
Microcontroller: ESP32 Radio: SX1276 / SX1278
Bands: 433 MHz (410–525 MHz), 868 MHz (820–1020 MHz)
Firmware here: RNode firmware 1.86, ScotMesh microReticulum firmware v1.86-scotmesh.6
RNode firmware 1.86
An RNode: a LoRa radio for a computer or phone running Reticulum. The computer or phone sets the radio.
Download
rnode_firmware_lora32v21.zip 2.9 MB
SHA-256: e51c748169d25d2234a69c1e6a0ea1266fac8dd714de68f8f7b647794016c843
Easiest: rnodeconf autoinstall, offline
rnodeconf can flash and set up this board in one go without internet, if you give it the firmware and its release hash first. You need rnodeconf and pyserial from the Tools page. Linux and macOS:
mkdir -p ~/.config/rnodeconf/update/1.86
cp rnode_firmware_lora32v21.zip ~/.config/rnodeconf/update/1.86/
echo "1.86 e51c748169d25d2234a69c1e6a0ea1266fac8dd714de68f8f7b647794016c843" > ~/.config/rnodeconf/update/1.86/rnode_firmware_lora32v21.zip.version
rnodeconf /dev/ttyUSB0 --autoinstall --nocheck --fw-version 1.86
Windows (Command Prompt):
mkdir "%USERPROFILE%\.config\rnodeconf\update\1.86"
copy rnode_firmware_lora32v21.zip "%USERPROFILE%\.config\rnodeconf\update\1.86"
echo 1.86 e51c748169d25d2234a69c1e6a0ea1266fac8dd714de68f8f7b647794016c843> "%USERPROFILE%\.config\rnodeconf\update\1.86\rnode_firmware_lora32v21.zip.version"
rnodeconf COM3 --autoinstall --nocheck --fw-version 1.86
It asks what the board is and which band, flashes it, then does the provisioning below for you. The rest of this section is for doing it by hand.
Flash it: Linux and macOS
Unzip the firmware into its own folder and run the esptool.py that comes inside it. You need Python 3 with pyserial (Tools page).
mkdir lora32v21 && cd lora32v21
python3 -m zipfile -e ../rnode_firmware_lora32v21.zip .
python3 esptool.py --chip esp32 --port /dev/ttyUSB0
--baud 921600 --before default_reset --after hard_reset
write_flash -z --flash_mode dio --flash_freq 80m
--flash_size 4MB
0x1000 rnode_firmware_lora32v21.bootloader
0x8000 rnode_firmware_lora32v21.partitions
0xe000 rnode_firmware_lora32v21.boot_app0
0x10000 rnode_firmware_lora32v21.bin
0x210000 console_image.bin
On a Mac the port looks like /dev/cu.usbserial-0001. If writing fails at 921600 baud, use --baud 115200.
No Python? Use the standalone esptool from the Tools page: in place of python3 esptool.py, run ../esptool-linux-amd64/esptool (or the folder for your Mac or ARM computer).
Flash it: Windows
Put rnode_firmware_lora32v21.zip and esptool-v4.12.0-windows-amd64.zip (Tools page) in the same folder, open Command Prompt there (type cmd in the Explorer address bar and press Enter), then:
tar -xf esptool-v4.12.0-windows-amd64.zip
mkdir lora32v21
tar -xf rnode_firmware_lora32v21.zip -C lora32v21
cd lora32v21
..\esptool-windows-amd64\esptool.exe --chip esp32 --port COM3 ^
--baud 921600 --before default_reset --after hard_reset ^
write_flash -z --flash_mode dio --flash_freq 80m ^
--flash_size 4MB ^
0x1000 rnode_firmware_lora32v21.bootloader ^
0x8000 rnode_firmware_lora32v21.partitions ^
0xe000 rnode_firmware_lora32v21.boot_app0 ^
0x10000 rnode_firmware_lora32v21.bin ^
0x210000 console_image.bin
Your port is in Device Manager under Ports (COM & LPT).
Set up the board (provisioning)
The firmware will not start its radio until the board's EEPROM holds what the board is (product, model, hardware revision) and the hash of the firmware you just flashed. How to flash explains why. With rnodeconf installed (Tools):
rnodeconf -k
rnodeconf /dev/ttyUSB0 -r --product b1 --model b9 --hwrev 1
rnodeconf /dev/ttyUSB0 -H 9219578778db52d5491291da0f4a1d7676ae81ad15995df0a914a2eba001fbe0
Model code by band: b4 for 433 MHz (410–525 MHz), b9 for 868 MHz (820–1020 MHz). Use the one for your board's band.
The first line makes a signing key; you only need it once on each computer. Skip the second line if the board has been set up before: the EEPROM survives a normal reflash. The third line is needed after every flash. Wait 5 seconds after it before you reset or unplug the board.
On Windows use the COM port instead, for example COM3.
ScotMesh microReticulum firmware v1.86-scotmesh.6
A standalone Reticulum node with its own identity. It needs no computer once it is set up.
Download
rnode_firmware_lora32v21.zip 3.2 MB
SHA-256: 12e4936a3d90c09512651e524c67ff27ee8935131db6333d9eaf4a160699e101
Flash it: Linux and macOS
Unzip the firmware into its own folder and run the esptool.py that comes inside it. You need Python 3 with pyserial (Tools page).
mkdir lora32v21 && cd lora32v21
python3 -m zipfile -e ../rnode_firmware_lora32v21.zip .
python3 esptool.py --chip esp32 --port /dev/ttyUSB0
--baud 921600 --before default_reset --after hard_reset
write_flash -z --flash_mode dio --flash_freq 80m
--flash_size 4MB
0x1000 rnode_firmware_lora32v21.bootloader
0x8000 rnode_firmware_lora32v21.partitions
0xe000 rnode_firmware_lora32v21.boot_app0
0x10000 rnode_firmware_lora32v21.bin
On a Mac the port looks like /dev/cu.usbserial-0001. If writing fails at 921600 baud, use --baud 115200.
No Python? Use the standalone esptool from the Tools page: in place of python3 esptool.py, run ../esptool-linux-amd64/esptool (or the folder for your Mac or ARM computer).
The console image is left out on purpose: a ScotMesh node keeps its own data in that part of the flash. To start from scratch (new identity, EEPROM wiped), first run python3 esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash and then do the provisioning below in full.
Flash it: Windows
Put rnode_firmware_lora32v21.zip and esptool-v4.12.0-windows-amd64.zip (Tools page) in the same folder, open Command Prompt there (type cmd in the Explorer address bar and press Enter), then:
tar -xf esptool-v4.12.0-windows-amd64.zip
mkdir lora32v21
tar -xf rnode_firmware_lora32v21.zip -C lora32v21
cd lora32v21
..\esptool-windows-amd64\esptool.exe --chip esp32 --port COM3 ^
--baud 921600 --before default_reset --after hard_reset ^
write_flash -z --flash_mode dio --flash_freq 80m ^
--flash_size 4MB ^
0x1000 rnode_firmware_lora32v21.bootloader ^
0x8000 rnode_firmware_lora32v21.partitions ^
0xe000 rnode_firmware_lora32v21.boot_app0 ^
0x10000 rnode_firmware_lora32v21.bin
Your port is in Device Manager under Ports (COM & LPT).
Set up the board (provisioning)
The firmware will not start its radio until the board's EEPROM holds what the board is (product, model, hardware revision) and the hash of the firmware you just flashed. How to flash explains why. With rnodeconf installed (Tools):
rnodeconf -k
rnodeconf /dev/ttyUSB0 -r --product b1 --model b9 --hwrev 1
rnodeconf /dev/ttyUSB0 -H 57563c531fd5da33c0e30d808a6bab7a468eaec42cc6cab4c479e403d7846d3b
Model code by band: b4 for 433 MHz (410–525 MHz), b9 for 868 MHz (820–1020 MHz). Use the one for your board's band.
The first line makes a signing key; you only need it once on each computer. Skip the second line if the board has been set up before: the EEPROM survives a normal reflash. The third line is needed after every flash. Wait 5 seconds after it before you reset or unplug the board.
On Windows use the COM port instead, for example COM3.
Put it on the air
A standalone node needs its radio settings. With internet, the web flasher at rnode.scotmesh.net (Reconfigure) or the RNode Console will set it up, including the node's name and admin settings. Without internet, rnodeconf stores the radio settings and switches the node into transport mode, which is what the web flasher does over USB:
ScotMesh 868 (869.462 MHz, 125 kHz, SF9, 4/5, 17 dBm):
rnodeconf /dev/ttyUSB0 -T --freq 869462500 --bw 125000 --txp 17 --sf 9 --cr 5
ScotMesh 433 (433.775 MHz, 125 kHz, SF8, 4/5, 7 dBm):
rnodeconf /dev/ttyUSB0 -T --freq 433775000 --bw 125000 --txp 7 --sf 8 --cr 5
These are the ScotMesh profiles. Other ScotMesh nodes will only hear you if yours match.