Software
Flash MeshCore
Flash MeshCore firmware and connect a companion app.
- Difficulty
- Beginner
- Time
- 30 min
- Cost
- Free (software); you need a board, see the hardware guide
Updated 29 Oct 2026
Overview
MeshCore is a LoRa messaging system that uses structured routing rather than flooding every packet everywhere. Messages travel through repeaters, and once a path to a contact is known, later direct messages follow it. Like Meshtastic, it carries short text messages, not internet traffic. It is popular in the UK, where several volunteer networks (for example LocalMesh) are built on it.
This guide covers choosing a firmware role, flashing with the official web flasher, and connecting an app. For board choice see the Hardware buyer's guide.
Pick a firmware role
MeshCore firmware comes in roles, and you choose one at flash time. The project's FAQ lists four firmware types; the GitHub README groups them as three roles.
| Role | What it does | Typical use |
|---|---|---|
| Companion (BLE or USB serial) | Pairs with a phone or computer app. Wi-Fi companion connections are also described on GitHub. | Your personal handset |
| Repeater | Forwards packets so the mesh reaches further | Fixed, high, ideally powered continuously |
| Room server | A simple bulletin-board server others post to | A shared community space |
The important rule: MeshCore clients do not repeat. Only repeaters, and room servers with repeating switched on, forward traffic. A mesh of companions alone will only work between devices that hear each other directly. Group channels flood; direct messages flood once and then use the discovered path. The hop limit is 64 for 1-byte path hashes (less for longer hashes).
Most newcomers should flash companion firmware on their first board. Add a repeater only after you have checked the coverage near you, so you know whether a repeater is needed.
Flash with the web flasher
The official flasher is flasher.meshcore.io, named in the MeshCore FAQ. It offers
Flasher, Repeater Setup and Console modes, uses .bin files for ESP32 boards and OTA .zip files for nRF52 boards,
has an erase option, and accepts custom firmware. We could not capture its exact on-screen wording, so follow the
prompts.
- Fit the antenna, then connect the board with a data-capable USB-C cable. No SD card is needed.
- Open flasher.meshcore.io in Chrome or Edge.
- Choose your board from the list. The flasher is the authoritative list of supported devices; LILYGO documents 13 of its own boards, and a UK vendor site claims 50+ devices, but we have not checked either against the flasher.
- Choose the role (companion, repeater or room server) and a version. If the flasher or app asks for a frequency or region, the UK uses the 868 MHz band.
- Flash. If the board has previously run other firmware, use the erase option.
- Wait for the flasher to report completion.
Other flasher pages exist. flasher.meshcore.co.uk is a redirect to a page on the UK vendor site, and the GitHub README
names meshcore.io/flasher. We treat flasher.meshcore.io as the primary source because the FAQ names it.
Radio settings in the UK
MeshCore uses the 868 MHz band in the UK and EU, and 915 MHz in the USA, Australia and New Zealand (stated in the FAQ). We could not confirm the official UK/EU preset values: the FAQ page we read gave only the US preset. Take the current UK values from the MeshCore documentation or a UK group, not from us.
For orientation only: one UK repeater on the official map was using 869.618 MHz with bandwidth 62.5 kHz, spreading factor 8 and coding rate 8. That is one observed node, not a recommended preset, but it shows the frequency sits in the 869.40-869.65 MHz slot.
Connect an app
After flashing a companion, pair it with an app. The FAQ lists a web app at app.meshcore.nz and Android and iOS apps; downloads are linked via Liam Cottle's files.liamcottle.net/MeshCore. A configuration tool is at config.meshcore.io. BLE companion firmware suits a phone; USB serial companion firmware suits a computer. See Clients and apps.
- Open the app and choose to connect to a companion.
- Pick Bluetooth or USB, depending on the firmware you flashed.
- Set your node name and confirm the radio settings match your local network.
- Add contacts and join a channel.
Repeaters
For a repeater, flash the repeater firmware, then configure it using the flasher's Repeater Setup mode or the
configuration tool. The FAQ mentions that repeaters can cap how far flooded traffic spreads (set flood.max) and that
repeating is switched on with set repeat on. Site the repeater high, with a clear view, powered reliably: see
Antenna placement and Power.
What we could not confirm
- The official UK/EU radio preset values.
- Whether MeshCore has any internet bridging (neither the README nor the FAQ mentions it; absence is not proof).
- Whether the Heltec V4 is individually supported; check the flasher's list.
- Where MeshCore originated: sources conflict, so we do not state it.
To compare with Meshtastic, see Which mesh is right for you and How mesh routing works. Encryption: MeshCore claims end-to-end encrypted messaging, but we could not find the cipher specification; see Privacy and encryption.