An open client for the MeshCore LoRa mesh.
MeshCore Open is an unofficial, MIT-licensed Flutter app for MeshCore — the open LoRa mesh radio protocol. Pairs to your node over BLE, USB, or TCP from Android, iOS, Linux, macOS, Windows, or web. No internet, no cell service, no accounts.
Built for the field, not the demo.
The things that get cut from "v1" of most apps are the things you'd actually need at 2am, twenty miles from a cell tower. So they ship in v1 here.
Six platforms, one client
A single Flutter codebase running on Android, iOS, Linux, macOS, Windows, and the web. Pair the same identity from whichever device is in your pocket.
BLE · USB · TCP
Three ways to talk to a node: Bluetooth LE for handhelds, USB serial for desktop rigs, TCP for repeater hubs on your LAN. Pick whatever’s plugged in.
Live mesh map
Plot nodes on OpenStreetMap, trace the actual path messages took, run line-of-sight terrain analysis, share MGRS pins, cache tiles offline before you head out.
Full repeater hub
Manage repeater and room nodes from anywhere on the mesh — status, telemetry, neighbors, full CLI, and a complete settings panel that’s admin/guest-aware.
Modern messaging on a slow radio
DMs, broadcast channels, private communities, reactions, replies, inline GIFs, on-device LLM translation, optional SMAZ compression to squeeze more text per packet.
Open source, no accounts
MIT licensed, built in the open with 14+ contributors and 15 UI languages. No sign-up, no servers, no telemetry — your keys live on the device.
- Added Add "NRF52" as a device name prefix
- Changed Unread badges for tabs
- Changed Main
- Changed Use correct channel icons in channel chat screen
- Added Add Russian regional presets
- Changed Room-server: fixed first message letters trim
- Changed Translate Notifications
- Changed Onstart syncronization progressbar
- Changed Telemetry screen: now included map with received gps mark and autoupdate feature
- Changed fix(l10n): correct ja repeater terminology
- Added Add shared UI components and refactor MeshCoreConnector
- Added add byte counted text input
- Changed #401 make multi ack a toggle
- Changed Improve work with unread messages
- Changed Improve SharedMarker handling
- Added add selectable LOS obstruction pinning for repeater placement Enhancement #411
- Changed Ukrainian translation polished + localized hardcoded strings
- Changed bump app protocol version as we support v4+ features
- Changed latin languages heuristics
- Added Add desktop map controls
- Fixed fix issues with contact sync
- Changed increase CR for off grid
- Fixed fix: lat/lon double-write in buildUpdateContactPathFrame
- Changed Gps toggle in settings
- Removed Remove channel subtitles from UI
- Changed rename ble debug log
- Changed reword tcp host
- Changed basic repeater chan util
- Changed Feature Request: alternative compression by replace some 2-byte symbols by 1-byte latin analogs (named Cyr2Lat)