Skip to content

Search guides, devices and posts

MeshCore vs Meshtastic

Both send text messages over LoRa radio with no cell service or internet, on the same cheap hardware. The difference is who relays. In Meshtastic, every node can pass messages along. In MeshCore, only dedicated repeaters do, and your own radio just sends and receives.

That one choice shapes everything else: how each scales, how much it needs planning, and what a first night with two radios looks like. NodakMesh runs both. Here's how they compare, and how to choose.

Checked October 2026 against MeshCore 1.18.0, Meshtastic 2.7.26 (stable) and Meshtastic 2.8.1 (alpha).

The Short Answer

Pick Meshtastic if…

  • You want a few radios to talk to each other right away, with nothing else set up
  • You're hiking, at an event or in an area with no fixed nodes
  • You want fully open-source firmware and apps
  • Your local mesh already runs Meshtastic

Pick MeshCore if…

  • You're building town or regional coverage with repeaters on high points
  • Many people share the mesh and airtime matters
  • You want direct messages to follow a fixed path instead of flooding
  • Your local mesh already runs MeshCore

They can't talk to each other

A Meshtastic node can't hear a MeshCore node. They use different packet formats, encryption and LoRa sync words, and usually different frequencies. Everyone in a group needs the same one. The hardware is shared, though: most boards run either, and you can reflash whenever you like.

Side-by-Side Comparison

FeatureMeshtasticMeshCore
Who relays messagesEvery node by default (CLIENT role), plus routersOnly repeaters. Companions don't relay
How messages travelManaged flooding; DMs switch to next-hop routing once a route is known (since 2.6)Channels flood through repeaters; DMs flood once, then follow a learned path
Hop limit1 to 7, default 3Up to 63 (1-byte paths), 32 or 21 with larger path hashes
Text length200 bytes in the apps160 bytes (the app allows 150 in DMs, less in channels)
EncryptionAES channels; public-key DMs since 2.5; signed broadcasts in 2.8Ed25519 identities, signed adverts, AES-128 DMs and channels
Phone appFree, open source (Android, iPhone, web)Free; on phones, remote repeater management has a wait timer that an in-app purchase removes
Firmware licenseGPL-3.0MIT
Default US radio settingsLongFast: 906.875 MHz, 250 kHz, SF11Recommended preset: 910.525 MHz, 62.5 kHz, SF7
Needs infrastructure?No. Two handhelds already form a meshFor more than direct range, yes: at least one repeater
Project started20202025

How Each One Moves a Message

Meshtastic: managed flooding

When a Meshtastic node hears a new message, it counts the hop limit down by one and rebroadcasts it, but first it waits briefly and listens. If another node rebroadcasts first, it stays quiet. The wait is shorter for weak signals, so the nodes farthest from the sender tend to relay first, and the message spreads outward instead of every node shouting at once. The hop limit (default 3, maximum 7) stops it spreading forever.

Since 2.6, direct messages get smarter after the first one: once a reply comes back, each node remembers which neighbour relayed it, and later messages go through that neighbour only, falling back to flooding if it goes quiet. Broadcasts and channel messages still flood.

Each node's role controls whether it relays. CLIENT (the default) relays when needed; CLIENT_MUTE never relays; ROUTER and ROUTER_LATE always rebroadcast, even when they hear someone else do it. In 2.8, nodes also lower the hop limit on their own background broadcasts when the channel gets busy (20% utilization), while chat keeps the full limit. Our traffic management guide has the details.

MeshCore: repeaters and learned paths

MeshCore splits the jobs. A companion is your personal radio, paired to the app; it sends and receives but doesn't relay. A repeater sits somewhere high and relays for everyone. A room server is a message board people log in to. Without a repeater, two companions only reach each other directly.

The first direct message to someone floods through the repeaters. When it arrives, the recipient sends back a delivery report listing the repeaters it passed through, and your radio saves that path with the contact. After that, the path is written into each message, and only the repeaters named in it relay it. Repeaters don't keep routing tables; the path lives with the sender. Channel messages have no single destination, so they always flood, and repeater owners can cap how far floods go.

