meshtastic vs meshcore

Meshtastic vs MeshCore – which one is “better”?

Meshtastic and Meshcore are 2 most popular systems for building independent, distributed and open mesh networks. You know, for emergency situations or just for fun as it can be a pretty cool hobby. At the moment, there is quite a lot of friction on the topic which one is better, who is switching to what and why some things work differently. Heavy stuff.

LilyGo T-Deck running Meshtastic software

Like always, answering a question “which one is better” without first stating what “better” means is quite pointless. For some “better” might mean higher bandwidth, for some longer range and some might just prefer one logo over the other. We won’t discuss it today, I don’t have time for such drama. Instead, let’s talk about similarities and differences between both systems.

Similarities

Both Meshtastic and MeshCore are open-source projects focused on creating off-grid mesh networks using LoRa (Long Range) technology, enabling low-power, long-distance wireless communication. They utilize mesh networking principles where devices (nodes) relay messages to extend network coverage beyond direct line-of-sight.

LilyGO T-echo running meshtastic

Both systems support encrypted communication to ensure privacy and security of transmitted data and operate primarily on license-free sub-GHz radio bands (433MHz and 868/915Mhz depending on region), making them accessible without special radio licenses.

They support a range of common LoRa hardware platforms, including popular development boards and dedicated devices, allowing flexibility in device choice. Functionally, both aim to facilitate peer-to-peer messaging in environments without cellular or Wi-Fi infrastructure, such as hiking, emergency response, or community networks.

And both have companion mobile applications (Meshtastic with Android/iOS apps, MeshCore with web-based clients) to manage devices and send messages.

As you can see, both Meshtastic and MeshCore functionally take the same niche and solve the same problems in similar ways. Also the fact, that both relay on the same radio technology (LoRa) and hardware means that the radio transmission layer and ultimately aspects like range and transmission speeds are basically the same. After all, you can’t request more bandwidth via software than hardware allows for.

Differences

Architecture

Probably the biggest difference between both platforms is how the network is built. In case of Meshtastic, the basic building block for the mesh are “Client” devices. When you flash Meshtastic, the device becomes a client by default. Clients can be used to send and receive messages, plus, it will relay packets from other devices. Client is both a end-user device and element of infrastructure. It’s a “true mesh approach” by design. Network will organize itself ad-hoc if only enough end-user devices are withing range of each other. You and your buddies hiking in mountains will create an independent network out of the box.

Network flood routing in Meshtastic and MeshCore

In case of MeshCore, engineers took a different approach. Devices are divided into two separate categories: Repeaters and Companions. Repeaters are meant to be stationary (they don’t have to though) elements of infrastructure. Companions, on the other hand, DO NOT PARTRICIPATE IN ROUTING. You and your buddy in mountains will be able to send messages to each other, but others will not be able to use your devices to extend the network. It won’t go outside peer-to-peer mode without repeaters. MeshCore network is not self-organizing and requires at least basic planning.

Other, much less important differences

Hop limit – number times packet can be retransmitted in each branch of the mesh (it’s not the same and number of times packet will be retransmitted in total though; there is a subtle but important difference between those two). For Meshtastic is max 7 hops, how MeshCore it’s max 64 hops. However, this is changing since Meshtastic introduced recently a zero-hop routing which adds “planning” element to the network. In theory, with zero-hop routing it’s possible to build Meshtastic links hundreds of miles wide. The more planned nature of MeshCore allows for a higher max hop number.

Meshtastic network traffic visualized

Another difference is telemetry and general channel congestion. Up to recent versions, all Meshtastic nodes came with Telemetry enable. There is nothing wrong with having telemetry when needed, but when all nodes try to send telemetry even when nobody needs it, it creates a lot of unnecessary traffic. Traffic, that generally slow LoRa radios have problems transferring with limited bandwidth. MeshCore from start is more conservative in terms of telemetry usage, thus more bandwidth can be used for useful traffic. Like I mentioned, latest version of Meshtastic had telemetry disabled by default, so there is change situation will improve.

Summary

And that, believe it or not, are real main differences between Meshtastic and MeshCore. Of course, app look different, projects support different Lora boards and in some scenarios, one behaves better and other behaves worse.

Still, the biggest fundamental difference is each project’s approach to network architecture. Meshtastic prioritizes ad-hoc auto organizing network when default device type “Client” is both used as an end-user device but also helps with routing and to relay packets within mesh. At the same time, MeshCore prioritizes explicit network architecture with purposedly placed Repeaters as Companion devices do not relay packets within the network.


Posted

in

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *