ScotMesh RNS Network
Heltec Wireless Tracker V2
About this board
Maker: Heltec
Microcontroller: ESP32-S3 Radio: SX1262
Bands: 868 MHz (820–1020 MHz)
Firmware here: ScotMesh microReticulum firmware v1.86-scotmesh.6
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
SHA-256: 1799e313f51887eee0eb7af093390cb1b5c79dc24c78a92b45c6d900cdc96691
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 heltec_tracker_v2 && cd heltec_tracker_v2
python3 -m zipfile -e ../rnode_firmware_heltec_tracker_v2.zip .
python3 esptool.py --chip esp32s3 --port /dev/ttyACM0
--baud 921600 --before default_reset --after hard_reset
write_flash -z --flash_mode dio --flash_freq 80m
--flash_size 8MB
0x0 rnode_firmware_heltec_tracker_v2.bootloader
0x8000 rnode_firmware_heltec_tracker_v2.partitions
0xe000 rnode_firmware_heltec_tracker_v2.boot_app0
0x10000 rnode_firmware_heltec_tracker_v2.bin
On a Mac the port looks like /dev/cu.usbmodem1101. 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 esp32s3 --port /dev/ttyACM0 erase_flash and then do the provisioning below in full.
Flash it: Windows
Put rnode_firmware_heltec_tracker_v2.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 heltec_tracker_v2
tar -xf rnode_firmware_heltec_tracker_v2.zip -C heltec_tracker_v2
cd heltec_tracker_v2
..\esptool-windows-amd64\esptool.exe --chip esp32s3 ^
--port COM3 --baud 921600 --before default_reset ^
--after hard_reset write_flash -z --flash_mode dio ^
--flash_freq 80m --flash_size 8MB ^
0x0 rnode_firmware_heltec_tracker_v2.bootloader ^
0x8000 rnode_firmware_heltec_tracker_v2.partitions ^
0xe000 rnode_firmware_heltec_tracker_v2.boot_app0 ^
0x10000 rnode_firmware_heltec_tracker_v2.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/ttyACM0 -r --product c4 --model cb --hwrev 1
rnodeconf /dev/ttyACM0 -H b75a0e84835329d2976a51966335c4be1cbeb7cb3392494d26d6bb0565039221
This board only comes in one band: 868 MHz (820–1020 MHz), model code cb.
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, 22 dBm):
rnodeconf /dev/ttyACM0 -T --freq 869462500 --bw 125000 --txp 22 --sf 9 --cr 5
rnodeconf asks for the TX power again when it is over 17 dBm: type 22 and press Enter.
This is the ScotMesh profile for this band. Other ScotMesh nodes will only hear you if yours match.