// guide · comparison

MeshCore vs Meshtastic vs Reticulum

Guide · updated July 2026

Three projects, endlessly compared, usually unfairly. Here’s what actually separates them — how each one moves a packet, what’s really encrypted, whether they can talk to each other, and which one fits what you’re trying to do.

First: they’re not three of the same thing

Almost every bad comparison starts here. Meshtastic and MeshCore are the same kind of thing — an integrated product where you flash firmware onto a cheap LoRa board, pair a phone, and send messages. They genuinely compete.

Reticulum is a different layer of the stack. It’s a networking stack, not a messaging app and not a radio firmware — closer in ambition to “an alternative to TCP/IP” than to “an off-grid texting app.” Install it and you get a daemon and a library; there is nothing to chat with until you add an application on top (Sideband, MeshChat or NomadNet). It runs over LoRa, but also over WiFi, TCP/IP, packet radio and serial — and it will route a single logical network across all of them at once.

The one-line version. Meshtastic and MeshCore ask “how do we build the best off-grid messenger?” Reticulum asks “how do we build a network that doesn’t need the internet?” Comparing the third to the first two on messaging features misses most of what it is.

Versions move fast. Everything here reflects July 2026: Meshtastic firmware 2.7.x, MeshCore firmware 1.16.0, Reticulum (RNS) 1.4.0.

// the short version

Side by side

MeshtasticMeshCoreReticulum
What it isOff-grid mesh messenger (firmware + apps)Off-grid mesh messenger (firmware + apps)A general networking stack; messaging is a separate app
RoutingManaged flooding; learned next-hop for DMs since 2.6Flood to discover, then an explicit source-routed pathAnnounce-based; hop-by-hop along learned next hops
Who relaysAny node by default — changed by configurationOnly repeaters & room servers — enforced by designNodes with transport enabled (a phone, Pi, or server)
Hop ceiling7 (default 3)up to 64 (1-byte hashes)128
Public channelPublished default key — obfuscated, not privatePublished default key — obfuscated, not privateNo such concept; no network-wide key
Direct messagesX25519 + AES-CCM end-to-end (2.5+)X25519 ECDH + AES-128, Ed25519 identitiesAlways encrypted; forward secrecy; no source address
Node is…Self-contained boardSelf-contained boardA radio (RNode) plus a host running the stack
LicenceGPL-3.0 throughout; trademarked nameMIT firmware; official apps proprietaryCustom licence (not OSI-approved); apps vary
Strongest atFastest start, mobile groups, biggest ecosystemPlanned repeater networks that stay clean as they growBridging media into one real network; privacy
// routing

How each one moves a packet

This is where the real difference lives — and where most of the internet gets it wrong.

Meshtastic uses managed flooding. A node that hears a packet waits a short random moment and rebroadcasts it — unless it hears someone else relay it first, in which case it stays quiet. The wait is weighted by signal strength so the weakest-heard (farthest) node transmits first, pushing the packet outward. It’s bounded by a hop limit: default 3, maximum 7. Since firmware 2.6, direct messages don’t work this way any more — a DM floods once to find the recipient, then subsequent messages are relayed by a single learned next-hop node, falling back to flooding only if that hop goes quiet.

MeshCore floods to discover, then routes. The first message floods; the destination reverses the path that accumulated in the packet and sends it back; the sender caches it and every later message carries that explicit path, so only the listed repeaters retransmit. But MeshCore floods too — node adverts, every new conversation’s path discovery, and all public and group channel traffic, which by definition has no single destination.

So the real difference isn’t “flooding vs routing.” Both flood, and both route. The difference is who is allowed to repeat. In MeshCore, your handset never relays — only nodes flashed as repeaters or room servers do. In Meshtastic, every node relays unless you configure it not to. MeshCore separates users from infrastructure by construction; Meshtastic separates them by configuration discipline — and its own current guidance is that most nodes should be set to a non-relaying client role.

