MeshCore is an open-source mesh networking protocol and software platform designed for off-grid, low-power text communication using LoRa (Long Range) radio technology. The system enables decentralized, multi-hop wireless messaging without reliance on cellular networks or internet infrastructure.
GitHub - meshcore-dev/MeshCore: A new lightweight, hybrid routing mesh protocol for packet radios · GitHub
A new lightweight, hybrid routing mesh protocol for packet radios - meshcore-dev/MeshCore
github.com →You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert Notifications You must be signed in to change notification settings Fork 1.1k Latest commit ripplebiz Merge pull request 2943 from meshcore-dev/revert-2915-main Open commit detailssuccess Jul 13, 2026 219812b · Jul 13, 2026 History 2,985 Commits Open commit details 2,985 Commits .devcontainer .devcontainer fix: update devcontainer features to use node instead of bun Mar 21, 2026 .github .github implement matrix builds for faster firmware releases Jul 7, 2026 .vscode .vscode Merge branch 'dev' Jun 6, 2026 arch arch revert bluefruit patch Apr 28, 2026 bin/uf2conv bin/uf2conv setup automated firmware builds with github actions Mar 3, 2025 boards boards chore: normalize board JSON line endings Jun 2, 2026 docs docs Revert "Add StreamSensor allocation for GroupData" Jul 13, 2026 examples examples version 1.16.0 Jun 6, 2026 include include Initial commit Jan 13, 2025 lib lib moved nrf sdk headers to ./lib/ and added Repeater envs for t114 & t-… Mar 6, 2025 logo logo add logo files Jun 5, 2025 src src Merge branch 'dev' Jun 6, 2026 test test Add unit tests for Utils::toHex Apr 24, 2026 variants variants Merge branch 'dev' Jun 6, 2026 .clang-format .clang-format Re-applying 73a7a96 , formatting, MyMesh reformat Jun 2, 2025 .envrc .envrc add default.nix/.envrc for automagic platformio dev environment on NixOS Apr 16, 2025 .gitignore .gitignore Allows us to have custom PlatformIO envs and configs (") 2234 )") Apr 4, 2026 CNAME CNAME Create CNAME Feb 3, 2026 CONTRIBUTING.md CONTRIBUTING.md docs: fix typos, grammar and Wi-Fi capitalisation across docs May 28, 2026 README.md README.md Merge branch 'dev' Jun 6, 2026 RELEASE.md RELEASE.md add release docs Mar 3, 2025 SECURITY.md SECURITY.md Add SECURITY.md Jun 5, 2026 build.sh build.sh implement matrix builds for faster firmware releases Jul 7, 2026 build as lib.py build as lib.py lib build: add UI FLAVOR and some cleanup Aug 26, 2025 create-uf2.py create-uf2.py added custom pio task "Create UF2 file" Oct 17, 2025 default.nix default.nix default.nix: add python3 to the shell Aug 14, 2025 library.json library.json Bump to RadioLib 7.6.0 Mar 23, 2026 license.txt license.txt tidy ups Jan 19, 2025 merge-bin.py merge-bin.py merge-bin.py script Jan 25, 2025 mkdocs.yml mkdocs.yml update docs logo Mar 30, 2026 platformio.ini platformio.ini pin platform-raspberrypi to 4e22a0d Jun 4, 2026 View all files MeshCore is a lightweight, portable C++ library that enables multi-hop packet routing for embedded projects using LoRa and other packet radios. It is designed for developers who want to create resilient, decentralized communication networks that work without the internet. MeshCore now supports a range of LoRa devices, allowing for easy flashing without the need to compile firmware manually. Users can flash a pre-built binary using tools like Adafruit ESPTool and interact with the network through a serial console. MeshCore provides the ability to create wireless mesh networks, similar to Meshtastic and Reticulum but with a focus on lightweight multi-hop packet routing for embedded projects. Unlike Meshtastic, which is tailored for casual LoRa communication, or Reticulum, which offers advanced networking, MeshCore balances simplicity with scalability, making it ideal for custom embedded solutions, where devices (nodes) can communicate over long distances by relaying messages through intermediate nodes. This is especially useful in off-grid, emergency, or tactical situations where traditional communication infrastructure is unavailable. Multi-Hop Packet Routing Devices can forward messages across multiple nodes, extending range beyond a single radio's reach. Supports up to a configurable number of hops to balance network efficiency and prevent excessive traffic. N
~3 min read
MeshCore is an open-source mesh networking protocol and software platform designed for off-grid, low-power text communication using LoRa (Long Range) radio technology. The system enables decentralized, multi-hop wireless messaging without reliance on cellular networks or internet infrastructure.
MeshCore has received independent coverage in technology media for its approach to resilient off-grid communication and for the practical challenges involved in deploying LoRa-based mesh networks.
Excerpt from a page describing this subject · 28,930 chars · not written by Vinony
MeshCore is a lightweight, portable C++ library that enables multi-hop packet routing for embedded projects using LoRa and other packet radios. It is designed for developers who want to create resilient, decentralized communication networks that work without the internet. MeshCore now supports a range of LoRa devices, allowing for easy flashing without the need to compile firmware manually. Users can flash a pre-built binary using tools like Adafruit ESPTool and interact with the network through a serial console. MeshCore provides the ability to create wireless mesh networks, similar to Meshtastic and Reticulum but with a focus on lightweight multi-hop packet routing for embedded projects. Unlike Meshtastic, which is tailored for casual LoRa communication, or Reticulum, which offers advanced networking, MeshCore balances simplicity with scalability, making it ideal for custom embedded solutions, where devices (nodes) can communicate over long distances by relaying messages through intermediate nodes. This is especially useful in off-grid, emergency, or tactical situations where traditional communication infrastructure is unavailable. Multi-Hop Packet Routing Devices can forward messages across multiple nodes, extending range beyond a single radio's reach. Supports up to a configurable number of hops to balance network efficiency and prevent excessive traffic. Nodes use fixed roles where "Companion" nodes are not repeating messages at all to prevent adverse routing paths from being used. Supports LoRa Radios – Works with Heltec, RAK Wireless, and other LoRa-based hardware. Decentralized & Resilient – No central server or internet required; the network is self-healing. Low Power Consumption – Ideal for battery-powered or solar-powered devices. Simple to Deploy – Pre-built example applications make it easy to get started. 🚀 How to Get Started Watch the MeshCore QuickStart Playlist by The Comms Channel Watch the MeshCore Technical Presentation by Liam Cottle. Read through our Frequently Asked Questions and Documentation. Flash the MeshCore firmware on a supported device. Connect with a supported client. For developers: Install PlatformIO in Visual Studio Code. Clone and open the MeshCore repository in Visual Studio Code. See the example applications you can modify and run: Companion Radio - For use with an external chat app, over BLE, USB or Wi-Fi. KISS Modem - Serial KISS protocol bridge for host applications. (protocol docs) Simple Repeater - Extends network coverage by relaying messages. Simple Room Server - A simple BBS server for shared Posts. Simple Secure Chat - Secure terminal based text communication between devices. Simple Sensor - Remote sensor node with telemetry and alerting. The Simple Secure Chat example can be interacted with through the Serial Monitor in Visual Studio Code, or with a Serial USB Terminal on Android. We have prebuilt firmware ready to flash on supported devices. Launch Select a supported device Flash one of the firmware types: Companion, Repeater or Room Server Once flashing is complete, you can connect with one of the MeshCore clients below. The companion firmware can be connected to via BLE, USB or Wi-Fi depending on the firmware type you flashed. Web: Android: iOS: NodeJS: Python: The repeater and room server firmware can be set up via USB in the web config tool. They can also be managed via LoRa in the mobile app by using the Remote Management feature. MeshCore is open-source software released under the MIT License. You are free to use, modify, and distribute it for personal and commercial projects. Here are some general principles you should try to adhere to: Keep it simple. Please, don't think like a high-level lang programmer. Think embedded, and keep code concise, without any unnecessary layers. No dynamic memory allocation, except during setup/begin functions. Use the same brace and indenting style that's in the core source modules. (A .clang-format is probably going to be added
Excerpt from the source-code README · 7,685 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).