Protocol Comparison Reference
This page provides a technical comparison between MeshCore and Meshtastic - the two most widely deployed open-source LoRa mesh networking platforms. Both run on similar hardware and serve similar goals, but make very different design choices.
Feature Comparison Table
| Feature | MeshCore | Meshtastic |
|---|---|---|
| Routing | Controlled (managed) flooding with hop limit and duplicate | |
| Encryption | Channel traffic: AES-128 in ECB | AES-256-CTR with a shared PSK per |
| Key Exchange | ECDH | Static pre-shared key (PSK) distributed out-of-band; no per-pair key agreement for channels |
| Direct messages | End-to-end encrypted using a per-pair | End-to-end encrypted via X25519 ECDH + AES-CCM ( |
| Infrastructure role | Explicit | Router/Repeater/Client/Tracker |
| Node discovery | Advertisement packets (flood or zero-hop) | NodeInfo broadcast flood |
| Position sharing | In advertisements (optional) | Continuous broadcast to channel (configurable interval) |
| Scalability | Better at high node counts due to path-based unicast reducing channel utilization | Best under ~100 nodes; flooding overhead grows with network size |
| Network mapping | App shows routing | meshmap.net aggregates public data |
| Message storage | Room servers (store-and-forward) | Store and Forward module (node-based) |
| App ecosystem | MeshCore app (iOS/Android) | Meshtastic app (iOS/Android/web) |
| Web interface | config.meshcore. | client.meshtastic.org |
| Firmware update | Web flasher start ota command. | Web flasher + OTA via app |
| Primary hardware | T114, RAK4631, T-Beam v1.2+ and similar. SX126x/LR11xx radios are strongly preferred, but SX127x ( | All of the above + many more (supports SX1276, SX1262, and others) |
| License | Open | Open source (github.com/meshtastic) |
When to Choose MeshCore
- Building dedicated network infrastructure - repeaters on towers, rooftops, or hilltops where path-based routing reduces channel congestion.
- Your community already uses MeshCore and you need to integrate with an existing deployment.
- You want stronger per-pair direct message encryption - ECDH per-pair keys provide better isolation than a shared channel PSK.
- Deploying a large-scale network (100+ nodes) where flooding creates significant channel congestion.
When to Choose Meshtastic
- You need the widest hardware compatibility - Meshtastic has the largest catalog of supported boards. (Note: MeshCore now also supports
SX1276-basedsome SX127x/SX1276 boardsthatinMeshCorecurrentcannotfirmware,use.so SX1276 is no longer MeshCore-incompatible.) - You need WiFi/MQTT bridging for internet-connected nodes.
- Your community or region already has an established Meshtastic network.
- You need TAK/ATAK integration or other Meshtastic-specific integrations.
- You prefer a larger community and more third-party tooling.
Sources: MeshCore packet format documentation (github.com/meshcore-dev/MeshCore), Meshtastic documentation (meshtastic.org), Meshtastic protobufs (github.com/meshtastic/protobufs)