MeshCore CLI configuration
Manage your MeshCore nodes via the official meshcore-cli tool. Perfect control for advanced users and automation.
What is the MeshCore CLI?
The MeshCore command-line interface (meshcore-cli) is a Python-based tool that lets you communicate with your MeshCore companion radio via the terminal. The CLI supports connections via Bluetooth Low Energy (BLE), TCP/IP or serial.
Additionally, repeaters and room servers have their own built-in CLI that you can access via USB/serial or remotely. This lets you configure frequency, transmit power, name and other settings directly on the device.
This guide covers both methods: the meshcore-cli Python tool for companion radios, and the serial CLI for repeaters and room servers. Perfect for system administrators, power users and anyone who wants to use scripting or automation.
Why use the CLI?
Speed and efficiency
Configure nodes in seconds with a few commands, much faster than clicking through a graphical interface.
Scriptable automation
Write bash or Python scripts to perform batch operations on multiple nodes at once.
Full control
Access to all settings including advanced radio parameters and repeater configuration.
Multiple connections
Connect via Bluetooth, WiFi/TCP or serial - choose what works best for your setup.
Remote management
Manage repeaters remotely via the remote admin feature from the CLI or mobile app.
Interactive chat mode
The CLI has an interactive mode with tab-completion, history and real-time messaging.
Installing MeshCore CLI
The meshcore-cli tool is installed as a Python package via pip or pipx. It works on Windows, macOS, Linux and Raspberry Pi. Requires Python 3.10 or newer.
Step 1: Check Python version
You need Python 3.10 or newer. Check your version:
python3 --version
If Python is not installed, download it from python.org
Step 2: Install meshcore-cli
Install the official MeshCore CLI tool via pipx (recommended) or pip:
# Via pipx (aanbevolen)pipx install meshcore-cli# Of via pippip3 install meshcore-cliStep 3: Verify installation
Check if the installation was successful by opening the help:
meshcli -h
Basic CLI commands
The meshcore-cli supports both command-line parameters and an interactive chat mode. Start without arguments for interactive mode.
Select device (BLE)
Scan and select your MeshCore device via Bluetooth. The CLI remembers your choice for subsequent sessions.
meshcli -S
Connect via TCP/IP
Connect to a MeshCore node via WiFi/network if TCP server is active.
meshcli -t 192.168.1.100
Connect via serial
Connect via USB/serial port for direct communication with your node.
meshcli -s /dev/ttyUSB0
Send message
Send a text message to a specific contact or broadcast to everyone.
meshcli send "Hallo MeshCore netwerk!"
View contacts
View all known nodes in your network with their status and signal strength.
meshcli contacts
Interactive mode
Start without commands for interactive chat mode with tab-completion and history.
meshcli
Repeater & Room Server CLI
Repeaters and room servers have a built-in CLI that you can access via USB/serial (terminal/PuTTY) or via the T-Deck CLI. After flashing, you configure basic settings here.
Set frequency (required)
After flashing, you must first set the frequency for your region. For Europe use 869.4 MHz or 869.525 MHz.
set freq 869.4rebootName and location
Give your repeater a recognizable name and optionally GPS coordinates for the map.
set name MijnRepeaterset lat 52.3676set lon 4.9041Configure transmit power
Adjust transmit power in dBm. Use max 22 dBm for EU 868 MHz band.
set tx 22
Repeater settings
Configure repeater-specific options like hop limits and advertisement intervals.
set flood.max 3set advert.interval 30set flood.advert.interval 3Web-based configuration
Besides the CLI, you can also configure repeaters and room servers via web-based tools. This is often easier for beginners.
MeshCore Flasher
Flash firmware and configure directly via browser at flasher.meshcore.co.uk. Click "Console" after flashing for CLI access.
flasher.meshcore.co.uk →MeshCore Config Tool
Configure existing repeaters via config.meshcore.dev - connect via USB and adjust settings in the browser.
config.meshcore.dev →Minimal configuration after flashing
After flashing MeshCore firmware, these steps are minimally required:
# 1. Set frequency (required for legal use)
set freq 869.4
# 2. Reboot to apply changes
reboot
# 3. Optional: give your repeater a name
set name MyRepeater
# 4. Optional: set location for the map
set lat 52.3676
set lon 4.9041
Frequently asked questions about CLI
What is the difference between meshcore-cli and the serial CLI?
The meshcore-cli (meshcli) is a Python tool that communicates with your companion radio via BLE, TCP or serial. The serial CLI is built into repeaters and room servers and accessed directly via USB/terminal. Both have different commands and use cases.
How do I connect via Bluetooth?
On Linux you first need to pair your device via bluetoothctl. Then use meshcli -S to select your device. The CLI remembers your choice in ~/.config/meshcore.
Can I configure repeaters remotely?
Yes! Via the Remote Admin feature you can manage repeaters and room servers over LoRa. This works from meshcore-cli with repeater commands, or via the mobile app with Remote Management.
Which frequency should I use in Europe?
Use frequencies in the 868 MHz band. Common choices are 869.4 MHz or 869.525 MHz. Never use 915 MHz - that is only allowed in the US and not legal in Europe.
How do I reset my repeater to factory settings?
Via the serial CLI you can use erase to wipe the file system. This removes all settings. You will need to set the frequency again afterwards.
Where can I find all available commands?
For meshcore-cli: meshcli -h shows all options. For the repeater/room server CLI: help in the serial console. The complete reference is on the MeshCore GitHub wiki.
Master the command-line
With the MeshCore CLI you have professional control over your mesh network. Ideal for repeater management, scripting and advanced configuration.