You bought a LoRa radio and now the internet is arguing about which firmware to put on it. Meshtastic, MeshCore and Reticulum all promise off-grid messaging with no towers and no SIM card, but they move messages in very different ways, and they cannot hear each other. Here is how each one works, drawn out, plus the practical answer: which one to flash on your node, given where you live and what you want to do. Checked October 2026.
The short answer
Meshtastic is the biggest and easiest. Every radio can relay, messages spread by managed flooding, and it works out of the box. Flash it if your local mesh is mostly Meshtastic, or if you are not sure.
MeshCore keeps phones' radios quiet and lets fixed repeaters carry traffic along learned paths. Pick it if your area already has MeshCore repeaters, or a busy Meshtastic mesh is congested.
Reticulum is a full network stack, not just a LoRa chat app. It joins LoRa, WiFi, packet radio and the internet into one encrypted network. Pick it to build your own multi-link network.
- Meshtastic vs MeshCore vs Reticulum at a glance
- How each one moves a message
- Roles: who relays and who stays quiet
- MeshCore repeaters and room servers
- Apps, clients and licenses
- MeshCore devices vs Meshtastic devices
- Web flashers: how to install each one
- Encryption: what it does and does not cover
- Can they talk to each other?
- Which one should you flash?
- FAQ
New to all of this? Start with our Meshtastic for beginners guide, which covers LoRa, range, regions and licensing. This post assumes the basics and goes deeper on the comparison.
Meshtastic vs MeshCore vs Reticulum at a glance
| Meshtastic | MeshCore | Reticulum | |
|---|---|---|---|
| What it is | LoRa mesh messenger | LoRa mesh messenger | Network stack for any link |
| Routing | Managed flooding; next-hop for DMs since 2.6 | Flood to find a path, then send direct | Path discovery across many interfaces |
| Who relays | Every node can, by role | Repeaters only, not companions | Transport nodes you choose |
| Hops | Default 3, max 7 | Up to 64 in firmware | Up to 128 |
| Links | LoRa, plus MQTT over the internet | LoRa | LoRa, WiFi, Ethernet, packet radio, I2P, TCP |
| License | GPL-3.0 | Firmware MIT; official native apps closed | Reticulum License (MIT plus use limits) |
| Map | meshmap.net (community) | map.meshcore.io | No single public map |
Sources: the Meshtastic mesh algorithm docs, the MeshCore FAQ and the Reticulum manual.
How each one moves a message
This is the real difference, and everything else follows from it.
Meshtastic: managed flooding
When a Meshtastic radio hears a packet, it waits a moment. If it hears a neighbor rebroadcast the packet first, it stays quiet. If not, it lowers the hop count by one and repeats it. Radios with a weaker signal get a shorter wait, so distant radios tend to relay first and messages spread outward quickly. The hop limit defaults to 3 and cannot go above 7.
Flooding needs no setup and copes well with radios that move. The cost is airtime: on a busy mesh, many radios transmit for every message. Since firmware 2.6, direct messages learn a next hop from the first reply and use it, falling back to flooding on the last retry if that hop stops answering.
MeshCore: flood to discover, then direct
MeshCore's first message to a contact floods. When the delivery report comes back, it carries the route, and later messages carry that stored path so only the repeaters named on it retransmit. Companion radios (the ones paired to phones) never repeat. The firmware's internal maximum is 64 hops. Group channels always flood, as do adverts sent to the whole mesh.
Reticulum: a network stack, not one radio app
Reticulum is closer to a replacement for IP than to a chat app. It runs over anything that can carry a half-duplex link faster than about 5 bits per second with a 500-byte MTU: LoRa through an RNode, packet radio, serial lines, WiFi, Ethernet, TCP, UDP or I2P. Any computer with Python 3, down to a Pi Zero, can join, and the nodes you configure as transport nodes forward traffic between links. Messaging apps sit on top of it.
Roles: who relays and who stays quiet
Both LoRa projects let you tell a radio what job it does. Meshtastic's default is that everyone helps relay. MeshCore's default is that only dedicated boxes relay.