Reticulum does neither. Destinations periodically announce themselves; transport nodes remember only the direction one hop closer, never a whole path. Data packets are never flooded — they’re handed hop to hop along those learned next hops, across whatever mix of LoRa, WiFi and internet links exists.

An honest caveat on scaling. It’s tempting to declare a winner here. Neither project publishes a benchmark against the other, so treat “X scales better” as an architectural expectation, not a measured result. What is documented: Meshtastic congestion in dense metros is real, and the project attributes it mostly to airtime — slow presets plus chatty position and telemetry broadcasts — rather than to flooding itself. It auto-stretches broadcast intervals past 40 nodes and suggests moving off the slowest preset past roughly 60.

// privacy

What’s actually encrypted

Here’s the part both mesh camps tend to spin, so let’s be even-handed: Meshtastic and MeshCore both ship a public channel whose key is published. Meshtastic’s default channel key is famously AQ==; MeshCore’s default “Public” channel key is printed in its own FAQ. In both cases, default group traffic is obfuscated, not private — anyone in range with the published key can read it. That’s a deliberate interoperability choice in both projects, not a flaw, but you should know it.

Direct messages are a different story. Since Meshtastic 2.5, every node generates a key pair at first boot and DMs are encrypted to the recipient’s public key — so they are not readable by people holding the channel key, even when they travel over the public channel. MeshCore gives every node an Ed25519 identity (its short node ID is literally the front of that public key), signs its adverts, and derives a per-contact secret for encrypted messages. Anyone still saying “Meshtastic isn’t really encrypted” is quoting a pre-2.5 world.

Reticulum is the strict one. Encryption isn’t a mode you enable — normal traffic simply cannot be unencrypted, there is no network-wide shared key, and packets carry no source address at all, so the initiator of a conversation is anonymous by construction. It also offers forward secrecy. That said, it hides content and identity, not the existence of traffic: an observer still sees destination hashes, hop counts and timing.

None of this hides your transmitter. All three are ordinary LoRa on an unlicensed band. A directional antenna and a little patience will find any of them. Cryptographic anonymity is not radio anonymity — that applies equally to all three.

// interop

Can they talk to each other?

No — not in any pairing, and not by accident. They’re separate protocols with different framing, addressing and cryptography. A node on one network cannot exchange messages over the air with the other two, and there’s no channel name or region setting that bridges them. It’s deliberate: when someone proposed MeshCore repeaters also relay Meshtastic packets, the answer was a plain “no interoperability planned.”

They also don’t collide as much as you’d think, because the defaults are separated: US Meshtastic sits at 906.875 MHz on a wide, slow preset, while MeshCore’s US preset is 910.525 MHz on a much narrower one. Different LoRa sync words also mean Meshtastic won’t even demodulate the others’ frames.

But don’t mistake that for immunity. A sync word stops a radio decoding a packet; it does nothing to stop the energy. A 22 dBm transmitter a metre from your receiver will trash reception no matter whose firmware it runs. Co-located nodes need frequency separation, antenna spacing and sometimes filtering — ordinary RF site engineering that applies identically to all three.

Same hardware, one at a time. All three run on the same class of boards — Heltec V3, RAK4631, T-Beam, T-Deck. But a board runs one firmware, and its single radio serves one protocol. There is no dual-stack mode; switching means reflashing, and being present on two networks means two radios.

Bridges exist, with caveats. Host-side software can relay between ecosystems, and Reticulum can even be tunnelled over a Meshtastic or MeshCore mesh (using it as a dumb link layer). None of this is native radio interop: it needs an extra computer and usually a second radio, it isn’t shipped by the projects, and critically — a bridge terminates end-to-end encryption at the bridge. Whoever runs that machine sees everything crossing it.

// myths

Claims worth retiring

Every camp has talking points that stopped being true. In fairness, here are the ones aimed at each project.

