Skip to main content

MeshCore Protocol Overview

MeshCore is a LoRa mesh networking platform developedcreated by Scott at (Ripple Radios.Radios / ripplebiz), its lead firmware engineer; Liam Cottle builds the app and web tooling. This overview is baseddraws on verified information from the official MeshCore documentation, FAQ, and source code.

What Makes MeshCore Different

MostMany LoRa mesh platforms use(for example Meshtastic) rely on puremanaged/broadcast flooding, -where nodes re-broadcast messages subject to hop limits and duplicate suppression rather than naive "every node re-broadcastsrepeats everyeverything" message.flooding. MeshCore instead uses a flood-first, direct-route-after approach:

  1. The first message to any destination is flood-routed (all repeaters in range re-broadcast)
  2. The destination returns the path it received the flood through (PAYLOAD_TYPE_PATH packet)
  3. All subsequent messages to that destination use direct routing, embedded with the specific repeater path - only those repeaters forward it

ThisFor dramaticallyrepeated unicast traffic, this reduces channel utilization in busy networks once paths are established.established; group and broadcast traffic still floods, and churn (such as moving nodes or stale paths) triggers re-floods.

Encryption

  • Symmetric encryption: AES-128 (ECB mode)
  • Message authentication: HMAC-SHA256 (2-byte truncated, encrypt-then-MAC)
  • Key exchange: ECDH via X25519 (Ed25519 identity keys transposed)
  • Identity signing: Ed25519 - advertisements signed to prevent spoofing

Firmware Types

  • Companion - your personal node; connects to the MeshCore app via BLE, USB,BLE or WiFiUSB serial
  • Repeater - infrastructure node; forwards messages, no user interface
  • Room Server - stores and delivers missed messages; hosts community "rooms"
  • Sensor - telemetry node for sensor data

Frequency

  • USA/Canada: 910.525 MHz, SF7, BW 62.5 kHzkHz, CR5 (a community-chosen "narrow" preset within the unlicensed 902-928 MHz band, as of October 2025)2025 - not an FCC-assigned channel; other settings within the band are also permissible under FCC Part 15.247)
  • EU/UK: 868 MHz band
  • Australia/NZ: 915 MHz band

Key Capabilities

  • Room Servers provide message store-and-forward (last messages in RAM (capacity firmware-dependent) per client)
  • Path hash modes allow tuning for mobile vs. fixed repeater networks
  • Regional scoping via ISO country codes prevents cross-region interference
  • 50+ supported devices across the RAK WisBlock, Heltec, LilyGo, and Seeed ecosystems

App and Tools

  • Android/iOS app by Liam Cottle: Google Play (com.liamcottle.meshcore.android) / App Store (id6742354151)
  • Web app: app.meshcore.nz
  • Flasher: flasher.meshcore.io
  • Config tool: config.meshcore.io
  • Python CLI: github.com/meshcore-dev/meshcore-cli (the fdlamotte/meshcore-cli repo now redirects here)

Source:Sources: Officialthe official MeshCore repository (meshcore-dev/MeshCore), FAQ,its FAQ and source code, docs.meshcore.io, and meshcore.co.uk. VerifiedRegion 2026-05-03.presets and version-dependent details change over time; check the upstream docs for the current values.