MeshCore Repeater & Room Server CLI Commands
Navigation
- Operational
- Neighbors
- Statistics
- Logging
- Information
- Configuration
- Radio
- System
- Routing
- ACL
- Region Management
- GPS
- Sensors
- Bridge
Operational
Reboot the node
Usage:
- reboot
Reset the clock and reboot
Usage:
- clkreboot
Sync the clock with the remote device
Usage:
- clock sync
Display current time in UTC
Usage:
- clock
Set the time to a specific timestamp
Usage:
- time <epoch_seconds>
Parameters:
- epoc_seconds: Unix epoc time
Send a flood advert
Usage:
- advert
Start an Over-The-Air (OTA) firmware update
Usage:
- start ota
Erase/Factory Reset
Usage:
- erase
Serial Only: Yes
Warning: This is destructive!
Neighbors (Repeater Only)
List nearby neighbors
Usage:
- neighbors
Note: The output of this command is limited to the 8 most recent adverts.
Note: Each line is encoded as {pubkey-prefix}:{timestamp}:{snr*4}
Remove a neighbor
Usage:
- neighbor.remove <pubkey_prefix>
Parameters:
- pubkey_prefix: The public key of the node to remove from the neighbors list
Statistics
Clear Stats
Usage: clear stats
System Stats - Battery, Uptime, Queue Length and Debug Flags
Usage:
- stats-core
Serial Only: Yes
Radio Stats - Noise floor, Last RSSI/SNR, Airtime, Receive errors
Usage: stats-radio
Serial Only: Yes
Packet stats - Packet counters: Received, Sent
Usage: stats-packets
Serial Only: Yes
Logging
Begin capture of rx log to node storage
Usage: log start
End capture of rx log to node sotrage
Usage: log stop
Erase captured log
Usage: log erase
Print the captured log to the serial terminal
Usage: log
Serial Only: Yes
Info
Get the Version
Usage: ver
Show the hardware name
Usage: board
Configuration
Radio
View or change this node's radio parameters
Usage:
- get radio
- set radio <freq>,<bw>,<sf>,<cr>
Parameters:
- freq: Frequency in MHz
- bw: Bandwidth in kHz
- sf: Spreading factor (5-12)
- cr: Coding rate (5-8)
Set by build flag: LORA_FREQ, LORA_BW, LORA_SF, LORA_CR
Default: 869.525,250,11,5
Note: Requires reboot to apply
View or change this node's transmit power
Usage:
- get tx
- set tx <dbm>
Parameters:
- dbm: Power level in dBm (1-22)
Set by build flag: LORA_TX_POWER
Default: Varies by board
Notes: This setting only controls the power level of the LoRa chip. Some nodes have an additional power amplifier stage which increases the total output. Referr to the node's manual for the correct setting to use. Setting a value too high may violate the laws in your country.
Change the radio parameters for a set duration
Usage:
- tempradio <freq>,<bw>,<sf>,<cr>,<timeout_mins>
Parameters:
- freq: Frequency in MHz (300-2500)
- bw: Bandwidth in kHz (7.8-500)
- sf: Spreading factor (5-12)
- cr: Coding rate (5-8)
- timeout_mins: Duration in minutes (must be > 0)
Note: This is not saved to preferences and will clear on reboot
View or change this node's frequency
Usage:
- get freq
- set freq <frequency>
Parameters:
- frequency: Frequency in MHz
Default: 869.525
Note: Requires reboot to apply
System
View or change this node's name
Usage:
- get name
- set name <name>
Parameters:
- name: Node name
Set by build flag: ADVERT_NAME
Default: Varies by board
Note: Max length varies. If a location is set, the max length is 24 bytes; 32 otherwise. Emoji and unicode characters may take more than one byte.
View or change this node's latitude
Usage:
- get lat
- set lat <degrees>
Set by build flag: ADVERT_LAT
Default: 0
Parameters:
- degrees: Latitude in degrees
View or change this node's longitude
Usage:
- get lon
- set lon <degrees>
Set by build flag: ADVERT_LON
Default: 0
Parameters:
- degrees: Longitude in degrees
View or change this node's identity (Private Key)
Usage:
- get prv.key
- set prv.key <private_key>
Parameters:
- private_key: Private key in hex format (64 hex characters)
Serial Only:
- get prv.key: Yes
- set prv.key: No
Note: Requires reboot to take effect after setting
View or change this node's admin password
Usage:
- get password
- set password <password>
Parameters:
- password: Admin password
Set by build flag: ADMIN_PASSWORD
Default: password
Note: Echoed back for confirmation
Note: Any node using this password will be added to the admin ACL list.
View or change this node's guest password
Usage:
- get guest.password
- set guest.password <password>
Parameters:
- password: Guest password
Set by build flag: ROOM_PASSWORD (Room Server only)
Default: <blank>
View or change this node's owner info
Usage:
- get owner.info
- set owner.info <text>
Parameters:
- text: Owner information text
Default: <blank>
Note: | characters are translated to newlines
Note: Requires firmware 1.12.+
Fine-tune the battery reading
Usage:
- get adc.multiplier
- set adc.multiplier <value>
Parameters:
- value: ADC multiplier (0.0-10.0)
Default: 0.0 (value defined by board)
Note: Returns "Error: unsupported by this board" if hardware doesn't support it
View or change this node's power saving flag (Repeater Only)
Usage:
- powersaving <state>
- powersaving
Parameters:
- state: on|off
Default: on
Note: When enabled, device enters sleep mode between radio transmissions
Routing
View or change this node's repeat flag
Usage:
- get repeat
- set repeat <state>
Parameters:
- state: on|off
Default: on
View or change the retransmit delay factor for flood traffic
Usage:
- get txdelay
- set txdelay <value>
Parameters:
- value: Transmit delay factor (0-2)
Default: 0.5
View or change the retransmit delay factor for direct traffic
Usage:
- get direct.txdelay
- set direct.txdelay <value>
Parameters:
- value: Direct transmit delay factor (0-2)
Default: 0.2
[Experimental] View or change the processing delay for received traffic
Usage:
- get rxdelay
- set rxdelay <value>
Parameters:
- value: Receive delay base (0-20)
Default: 0.0
View or change the airtime factor (duty cycle limit)
Usage:
- get af
- set af <value>
Parameters:
- value: Airtime factor (0-9)
Default: 1.0
View or change the local interference threshold
Usage:
- get int.thresh
- set int.thresh <value>
Parameters:
- value: Interference threshold value
Default: 0.0
View or change the AGC Reset Interval
Usage:
- get agc.reset.interval
- set agc.reset.interval <value>
Parameters:
- value: Interval in seconds rounded down to a multiple of 4 (17 becomes 16)
Default: 0.0
Enable or disable Multi-Acks support
Usage:
- get multi.acks
- set multi.acks <state>
Parameters:
- state: 0 (disable) or 1 (enable)
Default: 0
View or change the flood advert interval
Usage:
- get flood.advert.interval
- set flood.advert.interval <hours>
Parameters:
- hours: Interval in hours (3-168)
Default: 12 (Repeater) - 0 (Sensor)
View or change the zero-hop advert interval
Usage:
- get advert.interval
- set advert.interval <minutes>
Parameters:
- minutes: Interval in minutes rounded down to the nearest multiple of 2 (61 becomes 60) (60-240)
Default: 0
Limit the number of hops for a flood message
Usage:
- get flood.max
- set flood.max <value>
Parameters:
- value: Maximum flood hop count (0-64)
Default: 64
ACL
Add, update or remove permissions for a companion
Usage:
- setperm <pubkey> <permissions>
Parameters:
- pubkey: Companion public key
- permissions:
- 0: Guest
- 1: Read-only
- 2: Read-write
- 3: Admin
Note: Removes the entry when permissions is omitted
View the current ACL
Usage:
- get acl
Serial Only: Yes
View or change this room server's 'read-only' flag
Usage:
- get allow.read.only
- set allow.read.only <state>
Parameters:
- state: on (enable) or off (disable)
Default: off
Region Management (v1.10.+)
Bulk-load region lists
Usage:
- region load
- region load <name> [flood_flag]
Parameters:
- name: A name of a region. * represents the wildcard region
Note: flood_flag: Optional F to allow flooding
Note: Indentation creates parent-child relationships (max 8 levels)
Note: region load with an empty name will not work remotely (it's interactive)
Save any changes to regions made since reboot
Usage:
- region save
Allow a region
Usage:
- region allowf <name>
Parameters:
- name: Region name (or * for wildcard)
Note: Setting on wildcard * allows packets without region transport codes
Block a region
Usage:
- region denyf <name>
Parameters:
- name: Region name (or * for wildcard)
Note: Setting on wildcard * drops packets without region transport codes
Show information for a region
Usage:
- region get <name>
Parameters:
- name: Region name (or * for wildcard)
View or change the home region for this node
Usage:
- region home
- region home <name>
Parameters:
- name: Region name
Create a new region
Usage:
- region put <name> [parent_name]
Parameters:
- name: Region name
- parent_name: Parent region name (optional, defaults to wildcard)
Remove a region
Usage:
- region remove <name>
Parameters:
- name: Region name
Note: Must remove all child regions before the region can be removed
View all regions
Usage:
- region list <filter>
Serial Only: Yes
Parameters:
- filter: allowed|denied
Note: Requires firmware 1.12.+
Dump all defined regions and flood permissions
Usage:
- region
Serial Only: Yes
Region Examples
Example 1: Using F Flag with Named Public Region
region load
#Europe F
<blank line to end region load>
region save
Explanation:
- Creates a region named #Europe with flooding enabled
- Packets from this region will be flooded to other nodes
Example 2: Using Wildcard with F Flag
region load
* F
<blank line to end region load>
region save
Explanation:
- Creates a wildcard region * with flooding enabled
- Enables flooding for all regions automatically
- Applies only to packets without transport codes
Example 3: Using Wildcard Without F Flag
region load
*
<blank line to end region load>
region save
Explanation:
- Creates a wildcard region * without flooding
- This region exists but doesn't affect packet distribution
- Used as a default/empty region
Example 4: Nested Public Region with F Flag
region load
#Europe F
#UK
#London
#Manchester
#France
#Paris
#Lyon
<blank line to end region load>
region save
Explanation:
- Creates #Europe region with flooding enabled
- Adds nested child regions (#UK, #France)
- All nested regions inherit the flooding flag from parent
Example 5: Wildcard with Nested Public Regions
region load
* F
#NorthAmerica
#USA
#NewYork
#California
#Canada
#Ontario
#Quebec
<blank line to end region load>
region save
Explanation:
- Creates wildcard region * with flooding enabled
- Adds nested #NorthAmerica hierarchy
- Enables flooding for all child regions automatically
- Useful for global networks with specific regional rules
GPS (When GPS support is compiled in)
View or change GPS state
Usage:
- gps
- gps <state>
Parameters:
- state: on|off
Default: off
Note: Output format: {status}, {fix}, {sat count} (when enabled)
Sync this node's clock with GPS time
Usage:
- gps sync
Set this node's location based on the GPS coordinates
Usage:
- gps setloc
View or change the GPS advert policy
Usage:
- gps advert
- gps advert <policy>
Parameters:
- policy: none|shared|prefs
- none: don't include location in adverts
- share: share gps location (from SensorManager)
- prefs: location stored in node's lat and lon settings
Default: prefs
Sensors (When sensor support is compiled in)
View the list of sensors on this node
Usage: sensor list [start]
Parameters:
- start: Optional starting index (defaults to 0)
Note: Output format: <var_name>=<value>\n
View or change thevalue of a sensor
Usage:
- sensor get <key>
- sensor set <key> <value>
Parameters:
- key: Sensor setting name
- value: The value to set the sensor to
Bridge (When bridge support is compiled in)
View or change the bridge enabled flag
Usage:
- get bridge.enabled
- set bridge.enabled <state>
Parameters:
- state: on|off
Default: off
View the bridge source
Usage:
- get bridge.source
Add a delay to packets routed through this bridge
Usage:
- get bridge.delay
- set bridge.delay <ms>
Parameters:
- ms: Delay in milliseconds (0-10000)
Default: 500
View or change the source of packets bridged to the external interface
Usage:
- get bridge.source
- set bridge.source <source>
Parameters:
- source:
- rx: bridges received packets
- tx: bridges transmitted packets
Default: tx
View or change the speed of the bridge (RS-232 only)
Usage:
- get bridge.baud
- set bridge.baud <rate>
Parameters:
- rate: Baud rate (9600, 19200, 38400, 57600, or 115200)
Default: 115200
View or change the channel used for bridging (ESPNow only)
Usage:
- get bridge.channel
- set bridge.channel <channel>
Parameters:
- channel: Channel number (1-14)
Set the ESP-Now secret
Usage:
- get bridge.secret
- set bridge.secret <secret>
Parameters:
- secret: 16-character encryption secret
Default: Varies by board