What Is MeshCore?
If you've just bought a small LoRa radio - or you're about to - and the box, a shop listing, or an app keeps saying "MeshCore", here's what that word actually means, written for someone using one of these devices rather than building the firmware.
The short version: LoRa is the radio technology, MeshCore is the software that runs on a LoRa radio and turns a pile of separate radios into a network, and an app like Nelos is what you actually see and touch on your phone. Three layers, each doing a different job.
The three layers
It's worth being precise about these, because shop listings often blur them together.
- LoRa is the radio technology - the way the signal physically travels through the air. It's designed to go a long way on very little power by sending data slowly, which suits short messages and location coordinates. LoRa uses different frequency bands in different parts of the world, so a device is made for a specific region. On its own, LoRa is just a way to move bits from one radio to another. The guide what a LoRa mesh radio is covers this layer from scratch.
- MeshCore is the firmware and protocol that runs on the radio. It's the part that decides how a message finds its way from one device to the next, handles the relaying that makes it a "mesh", keeps the group's traffic encrypted so it isn't readable by every device that passes it along, and defines the roles a device can play. MeshCore is an open-source project; it isn't owned by any one app maker, and several different apps can talk to a MeshCore radio.
- The app is the layer on your phone: the message screen, the map, the contact list, the settings. It connects to the radio over Bluetooth and shows you what the network is doing. Nelos is one such app, aimed at families and groups; there are others aimed at different users.
What a "MeshCore-compatible device" is
A MeshCore-compatible device is simply a LoRa radio that runs the MeshCore firmware. Some devices ship with it already installed and work out of the box; others ship with different firmware and need MeshCore flashed onto them once, using the project's web flasher, before an app will recognise them. Either way, the device also has to be the right version for your region's LoRa band. The devices guide marks which is which.
The roles a device can play
In a MeshCore network, each device is a node, and a node can be set up for different jobs:
- Companion radio - a handheld paired to a phone over Bluetooth. This is what each person in a group carries; the phone is the interface, the radio does the sending and receiving.
- Repeater - a device left running at a high point that does nothing but relay for the others, extending the network's reach. Whether you need one is covered in do you need a LoRa mesh repeater.
- Tracker - a small node that mainly reports its own location, with no phone attached - useful for a child, a pet, or gear.
Many handheld devices with GPS can be used in more than one role, so you don't necessarily buy separate hardware for each.
How the mesh relaying works
If two devices are close enough, they talk directly. If they're too far apart, MeshCore forwards the message through other devices in between until it reaches its destination. That's why a spread-out group stays connected without everyone being in direct range - and why adding a repeater at a good vantage point can join parts of a group that otherwise couldn't reach each other.
Why compatible hardware matters
Your phone app speaks to the radio over Bluetooth in MeshCore's "language". A radio running a different mesh firmware won't understand a MeshCore app, and vice versa - so the device has to be running MeshCore, not just any LoRa firmware. And because LoRa bands are regional, a radio bought for another region may not be legal or may not connect with the rest of your group's devices. When in doubt, check the region and the firmware before buying.
MeshCore vs LoRa, in one line
LoRa is the road. MeshCore is the traffic rules and the vehicles that use it. The app is the seat you're sitting in. You need all three for the trip to work.
A note on other protocols
MeshCore isn't the only open-source LoRa mesh protocol. Meshtastic is another, and an older one with a large community. MeshCore and Meshtastic are separate projects that aren't interoperable - a given radio generally runs one or the other, and an app built for one won't talk to a device running the other. Which one suits which kind of user is a comparison in its own right; the guide goTenna Mesh vs Meshtastic touches on the approaches. This article is just about understanding MeshCore itself.
Where Nelos fits
Nelos is a consumer-oriented app for MeshCore radios. It connects to a compatible radio over Bluetooth and gives you group messaging, everyone's latest location on a worldwide offline map, device trackers, and a "Need Help" button - in an interface built for families and outdoor groups rather than for configuring hardware. Nelos is free, needs no account, and did not create MeshCore - it's an independent app that uses it.
If you've got a radio and want to start, the devices guide confirms whether yours is ready or needs flashing, and Getting Started covers pairing it and creating a group. For the wider picture of how this fits among the other ways to communicate off-grid, see the off-grid communication guide.
Already have a MeshCore device? Try Nelos.
Nelos runs on compatible MeshCore LoRa devices. Pair over Bluetooth and get your group messaging and sharing locations offline.