Installing a new Repeater
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.
- Remove the node from the packaging.
- Charge the device fully using the USB-C port before proceeding.
- Verify that the solar panel and antenna connections are secure.
Flashing and configuring
Requirements
- A computer with a USB-C cable.
- Google Chrome (required for Web Serial API support).
Flashing the firmware
- Connect the node to your computer via USB-C.
- Open the MeshCore Web Flasher in Chrome.
- 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:
- Record the auto-generated public key. You will need it later to add the repeater to your companion contact list.
- Set the preset to EU/UK Narrow.
- Set the node's location on the map (latitude and longitude in decimal format, e.g.
52.xxxx, 4.xxxx). - 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.
Advertisement intervals
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:
- Open the MeshCore Web Flasher.
- Click the Console button (above the device list, on the right side) and connect to your device.
- At the command prompt, enter:
set prv.key YOUR_PRIVATE_KEY_HERE
- Type
rebootto restart the device. - 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:
- Verify that you can add the node to your companion contact list and exchange a test message.
- Confirm that the solar panel will face south (in the northern hemisphere) for optimal charging.
- Double-check that the antenna is firmly connected.