| Job | Meshtastic role | MeshCore role |
|---|---|---|
| Your pocket radio | CLIENT: relays only if nobody else did | Companion: never relays |
| Quiet personal radio | CLIENT_MUTE: does not forward | Companion |
| Home base | CLIENT_BASE: always relays for favorited nodes | Companion, or your own repeater |
| Hilltop or rooftop | ROUTER: always rebroadcasts once | Repeater |
| Fill a dead spot | ROUTER_LATE: rebroadcasts after everyone else | Repeater |
| Message board | No direct match | Room server |
| Trackers and sensors | TRACKER, SENSOR, TAK, LOST_AND_FOUND | Sensor firmware example |
Meshtastic tip: leave a personal radio on CLIENT. The device role docs say ROUTER belongs in strategic spots that help the whole mesh, and suggest ROUTER_LATE for small clusters and dead spots. The old REPEATER role is deprecated as of firmware 2.7.11.
MeshCore repeaters and room servers
A MeshCore repeater is a radio flashed with repeater firmware and placed somewhere high, often on a solar board. It does not pair with your phone for chatting; its only job is to forward packets. MeshCore's own site lists the SenseCAP Solar Node P1 Pro as a repeater device, and most supported boards can be flashed as one.

- Flash repeater firmware onto a spare board from the MeshCore web flasher (pick your device, then the Repeater build).
- Match your region's settings. The MeshCore FAQ gives the USA and Canada recommended preset as 910.525 MHz, SF7, BW 62.5, CR5. Ask your local group what they use.
-
Change the admin password. The FAQ says repeaters and room servers ship with the admin password
password. Change it before you mount the radio. - Mount it high with a good antenna, then manage it remotely from the app by logging in with admin rights.
A room server is MeshCore's bulletin board. It stores posts so people who were out of range can catch up later, sending up to 32 unseen messages when you log in. Meshtastic has nothing that works quite like it.
Apps, clients and licenses
| Meshtastic | MeshCore | Reticulum | |
|---|---|---|---|
| Phone | Android; Apple app for iOS and iPadOS | Android, iOS | Sideband on Android |
| Computer | Web client, macOS app, Python CLI | Web app, Windows, macOS, Linux | Sideband, NomadNet, MeshChatX |
| Open source? | Yes | Firmware yes; native apps no | Yes, own license |
| No phone needed | T-Deck, Cardputer Mesh Kit and others | Ripple firmware for T-Deck and pager (not open source) | Any computer running it |
- Meshtastic firmware is GPL-3.0. Official clients are the Android app, the Apple app (iOS, iPadOS, macOS and more), the web client and a Python CLI.
- MeshCore firmware is MIT. Its FAQ is plain about the rest: "Everything is open source except the T-Deck firmware and Liam's native mobile apps." The official app is made by Liam Cottle and is freemium. The standalone T-Deck firmware comes from Ripple Radios and is free to use, with some advanced features unlocked by registering a device.
- Reticulum uses the Reticulum License: MIT-style, but it forbids use in systems built to harm people and in AI training datasets. Its apps are Sideband (Android, Linux, macOS, Windows), Nomad Network (a terminal app with messaging and a page browser) and MeshChatX (an all-in-one client with messaging and calls). Messages travel as LXMF, which adds store-and-forward delivery.
$5 off your first GLIDE
Plus first dibs on every new batch and every new build. Your code comes in the welcome email.
MeshCore devices vs Meshtastic devices
Most popular LoRa boards run more than one of these. You choose by flashing; you can flash a different one later.

