You only need one device to get started — a single MeshCore node can already send and receive messages within LoRa range. Multiple nodes extend the network range through multi-hop routing.
The easiest way to get started is the MeshCore Flasher:
- Visit https://meshcore.io/flasher
- Connect your supported LoRa device via USB
- Select your board and firmware type
- Click Flash
No development environment required.
For custom development or unsupported boards.
# Clone the repository
git clone https://github.com/meshcore-dev/meshcore.git
cd meshcore
# Open in VS Code
code .In PlatformIO, select the environment matching your board from platformio.ini and click Upload.
pip install mkdocs mkdocs-material
mkdocs serve # Development server with live reload
mkdocs build # Build static siteChoose the firmware type that fits your use case:
| Firmware | Connection | Use Case |
|---|---|---|
| Companion Radio | BLE, USB Serial, WiFi | Connect external chat apps (mobile, web) |
| KISS Modem | USB Serial | Bridge for host applications |
| Simple Repeater | No UI | Extend network coverage |
| Simple Room Server | No UI | BBS-style shared message board |
| Simple Secure Chat | USB Serial (terminal) | Encrypted terminal-based messaging |
| Simple Sensor | No UI | Remote telemetry and alerting |
See applications.md for detailed descriptions.
After flashing, configure your device via the CLI (serial connection at 115200 baud) or the companion app:
# Set node name (max 24–32 bytes depending on board)
set name MyNode
# Set radio frequency (MHz)
set freq 868.0
# Set GPS location (optional)
set lat 48.1351
set lon 11.5820
# Send initial advertisement
advertDefault credentials:
- Admin password:
password - Guest password:
hello
Important: Change the admin password after first setup.
password(Enter the command, then you will be prompted for the new password)
Once your Companion Radio firmware is running, connect with any of these clients:
| Platform | Client | Link |
|---|---|---|
| Web | MeshCore Web App | https://app.meshcore.nz |
| Android | MeshCore Android | Google Play Store |
| iOS | MeshCore iOS | Apple App Store |
| Node.js | meshcore.js by Liam Cottle | https://github.com/liamcottle/meshcore.js |
| Python | meshcore-cli | https://github.com/fdlamotte/meshcore-cli |
See clients.md for details.
OTA updates are supported via the companion app or web interface.
OTA firmware updates are performed via DFU mode. Instructions are available in the FAQ.