Paths are written as a short ID per repeater. With 1-byte IDs a message can cross up to 63 repeaters (MeshCore's docs say 64); since 1.14 you can use 2- or 3-byte IDs (32 and 21 hops) to avoid two repeaters sharing an ID, but repeaters older than 1.14 drop those. Our repeater troubleshooting guide covers what goes wrong in practice.

Which Has More Range?

Neither, as a protocol. Both use the same LoRa radios, and how far one hop reaches depends on the radio settings, transmit power, antenna, and above all height and terrain. A node on a hilltop or tall building beats any setting change.

The defaults do differ. Meshtastic's US default, LongFast, uses spreading factor 11 on a 250 kHz channel. MeshCore's recommended US preset uses spreading factor 7 on a 62.5 kHz channel. On paper, LongFast can pick up a signal about 4 dB weaker, which is more reach per hop. MeshCore's narrow preset trades that for messages that take much less airtime and a channel narrow enough to sit between sources of interference. Some regions run MeshCore at SF8 or SF9, which narrows the gap.

For a whole network, the number and placement of repeaters or routers matters more than the preset. See antennas and the node planner for where real range comes from.

Encryption and Privacy

Meshtastic

  • Channels are encrypted with a shared AES key. The default channel's key is public, so anyone can read it.
  • Direct messages use public-key encryption between the two nodes (since 2.5).
  • 2.8 signs broadcasts so others can tell who really sent them. By default, unsigned packets from older firmware are still accepted. See packet signing explained.

MeshCore

  • Every node has its own Ed25519 key pair, and its adverts are signed.
  • Direct messages are encrypted with a key only the two nodes share, using AES-128.
  • Channels use a shared 128-bit key. The Public channel's key is published, and hashtag channels are open to anyone who types the name.

In both, the default public channel is readable by anyone on that mesh. Use a private channel or direct messages for anything you wouldn't post on a bulletin board.

Apps, Hardware and Cost

Hardware is shared. Heltec V3 and V4, RAK WisBlock, LilyGo T-Beam, T-Echo and T-Deck, Seeed's T1000-E and many more run both. Our device guides list what works with each: Meshtastic devices and MeshCore devices.

Meshtastic's apps are free and open source, for Android, iPhone and the web, and connect over Bluetooth, Wi-Fi or USB. The firmware is GPL-3.0.

MeshCore's official app, by Liam Cottle, is free for Android, iPhone, desktop and the web. On phones, managing a repeater remotely has a wait timer that an optional in-app purchase removes; the desktop apps are fully unlocked. The app isn't open source, but the firmware is (MIT), and there are community clients. Standalone devices like the T-Deck can run MeshCore with no phone at all. Our MeshCore app guide walks through every screen.

What's New in 2026

Meshtastic 2.8 (alpha)

  • Signed broadcasts.
  • New US nodes set up from the device's own screen (or the current Android app) start on LongTurbo, which can't hear LongFast meshes. How to check and switch back.
  • Node IDs come from the node's public key, so updated nodes get a new ID.
  • Position sharing on public channels and all telemetry broadcasts become opt-in.
  • Automatic hop scaling and rate limits on busy meshes.

2.7.26 is still the stable release. What 2.8 changes · release tracker

MeshCore 1.18

  • A command line for companions, including commands from contacts you allow.
  • Bluetooth and Wi-Fi in one companion build on several ESP32 boards.
  • A gentler default for repeater loop detection.
  • Builds on 1.14's larger path IDs and 1.15's OTA updates for nRF52 companions.

Release tracker · how to update

MeshCore vs Meshtastic FAQ

Can MeshCore and Meshtastic talk to each other?

No. They use different packet formats, encryption and LoRa sync words, and their usual US radio settings differ (Meshtastic LongFast at 906.875 MHz, SF11, 250 kHz; MeshCore's recommended 910.525 MHz, SF7, 62.5 kHz). A radio runs one firmware at a time, so a Meshtastic node and a MeshCore node can't share a mesh.

Can I switch the same device between Meshtastic and MeshCore?

Yes. Most LoRa boards run both. Flash MeshCore at flasher.meshcore.io or Meshtastic at flasher.meshtastic.org, as many times as you like. Your node identity, contacts and settings don't carry over, so set the region and radio preset again after switching.

Which has more range, MeshCore or Meshtastic?

Neither protocol has more range by itself. Range per hop comes from the radio settings, transmit power, antenna height and terrain. With their usual US defaults, Meshtastic's LongFast (SF11) has roughly 4 dB more link budget on paper than MeshCore's narrow SF7 preset, while MeshCore's preset sends each message faster and sits in a narrower slice of a noisy band. How far a network reaches depends far more on where its repeaters or routers are.

Is MeshCore better than Meshtastic?

It depends on the network. MeshCore suits planned networks with repeaters on high points and many users, because only repeaters relay. Meshtastic suits groups that want to turn radios on and talk with no infrastructure, because every node can relay. In practice, the best choice is usually whichever one your local mesh already runs.

Which is better for a city, and which for rural areas?

In a busy city, MeshCore's design keeps airtime down: phones' radios don't relay, direct messages follow a set path, and the narrow preset avoids some interference. Meshtastic 2.8 adds automatic hop scaling for busy meshes. In rural areas with few nodes, Meshtastic works without any fixed infrastructure, while MeshCore needs well-placed repeaters to cover long distances.

Is MeshCore free?

Yes. The firmware is free and MIT licensed, and the official app is free to download and use. On Android and iPhone, an optional in-app purchase unlocks remote management of repeaters and room servers without a wait timer. The official app is not open source; some community clients are.