CanMesh

Reticulum LoRa mesh networking for Canada — 915 MHz

Documentation

Quick start

  1. Flash a board with Hopspot firmware
  2. Run ./setup.sh to install prnsd and configure Reticulum
  3. Connect to the network via LoRa, TCP, or I2P
  4. Use MeshChatX, Sideband, or Nomad Network for messaging

915 MHz radio profile

ParameterValue
Frequency915 MHz (915,000,000 Hz)
Bandwidth125 kHz
Spreading factorSF8
Coding rate4/5
TX power17 dBm (50 mW)

License-free in Canada under ISED RSS-247 (902–928 MHz ISM band). 17 dBm is well within the 30 dBm conducted power limit.

Reticulum config

Config file: ~/.reticulum/config

[[Hopspot-LoRa]]
  type = PrnsUsbAuto
  interface_enabled = Yes

PrnsUsbAuto is a singleton — one stanza auto-discovers all connected Hopspot boards. Radio parameters (frequency, bandwidth, SF, TX power) are configured on the board itself, not via config flags.

To relay traffic for other nodes (hilltop relay), set enable_transport = True in [reticulum].

systemd service

For persistent prnsd operation:

cp config/prnsd.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now prnsd

Batteries

The P1 takes 4× 18650 Li-ion rechargeable batteries (3.7V nominal, button top). Not NiMH — those are 1.2V and will not work. See the Seeed Wiki for installation instructions.

Why Hopspot (not microReticulum)?

The microReticulum/RNode firmware has a USB CDC bug on the P1: USE_TINYUSB is missing from the board's variant.h, so Serial maps to the hardware UART (GPS pins) instead of the USB CDC interface. rnodeconf cannot communicate with the board.

Hopspot (Prns) uses a vendor-specific USB protocol that works correctly. It also runs the full Reticulum stack on the board — the node can operate standalone (solar-powered, no host) as a relay.

Reference