MeshCore Protocol Overview MeshCore is a LoRa mesh networking platform created by Scott (Ripple Radios / ripplebiz), its lead firmware engineer; Liam Cottle builds the app and web tooling. This overview draws on the official MeshCore documentation, FAQ, and source code. What Makes MeshCore Different Many LoRa mesh platforms (for example Meshtastic) rely on managed/broadcast flooding, where nodes re-broadcast messages subject to hop limits and duplicate suppression rather than naive "every node repeats everything" flooding. MeshCore instead uses a flood-first, direct-route-after approach: The first message to any destination is flood-routed (all repeaters in range re-broadcast) The destination returns the path it received the flood through ( PAYLOAD_TYPE_PATH packet) All subsequent messages to that destination use direct routing, embedded with the specific repeater path - only those repeaters forward it For repeated unicast traffic, this reduces channel utilization once paths are 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 or USB 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 kHz, CR5 (a community-chosen "narrow" preset within the unlicensed 902-928 MHz band, as of October 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) Sources: the official MeshCore repository (meshcore-dev/MeshCore), its FAQ and source code, docs.meshcore.io, and meshcore.co.uk. Region presets and version-dependent details change over time; check the upstream docs for the current values.