
MeshCore Open
Client AlphaUnofficial cross-platform Flutter client for MeshCore with encrypted messaging, contacts, channels, offline maps, node configuration and remote repeater administration over Bluetooth, USB or TCP.
Screenshots
Details
- Kind
- Clients
- Maturity
- Alpha
- Maintainer
- zjs81
- Language
- dart
- Licensing
- Open source
- License
- MIT
- Latest version
- 9.5 · 2026-06-13
Capabilities
Platforms
androidioslinuxmacoswindowsweb
Interfaces
GUIMobileWeb
Connections
BLESerialUSBTCPWebSocket
Capabilities
MessagingContactsChannelsNode configurationRemote administrationMonitoringTelemetryMappingNotificationsKey management
Node roles
companionrepeaterroom-server
Install
Releases
from GitHub · updated 2026-06-23v9.5 # Latest 11 days ago · 2026-06-13 09:18 UTC
What's Changed
- Add "NRF52" as a device name prefix by @Maxb0tbeep in https://github.com/zjs81/meshcore-open/pull/443
- Unread badges for tabs by @pioneer in https://github.com/zjs81/meshcore-open/pull/145
- Main by @zjs81 in https://github.com/zjs81/meshcore-open/pull/448
- Use correct channel icons in channel chat screen by @sethoscope in https://github.com/zjs81/meshcore-open/pull/444
- Add Russian regional presets by @Stempit in https://github.com/zjs81/meshcore-open/pull/449
- Room-server: fixed first message letters trim by @HDDen in https://github.com/zjs81/meshcore-open/pull/453
- Translate Notifications by @ericszimmermann in https://github.com/zjs81/meshcore-open/pull/438
- Onstart syncronization progressbar by @HDDen in https://github.com/zjs81/meshcore-open/pull/462
- Telemetry screen: now included map with received gps mark and autoupdate feature by @HDDen in https://github.com/zjs81/meshcore-open/pull/459
- fix(l10n): correct ja repeater terminology by @jirogit in https://github.com/zjs81/meshcore-open/pull/470
- Add shared UI components and refactor MeshCoreConnector by @zjs81 in https://github.com/zjs81/meshcore-open/pull/472
- Merge Dev into main by @zjs81 in https://github.com/zjs81/meshcore-open/pull/473
- Merge Dev into main by @zjs81 in https://github.com/zjs81/meshcore-open/pull/474
New Contributors
- @Maxb0tbeep made their first contribution in https://github.com/zjs81/meshcore-open/pull/443
- @Stempit made their first contribution in https://github.com/zjs81/meshcore-open/pull/449
- @jirogit made their first contribution in https://github.com/zjs81/meshcore-open/pull/470
Full Changelog: https://github.com/zjs81/meshcore-open/compare/Alpha9...PRE-BETA-9.5
Alpha9 # 2 months ago · 2026-05-10 02:40 UTC
What's Changed
- add byte counted text input by @446564 in https://github.com/zjs81/meshcore-open/pull/388
- #401 make multi ack a toggle by @zjs81 in https://github.com/zjs81/meshcore-open/pull/405
- Improve work with unread messages by @Diadlo in https://github.com/zjs81/meshcore-open/pull/414
- Improve SharedMarker handling by @ericszimmermann in https://github.com/zjs81/meshcore-open/pull/413
- add selectable LOS obstruction pinning for repeater placement Enhancement #411 by @just-stuff-tm in https://github.com/zjs81/meshcore-open/pull/412
- Ukrainian translation polished + localized hardcoded strings by @pioneer in https://github.com/zjs81/meshcore-open/pull/404
- bump app protocol version as we support v4+ features by @446564 in https://github.com/zjs81/meshcore-open/pull/398
- latin languages heuristics by @ericszimmermann in https://github.com/zjs81/meshcore-open/pull/417
- Add desktop map controls by @wel97459 in https://github.com/zjs81/meshcore-open/pull/416
- fix issues with contact sync by @446564 in https://github.com/zjs81/meshcore-open/pull/399
- increase CR for off grid by @446564 in https://github.com/zjs81/meshcore-open/pull/423
- fix: lat/lon double-write in buildUpdateContactPathFrame by @kingult in https://github.com/zjs81/meshcore-open/pull/429
- Gps toggle in settings by @zjs81 in https://github.com/zjs81/meshcore-open/pull/433
- Remove channel subtitles from UI by @sethoscope in https://github.com/zjs81/meshcore-open/pull/428
- rename ble debug log by @446564 in https://github.com/zjs81/meshcore-open/pull/426
- reword tcp host by @446564 in https://github.com/zjs81/meshcore-open/pull/425
- basic repeater chan util by @446564 in https://github.com/zjs81/meshcore-open/pull/424
- Feature Request: alternative compression by replace some 2-byte symbols by 1-byte latin analogs (named Cyr2Lat) by @HDDen in https://github.com/zjs81/meshcore-open/pull/400
- merge dev into main by @zjs81 in https://github.com/zjs81/meshcore-open/pull/435
New Contributors
- @Diadlo made their first contribution in https://github.com/zjs81/meshcore-open/pull/414
- @pioneer made their first contribution in https://github.com/zjs81/meshcore-open/pull/404
- @kingult made their first contribution in https://github.com/zjs81/meshcore-open/pull/429
- @sethoscope made their first contribution in https://github.com/zjs81/meshcore-open/pull/428
- @HDDen made their first contribution in https://github.com/zjs81/meshcore-open/pull/400
Full Changelog: https://github.com/zjs81/meshcore-open/compare/Alpha8...Alpha9
Alpha8 # 2 months ago · 2026-04-15 05:08 UTC
What's Changed
- Add more explicit platform support table by @stphnrdmr in https://github.com/zjs81/meshcore-open/pull/302
- fix: provide AppSettingsService in tcp_flow_test by @just-stuff-tm in https://github.com/zjs81/meshcore-open/pull/301
- Update Polish localization strings for clarity by @thesebas in https://github.com/zjs81/meshcore-open/pull/29
- Unified packet parsing to use BufferReader by @wel97459 in https://github.com/zjs81/meshcore-open/pull/309
- merge dev by @zjs81 in https://github.com/zjs81/meshcore-open/pull/310
- location aware channel_message_path by @ericszimmermann in https://github.com/zjs81/meshcore-open/pull/307
- Merge pull request #310 from zjs81/main by @zjs81 in https://github.com/zjs81/meshcore-open/pull/311
- Show overlaps in public keys of repeaters by @wel97459 in https://github.com/zjs81/meshcore-open/pull/218
- Fix/linux ble pairing flow by @just-stuff-tm in https://github.com/zjs81/meshcore-open/pull/270
- Refactor contact handling and other improvments by @wel97459 in https://github.com/zjs81/meshcore-open/pull/317
- Update Dutch translations by @dennis1248 in https://github.com/zjs81/meshcore-open/pull/329
- Better french translations by @spfmoby in https://github.com/zjs81/meshcore-open/pull/326
- new labels fixed polish translations by @thesebas in https://github.com/zjs81/meshcore-open/pull/313
- Make unread badge max out at 9999+ instead of 99+ by @n-kam in https://github.com/zjs81/meshcore-open/pull/316
- Local llm translator by @zjs81 in https://github.com/zjs81/meshcore-open/pull/334
- Support receiving more formats of GIF message by @interfect in https://github.com/zjs81/meshcore-open/pull/342
- Add LowMesh prefix and explain how to add more by @interfect in https://github.com/zjs81/meshcore-open/pull/337
- Preserve Coordinates with contact.copyWith() function by @ericszimmermann in https://github.com/zjs81/meshcore-open/pull/339
- Add additional device name prefixes to MeshCoreUuids by @just-stuff-tm in https://github.com/zjs81/meshcore-open/pull/321
- init contributing.md by @446564 in https://github.com/zjs81/meshcore-open/pull/347
- add tooltip to send message buttons by @446564 in https://github.com/zjs81/meshcore-open/pull/353
- add fvm directory and rc file to gitignore by @446564 in https://github.com/zjs81/meshcore-open/pull/355
- add jni to generated plugins by @446564 in https://github.com/zjs81/meshcore-open/pull/356
- reimplement location aware snr-indikator after alpha7 by @ericszimmermann in https://github.com/zjs81/meshcore-open/pull/299
- use l10n strings for discovered menu item by @446564 in https://github.com/zjs81/meshcore-open/pull/357
- Enhancement/preset offgrid repeat toggle by @just-stuff-tm in https://github.com/zjs81/meshcore-open/pull/275
- small clean up from PR #275 by @446564 in https://github.com/zjs81/meshcore-open/pull/358
- fix dev by @446564 in https://github.com/zjs81/meshcore-open/pull/362
- add auto clock synchronization setting after repeater login by @just-stuff-tm in https://github.com/zjs81/meshcore-open/pull/369
- clear toast on tap by @446564 in https://github.com/zjs81/meshcore-open/pull/384
- enh: make repeater admin guest aware by @446564 in https://github.com/zjs81/meshcore-open/pull/365
- fix: settings dialog lists by @446564 in https://github.com/zjs81/meshcore-open/pull/372
- remove unused macos path_provider_foundation by @446564 in https://github.com/zjs81/meshcore-open/pull/361
- merge dev to main by @zjs81 in https://github.com/zjs81/meshcore-open/pull/385
- Dev translations by @zjs81 in https://github.com/zjs81/meshcore-open/pull/386
- translations by @zjs81 in https://github.com/zjs81/meshcore-open/pull/387
New Contributors
- @stphnrdmr made their first contribution in https://github.com/zjs81/meshcore-open/pull/302
- @thesebas made their first contribution in https://github.com/zjs81/meshcore-open/pull/29
- @n-kam made their first contribution in https://github.com/zjs81/mes …
Project signals
popularity 2026-06-23 verification 2026-06-23
- GitHub stars
- 540
- Forks
- 91
- Watchers
- 13
- Open issues
- 102
- Contributors
- 31
- Latest downloads
- 1,717
- Source available
- Yes
- Releases available
- Yes
- Signed releases
- No
- CI builds
- Yes
- Documentation
- Yes
- iOS currently supports BLE; USB and TCP companion connections are still in progress.
- Browser node connections require Chromium with Web Bluetooth or Web Serial support.
- Over-the-air firmware updates are listed on the project roadmap and are not yet available.