Installing a new Repeater

From NodeNet
Revision as of 10:44, 23 June 2026 by Douwe (talk | contribs) (→‎Region settings)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Look here to update a note.

SenseCap Solar Node: Setup and Configuration

This page describes how to set up a SenseCap solar node running MeshCore firmware as a repeater.

Quick reference

Command and Value
set tx 22
set agc.reset.interval 4
set multi.acks 1
set rxdelay 3
set flood.advert.interval 168
set advert.interval 240
set path.hash.mode 2
set radio.rxgain on
gps off
set loop.detect minimal
set dutycycle 10

Set location with set lat / set lon, set a strong admin password, and ensure your public key prefix is unique (check MeshCore Analyzer). See sections below for detailed explanations.

Hardware preparation

The setup process is detailed in the booklet included in the box.

  1. Remove the node from the packaging.
  2. Charge the device fully using the USB-C port before proceeding.
  3. Verify that the solar panel and antenna connections are secure.

Flashing and configuring

Offline configuration option

Requirements

  • A computer with a USB-C cable.
  • Google Chrome (required for Web Serial API support).

Flashing the firmware

  1. Connect the node to your computer via USB-C.
  2. Open the MeshCore Web Flasher in Chrome.
  3. Follow the on-screen instructions to flash the firmware.

Note: Repeaters cannot be configured through the MeshCore companion app. Use the MeshCore online configuration tool instead.


Initial configuration

During setup, complete the following steps:

  1. Record the auto-generated public key. You will need it later to add the repeater to your companion contact list.
  2. Set the preset to EU/UK Narrow.
  3. Set the node's location on the map (latitude and longitude in decimal format, e.g. 52.xxxx, 4.xxxx).
  4. Set the location advertisement mode to prefs (via CLI: set advert.loc prefs). This includes the manually entered coordinates in advertisement packets without requiring the GPS module to be active, which saves power on a fixed deployment.

Node identity

Name

Choose a name that indicates the node's physical location, such as a landmark, neighbourhood, or nearby cross streets. This helps other users identify the repeater on the mesh.

Public key prefix

The first two characters of the public key serve as the repeater's prefix on the network. This prefix is used in path tracing and routing, so it is helpful (though not strictly required) that it is unique within your local mesh.