| Device | Meshtastic | MeshCore | Reticulum (RNode) |
|---|---|---|---|
| Heltec V3 | Yes | Yes | Yes |
| Heltec V4 | Yes | Check the flasher | Yes |
| Heltec T114 | Yes | Yes | Yes |
| LilyGO T-Deck | Yes, standalone | Yes, standalone | Yes, display off |
| RAK WisBlock 4631 | Yes | Yes | Yes |
| Seeed T1000-E | Yes | Yes | Not listed |
| XIAO ESP32-S3 + Wio-SX1262 | Yes | Yes | Yes |
| Cardputer ADV + LoRa cap | Yes (Mesh Kit) | Community port | Not listed |
Sources: Meshtastic's device list, the MeshCore FAQ and site, and the RNode firmware README, checked October 2026. "Not listed" means we found no official support, not that it can never work.
The Cardputer ADV with M5Stack's Cap LoRa-1262 is the keyboard option. Meshtastic supports it officially as the Cardputer Mesh Kit. For MeshCore there is an independent community companion build with its own web flasher; it still needs the MeshCore phone app once for first setup, and its page lists the radio for the 863 to 870 MHz band, so US users should check its notes before relying on it. Our Cardputer ADV accessories guide covers the cap, antennas and region bands.
Web flashers: how to install each one
All three install from a browser over USB, using Web Serial, so use Chrome or Edge on a computer.
- Meshtastic: flasher.meshtastic.org. Pick your device and a release, then flash.
- MeshCore web flasher: flasher.meshcore.io. Pick your device, then the firmware for the role you want: companion (Bluetooth or USB), repeater or room server.
-
Reticulum: turn the board into an RNode with
rnodeconf --autoinstallafterpip install rns, or use Liam Cottle's RNode web flasher. Sideband and MeshChatX also include offline flashers.
Screw the antenna on before you power up any LoRa board. Transmitting without one can damage the radio.
Encryption: what it does and does not cover
All three encrypt message contents. None of them is a replacement for a vetted messenger like Signal, and none should be trusted with anything life or death.
- Meshtastic: channels use AES with the channel's shared key; direct messages use X25519 public keys with AES-256-CCM. The default channel key is published, so the default channel is effectively public. Its encryption page says there is no forward secrecy and packet headers are never encrypted.
- MeshCore: each node has a public key that it shares in signed adverts, and direct messages use keys derived from both sides' public keys. The source uses 128-bit cipher keys and a 2-byte message check. Channels use a shared key, and public channels are readable by anyone who knows them.
- Reticulum: X25519 key exchange, Ed25519 signatures, AES-256 and HMAC-SHA256, and LXMF messages add forward secrecy. Its manual notes that its pure-Python crypto primitives have had less review than OpenSSL.
Can they talk to each other?
No, not directly. Meshtastic and MeshCore use different packet formats, so a Meshtastic radio cannot decode a MeshCore packet, or the reverse. By default they are not even on the same frequency: in the US, Meshtastic's LongFast preset sits on 906.875 MHz, while MeshCore's recommended US preset is 910.525 MHz with different modem settings. Reticulum needs RNode firmware on the LoRa board, which replaces either of the others.
One board runs one firmware at a time. If you want to be on two meshes at once, use two radios.
Which one should you flash?
Where you live matters more than features. A mesh is only useful if people near you run the same thing, so look before you choose: meshmap.net shows Meshtastic nodes that share their position online, and map.meshcore.io shows MeshCore nodes. Both only show part of each network.
Flash Meshtastic if
- Your area's map is mostly Meshtastic
- You want the most hardware and tutorials
- Your radios move around (hiking, events)
- You want a standalone keyboard device
- You want fully open-source apps
Flash MeshCore if
- MeshCore repeaters already cover your area
- A busy local mesh is drowning in traffic
- You can mount a fixed repeater up high
- You want room servers for catch-up messages
- Your group agrees to switch together
Reticulum is the pick when LoRa is only one piece: linking a cabin, a car and a home over LoRa, WiFi and the internet, or running encrypted messaging and pages between Raspberry Pis. Our ESP32 vs Raspberry Pi guide explains why the radio board and the computer are separate jobs, and our cyberdeck build guide is a good home for a Pi running Reticulum.
FAQ
Is MeshCore better than Meshtastic?
Neither is better everywhere. MeshCore's routed paths and dedicated repeaters use less airtime on a busy mesh, while Meshtastic is bigger, easier to start with and handles moving radios well. Use whichever most people near you already run.
Can Meshtastic and MeshCore talk to each other?
No. They use different packet formats and, by default, different frequencies and modem settings, so they cannot hear each other. One board runs one firmware at a time, so being on both meshes means two radios.
What is a MeshCore repeater?
A MeshCore radio flashed with repeater firmware and placed somewhere high. It does not chat; it only forwards packets for others. In MeshCore, companion radios paired to phones never repeat, so repeaters carry the network. Change the default admin password before you mount one.
Where is the MeshCore web flasher?
At flasher.meshcore.io. Use Chrome or Edge on a computer, plug the board in over USB, pick your device and then the role: companion, repeater or room server.
Is Reticulum the same as Meshtastic?
No. Meshtastic is a LoRa messaging app and firmware. Reticulum is a complete encrypted network stack that can run over LoRa, WiFi, Ethernet, packet radio and the internet together. For LoRa it uses boards flashed as RNodes, with apps such as Sideband, Nomad Network and MeshChatX on top.
From the lab
$5 off your first GLIDE
Plus first dibs on every new batch and every new build. Your code comes in the welcome email.
Useful? Pass it on
← Browse all guides


