// the find
meshcore-dev/MeshCore
A new lightweight, hybrid routing mesh protocol for packet radios
MeshCore is a C++ library for building multi-hop LoRa mesh networks on embedded hardware (ESP32, nRF52, STM32). It targets developers building off-grid communication tools and competes directly with Meshtastic, positioning itself as more hackable and less opinionated about use cases. Ships with pre-built firmware, a web flasher, and mobile apps so non-developers can also use it.
- Strict no-dynamic-allocation policy after init is a serious embedded constraint that actually gets enforced in the codebase, not just mentioned in docs — the StaticPoolPacketManager is evidence of this discipline.
- Hardware support breadth is genuinely impressive: custom board JSON files for 40+ devices across three MCU families with RadioLib wrappers for SX1276/SX1262/SX1268/LR1110/LLCC68/STM32WL — someone has done real hardware work here.
- Ed25519 keypair-based identity and encryption is baked into the core protocol, not bolted on — packet_format.md shows message authentication is structural, not optional.
- The CI pipeline covers native unit tests, per-firmware build checks, and PR build gates, which is more than most Arduino-ecosystem projects bother with.
- The routing protocol spec lives mostly in docs/packet_format.md and comments rather than a formal document — there's no clear explanation of how the hybrid routing algorithm actually works, which makes it hard to evaluate correctness or contribute meaningfully to the core.
- V2 protocol is listed as 'discussion and consensus' on the roadmap, meaning the current wire format is not stable — anyone building infrastructure on this today may face breaking changes with no migration path.
- The codebase is labeled C in GitHub but is actually C++, and the helper layer is heavily Arduino-coupled through ArduinoHelpers.h and platform-specific board files — porting to a non-Arduino RTOS or bare-metal environment would require significant work despite the 'portable library' framing.
- Unit test coverage appears thin — the test suite runs via 'pio test --environment native' but the repo doesn't show test files in the directory listing, suggesting tests cover only a small slice of the routing and crypto logic where bugs would be most costly.