To check whether your prefix is already in use, browse the repeater list on the MeshCore Analyzer. If your prefix collides with an existing repeater, you can generate a new key pair with a specific prefix using the MeshCore Custom Key Generator. Copy and save both the new public key and private key. These will be applied later via the web console (see #Setting private and public keys).

Note: With path.hash.mode set to 1 (2-byte) or 2 (3-byte), the risk of prefix collisions is greatly reduced. As adoption of firmware 1.14+ increases across the mesh, unique 1-byte prefixes will become less critical. See #Path hash mode for details.

Passwords

Set a strong guest password and admin password. Repeaters can be administered remotely over the mesh from the MeshCore app, so weak passwords pose a security risk.

CLI settings

The following settings are applied via the MeshCore web console or configuration tool. Each setting is explained below.

Transmit power

set tx 22

Sets the LoRa transmit power in dBm. The SenseCap Solar Node uses a Wio-SX1262 module (based on the Semtech SX1262 chip) with no external power amplifier. The maximum output of this chip is +22 dBm (approximately 158 mW conducted power).

Note: For EU operation on the 869.4–869.65 MHz sub-band, the regulatory limit is 500 mW ERP. Whether a given TX setting is compliant depends on conducted power plus antenna gain minus cable losses. With the stock antenna, set tx 22 keeps the node well within this limit. If you connect a high-gain external antenna, you may need to reduce the TX value to remain compliant.

AGC reset interval

set agc.reset.interval 4

Sets the interval (in seconds, rounded to a multiple of 4) at which the receiver's Automatic Gain Control (AGC) is reset. Default is 0 (disabled).

The AGC adjusts the receiver's sensitivity based on incoming signal strength. After exposure to a strong nearby signal, the AGC may reduce gain and fail to recover, effectively making the receiver less sensitive ("deaf"). Periodically resetting the AGC restores normal sensitivity. This is a low-cost operation. A value of 4 (the minimum non-zero setting) provides frequent resets.

Multi ACKs

set multi.acks 1

Enables (1) or disables (0) the double acknowledgement feature. Default is 0.

When enabled, the node sends each acknowledgement packet twice. This increases the probability that the sender receives confirmation of message delivery, which is useful in environments where packet loss is common due to distance, obstacles, or interference.

Receive delay

set rxdelay 3

Sets an experimental receive delay base (range 0–20, default 0). When set above 0, the repeater introduces a short delay before retransmitting a received packet. The length of the delay is based on the signal quality of the incoming packet: stronger signals result in shorter delays, weaker signals result in longer delays.

This mechanism allows repeaters that received a packet via a strong, direct path to retransmit first, while repeaters that received the same packet via a weaker or longer path hold off. The result is more orderly packet propagation across the mesh. A value of 3 is a moderate setting.

GPS

The SenseCap Solar Node P1-Pro includes a built-in XIAO L76K GPS module (the P1 variant does not; users must install one separately). In MeshCore repeater firmware, the GPS can be controlled via the serial console using the gps command group:

  • gps — Show GPS status (on/off, fix, satellite count).
  • gps on / gps off — Toggle GPS power.
  • gps sync — Sync the node's clock with the GPS time.
  • gps save — Store the current GPS coordinates as the node's latitude and longitude in preferences.

The location advertisement policy (how the node includes its position in adverts) is configured through the MeshCore configuration tool or the MeshCore companion app, not via the serial CLI. The options are:

  • none — Do not include location in adverts.
  • share — Include the live GPS position in adverts.
  • prefs — Include the manually stored latitude and longitude in adverts, without using the GPS module.

For a fixed repeater deployment where the location does not change, prefs is the recommended setting. Set the node's coordinates once (either via the config tool or with gps save after getting a fix), then disable the GPS with gps off to save power.

Auto Advert Interval (Flood): 168 hours
Auto Advert Interval (Zero Hop): 240 hours

The flood advert interval controls how often the repeater sends an advertisement packet that propagates across the entire mesh. A high value reduces network traffic. The maximum allowed value is 168 hours.

The zero-hop advert interval controls how often the repeater sends a local advertisement that is not forwarded by other nodes. This helps nearby companions discover the repeater without adding to mesh-wide traffic.

Radio settings

All repeaters and clients on the network must use identical radio parameters to communicate. The EU/UK Narrow preset uses the following values:

Parameter Value Description
Frequency 869.618 MHz Within the EU 869.4–869.65 MHz sub-band (500 mW ERP, duty-cycle restrictions apply).
Bandwidth 62.5 kHz A narrow bandwidth. Improves receiver sensitivity and range at the cost of lower data throughput.
Spreading Factor 8 Controls how much each data bit is spread across radio symbols. SF8 is a mid-range value that balances data speed and range. Higher SFs (e.g. SF12) extend range significantly but reduce throughput and increase time on air. Each step up in SF roughly doubles the transmission time for the same payload.
Coding Rate 4/8 The forward error correction ratio. For every 4 bits of data, 4 additional bits of error correction are transmitted. This is the maximum redundancy setting in LoRa, meaning half of all transmitted data serves error correction. It maximises link reliability in noisy or weak-signal conditions, at the cost of halving effective throughput.

This combination of narrow bandwidth, moderate spreading factor, and maximum coding rate is designed to prioritise range and reliability over speed, which suits a sparse repeater network.

Setting private and public keys

If you generated a new key pair (because the auto-generated prefix was not unique), apply it now:

  1. Open the MeshCore Web Flasher.
  2. Click the Console button (above the device list, on the right side) and connect to your device.
  3. At the command prompt, enter:
    set prv.key YOUR_PRIVATE_KEY_HERE
  4. Type reboot to restart the device.
  5. After the device reboots, verify the key by running:
    get prv.key

Path hash mode

Path hash mode controls the size of the ID/hash encoding used in repeater advertisements. Larger hashes reduce the chance of prefix collisions on the network but require firmware version 1.14 or newer on all nodes in the mesh to propagate correctly.

  • Check the current setting: get path.hash.mode (default is 0, meaning 1-byte hashes).
  • Set to 2-byte hashes: set path.hash.mode 1
  • Set to 3-byte hashes: set path.hash.mode 2

Note: Firmware versions older than 1.14 will drop packets with multi-byte path hashes. Only increase the hash size once the majority of repeaters in your mesh have been updated.

Region settings

region put eu region put nl region put nl-nh nl region put nl-ams nl region put nl-nh-ams nl-nh region denyf eu region denyf nl region allowf nl-nh region allowf nl-ams region allowf nl-nh-ams region default nl-nh region home nl-nh-ams region save

RX Boosted Gain (firmware v1.14.1+)

The SX1262 radio chip supports an RX Boosted Gain mode, which improves receiver sensitivity by approximately 3 dB at the cost of slightly higher power consumption. For a repeater, this means the node can detect weaker signals from more distant nodes — roughly 1.6 times the receive coverage compared to the power-saving mode.

In firmware versions prior to 1.14.1, boosted gain was always enabled. Firmware v1.14.1 introduced the radio.rxgain setting, but due to a bug (#2118), upgrading from an older version without erasing the device causes RX Boosted Gain to silently default to OFF instead of ON. A fresh install is not affected.

After upgrading to v1.14.1 or later, verify and correct this setting:

get radio.rxgain
set radio.rxgain on

Pre-deployment checklist

Before installing the node at its intended location:

  1. Verify that you can add the node to your companion contact list and exchange a test message.
  2. Confirm that the solar panel will face south (in the northern hemisphere) for optimal charging.
  3. Double-check that the antenna is firmly connected.