…about Meshtastic

  • “It blindly floods every packet.” It never did — it’s managed flooding with listen-before-rebroadcast and duplicate suppression, and since 2.6 direct messages use a learned next hop. Congestion in big meshes is real, but it’s driven more by role misconfiguration and telemetry chatter than by the algorithm.
  • “Anyone with the LongFast key can read your DMs.” Out of date since 2.5. The public channel key is published; direct messages aren’t protected by it.

…about MeshCore

  • “MeshCore doesn’t flood.” It floods for adverts, path discovery and all group traffic. Only established one-to-one conversations ride a learned path.
  • “It’s closed source.” Overstated — the firmware is MIT-licensed and public. What’s proprietary is a bounded set of official clients, and an MIT-licensed third-party app now exists too.
  • “It’s the mature, production-ready choice.” Also overstated, in the other direction. It’s a 2025-vintage project with no official written protocol specification yet, and known open design questions — notably that 1-byte repeater IDs can collide as repeater counts climb.
  • “64 hops means it reaches nine times farther.” Hop count is a header field, not a range figure. In practice latency, timeouts and collisions bind long before the counter does.

…about Reticulum

  • “You need a Raspberry Pi at every node.” Not as a user — a phone app plus an RNode over USB or Bluetooth is genuinely approachable now. It’s unattended infrastructure where the tethering problem still bites.
  • “It’s proven at planetary scale.” That’s the design goal, not a demonstrated deployment. Nobody has observed a Reticulum network in the wild comparable to the largest Meshtastic or MeshCore metros.
  • “It’s abandoned.” Wrong — but so is “file a bug and get help.” Its author stepped back from public interaction in late 2025 and issue trackers are closed, yet 2026 has been one of the project’s most active years for releases.

And one claim from all three camps that helps nobody: “the other project’s community is hostile.” It’s unverifiable and it isn’t a technical finding.

// choosing

Which should you run?

Start with what’s already on the air near you. A mesh with no peers is a paperweight. Whichever stack your local group actually runs will beat a technically superior stack with nobody on it — and that single consideration outweighs every architectural argument above. Around here, that’s MeshCore, which is why most of our guides lean that way. Check your own area before you buy anything.

Pick Meshtastic if you want the shortest path from unboxing to a working message; you’re kitting out hikers, a race crew or a family; your nodes move; or you want the widest hardware choice, the deepest pool of tutorials, and a stack that’s open source top to bottom. Its self-healing behaviour genuinely suits unplanned, mobile deployments. Accept that dense city meshes get congested — and that being a good neighbour means running current firmware, turning telemetry down, and setting most of your nodes so they don’t relay.

Pick MeshCore if you’re building deliberate infrastructure: fixed repeaters on hills and rooftops, serving a town, with a group that will plan placement. Because handsets never repeat, adding users doesn’t add congestion — the property that matters most as a network grows. Its delivery reports and path visibility also make it pleasantly diagnosable. Accept that it’s repeater-dependent (no repeaters, no reach), that it handles mobility less gracefully because learned paths break, and that the official apps are proprietary.

Pick Reticulum if you want a network rather than a messenger: linking a LoRa segment to WiFi, to a tunnel over the internet, to packet radio, all as one addressable whole — with strong anonymity and forward secrecy as defaults, plus file transfer, pages, even voice. Being a user is easy now; being an operator is still meaningfully harder than flashing a board and opening an app, with thinner documentation and fewer people to ask.

Or just run two. Nodes are $20–50. Running a second stack costs less than most people’s antenna budget, and plenty of operators keep a MeshCore repeater and a Meshtastic node on the same mast. “Both” is a perfectly good answer.

None of these is a life-safety system. All three are unlicensed-band, best-effort, hobbyist-maintained and direction-findable. They’re superb for community, resilience and fun — but if you’re planning around emergencies, build in redundancy and don’t let any of them replace licensed radio.

// links

Go deeper

Facts here were checked against each project’s own documentation, release notes and source in July 2026. All three move quickly — if you spot something that’s drifted, say so in #meshcore and we’ll fix it.

Still not sure? Ask.

Tell us what you’re trying to do and someone here has probably tried all three.