MeshCore One
Client app for MeshCore
Free · In-App Purchases · Designed for iPad
MeshCore One lets you send messages over the MeshCore radio network: long range, low power, and completely off the grid. No cell service, no Wi-Fi, no accounts, and no internet required. Just your iPhone, iPad, or Mac and a small MeshCore radio.
Whether you're hiking a back-country trail, working an event, out on the water, or keeping your group connected when the power's out, MeshCore One keeps everyone connected.
Messaging
- Direct messages with delivery status
- Group channels, reactions, and mentions
- See the path each message took across the mesh
Map
- See where your contacts are
- Standard, satellite, and hybrid map layers
- Download map regions to work offline
Contacts
- Share contacts by QR code
- Favorite the people and nodes you rely on
- Automatically discover other radios nearby
Network tools
- Trace paths your packet takes
- Line of Sight and terrain analysis to plan your coverage
- Live signal and noise monitoring
- CLI to manage repeaters and rooms
Remote nodes
- Check battery, uptime, and telemetry on your repeaters
- Configure and reboot nodes from anywhere on the mesh
Your Privacy Comes First
MeshCore One works entirely offline. There are no accounts, no servers, and no tracking. Messages route directly between devices and never touch the internet.
What You Need
- An iPhone or iPad on iOS 18 or later, or an Apple Silicon Mac
- A MeshCore-compatible radio (such as a Heltec V3 or RAK WisMesh Tag) running MeshCore firmware
Connect over Bluetooth or Wi-Fi, pick a radio preset, and start messaging across the mesh.
more The macOS crash fix was done by enabling the option to allow multiple windows of MC1. Please note that this is not supported and I do not recommend opening multiple windows of MC1 at this time. I'm planning on adding full support for multi-windows (like popped-out chats) in the future, but that won't come for a while. So for now, please refrain from opening multiple windows of MC1 on iPadOS/macOS :)
## What's Changed
- Added Korean translation (thanks cammeresi)
## Bug Fixes
- macOS would crash if any search field was focused
- Chat was able to scroll horizontally when in landscape on an iPhone
1.5.1 8 hr ago
What's Changed
- "Path Map" has moved into "Path Details"
- "Path Details" now shows details on every duplicate message received by your companion
- "Repeat Details" on sent messages now shows details on every repeat path your companion heard
- Tapping on message reactions now shows who reacted instead of sending a reaction
- Restored full Liquid Glass soft blur on iOS 27 (previously was just the status bar)
- New option to disable Translations which improves chat load time for those who don't need it (thanks cammeresi)
- Chat loading performance has been improved by up to 90% (thanks cammeresi)
- On OS 27, you can now swipe on rows in the Chats and Nodes tabs
- Some background changes to prepare for OS 27 and iPhone Duo support
- Improved adding contacts via QR code
Bug Fixes
- On macOS, Ctrl + click on a message wasn't bringing up the message info sheet
- Room messages sent on one device would show up as both sent and received on another
- The radio status button in the upper left would stop showing radio status colors (blue for connecting, green for connected) if a theme was enabled
- Adding a MeshCore contact would add "+" instead of spaces
1.5.0 3 days ago
What's Changed
- New map option to disable/enable node clustering. You can find this in the lower right map controls.
- Dark mode icon updated
- Temporarily removed PhillyMesh radio preset
- Added LVMesh radio preset (PA and NJ)
Bug Fixes
- Adding a new channel in the same radio slot as a previously deleted channel no longer shows the previous channel's messages
- Importing app backup would occasionally crash when importing messages
1.4.3 14 Sept
Update radio preset list
1.4.2 11 Sept
What's Changed
- Added support for hierarchical regions in Repeater Management > Regions.
- Change Default Scope in Repeater Management > Regions.
- Moved "Path Hash Size" from Advanced Settings to Settings > Radio
- Support default Path Hash Size via presets
- Radio presets now populate based on your current location. If you haven't given MC1 location permissions, you can manually set a location in Settings > Radio.
- Added PhillyMesh radio preset. This preset is only visible if you've given MC1 location permissions and your location is set to the following states: PA, NJ, DE, and MD.
- Advanced radio configuration has been moved from "Advanced Settings" to Settings > Radio
- Change language that messages are translated into in Settings > Language
- Tapping "Share" in the "Share Contact" sheet now shares a meshcore:// style URI
- Added missing gap between clustered room messages
- Changed reaction format to put emoji after the mention
- Restored soft liquid glass chat header on OS 27
- On Chats and Nodes tabs, filters are hidden when scrolling
Bug Fixes
- Adding more than one region in Repeater Management wouldn't work
- Adding regions in Repeater Management did not respect hierarchies
- Fix some messages not being detected for translation
- Orphaned Bluetooth devices now show up in "Connect Device" picker sheet as "MeshCore Device". Orphaned means that the device is paired with the system, but not MC1. You must remove the device from the system before pairing it again with MC1.
- When a Bluetooth device orphan existed, scanning for Bluetooth devices would ask you to remove the orphaned accessory instead of showing nearby radios.
- Deleting a radio in MC1 would only remove it from MC1 and leave it paired with iPhone.
- Clicking on links on macOS didn't work
- Title layout issues on Chats and Nodes tabs
- Max size sent messages were not receiving repeat details if a scope was attached
1.4.1 10 Sept
What's Changed
- Translate incoming messages into your device's default language. On OS 26.4+ it will attempt to use Apple Intelligence models first, then fallback to the older ML translation packs.
- Sender avatars in channels and rooms
- Chat view stays put when Bluetooth disconnects/reconnects
- Chat view no longer jumps to the bottom when a new message arrives or when tapping the input field
- Show when a message failed to send on the main Chats list
- Path Map shows best-effort match for contact that has a location. This is done by name only because channel messages do not include sender ID.
- Show fallback "?" in long press menu sent message repeat details
- Minimum 2 byte IDs in the Neighbors list in Repeater Telemetry
- Regions would show the incorrect one if more than one region matched the packet's transport code. Now shows if there is ambiguity.
- Repeater Management > Regions "All Traffic" renamed to "Unscoped"
- Support domain names for WiFi nodes
- Last Heard field in contact details shows when MC1 last heard the advert. "Last Advert" now shows the original sent time.
- Last Heard field is bumped upon inbound DM, successful ping, and path responses (thanks @JCBird1012)
- Crop custom avatar image before setting (thanks @hansimgamr)
- Add Portuguese (pt-PT) translation (thanks @zadoke)
Bug Fixes
- Contacts would disappear after a partial contact sync.
- Contacts you had just heard on air could still be auto-deleted when stale-node cleanup was enabled.
- When your contact list was full, contacts already removed on the radio would stay behind on the phone.
- Direct messages from a newly heard contact would sometimes skip the notification banner.
- Heard repeats would not attach to a channel message after you renamed the node.
- "clock sync" command did not work correctly.
- The clock warning would stay on Telemetry after Device Time already looked correct.
- Add Region in Repeater settings would fail with no error.
- A new region on a repeater would not allow flood traffic.
- The unread badge would increment when you sent a message in a thread you were already reading.
- Backing up Discovered contacts could cause a crash
1.4.0 30 Aug
What's Changed
- New map filters. You can filter by node type and toggle Discovered/Favorites
- Completely new chat backend. OS 27 gets Liquid Glass and all OS's get faster chat loads, faster message loads, faster link preview loads, and faster history loads.
- In chats, time has been enabled to show at all times. The date separators have also been reworked.
- When opening a chat, it will now open to the "New Messages" divider instead of the bottom.
- New telemetry history map to track location history
- Support for local radio commands in Tools > CLI
- When logged in as a guest to a repeater, see the repeater's firmware version under "Contact Info".
- Ability to change the map appearance (light/dark/system) in Settings > Maps
- Searching the Discover list (Nodes > Top right menu > Discover) is now much faster
- Discover list is now included in the app backup
- Logging into a repeater when a direct path is set now automatically retries with flood if the direct path failed
- Added a new Feedback section to Settings. Debug log export has been moved there.
- You can now set contact avatar photos (thanks @romeomont!)
- Added "Send Message" when long pressing a node on the Nodes tab (thanks @romeomont!)
- Removed "TX Power" from repeater management UI. You can still set this via CLI.
- Added Italian translation (thanks @corradoignoti!)
- Added Brazil preset
Bug Fixes
- Fixed ZephCore's new vContact being auto removed when "Overwrite Oldest" radio setting was on.
1.3.0 28 Jul
## What's Changed
- Repeater neighbors can now be viewed on a map. In Telemetry > Neighbors, tap "View on Map" to see a full-screen map of its neighbors and signal strength to each.
- Debug logs are now kept locally for 7 days instead of 24 hours to aid in debugging issues. Logs are kept strictly on your device.
- Link/image preview settings are now easier to understand. Both images and link previews are now under "Show Link Content" in Settings > Chats.
- Message path maps now display the total hop count and path distance.
- Map controls are now cleaner and simpler across all map screens.
- Contact nicknames are now shown in channels
- Visual tweaks to channel/chat/contact info pages to make them more uniform.
- Theme aware QR code.
- Scanning MeshCore contact QR codes with the system camera app now offers to open MC1.
- Telemetry now shows Direct/Flood for Packet metrics. Packet graphs now show both metrics. NOTE that this will start a new chart because it graphs both direct and flood packets.
- Opening the Nodes tab now defaults to Favorites if you have at least one favorited node.
- In Trace Path tool, removed 10x batch option and defaulted to 3x.
- In Trace Path tool results, now shows a percentage of successful batch traces.
- Added a Chile community radio preset.
## Bug Fixes
- Fixed an issue where a momentary gap during automatic reconnect could silently drop the radio connection until the app returned to the foreground.
- Reduced unnecessary re-pair prompts. A brief encryption hiccup at the edge of Bluetooth range no longer tells you to re-pair a radio whose pairing bond still works.
- Fixed sent messages not listening long enough for heard repeats
- Fixed an "item not found on device" error when logging into a repeater whose contact was missing from the radio (for example after a backup restore or radio reset). The app now restores the contact and retries automatically.
- You can now enter negative latitude and longitude for remote nodes, and comma decimal separators no longer break coordinate entry.
- Remote-node coordinates and names are now validated before saving, so out-of-range values or over-long names are caught up front instead of being silently altered by the firmware.
- Fixed incorrect centering on the message path, neighbor, and trace path maps.
- Fixed duplicate chat messages that could appear when a repeated broadcast arrived after the previous match window.
- Fixed inability to remove a nickname
- Fixed Repeat Mode not enabling correctly for 869.495 Mhz
- Fixed zero hop ping timeout being too long
- Fixed BLE not reconnecting in the background in some situations
- In Telemetry Neighbors, neighbors no longer have a "New" tag when they weren't actually new.
- Fixed some website image preview cards not loading
- Fixed Repeater Management not getting the correct TX value from repeaters running ZephCore
1.2.1 13 Jul
## What's Changed
- Link/image previews are now easier to understand. Both images and link previews are now under "Show Link Content".
- Repeater neighbors can now be viewed on a map. In Telemetry > Neighbors, tap "View on Map" to see a full-screen map of its neighbors and signal strength to each.
- Message path maps now display the total hop count and path distance.
- Map controls are now cleaner and simpler across all map screens.
- Contact nicknames are now shown in channels
- Visual tweaks to channel/chat/contact info pages to make them more uniform.
- Theme aware QR code.
- Scanning MeshCore contact QR codes with the system camera app now offers to open MC1.
- Telemetry now shows Direct/Flood for Packet metrics. Packet graphs now show both metrics. NOTE that this will start a new chart because it graphs both direct and flood packets.
- Opening the Nodes tab now defaults to Favorites if you have at least one favorited node.
- In Trace Path tool, removed 10x batch option and defaulted to 3x.
- In Trace Path tool results, now shows a percentage of successful batch traces.
- Added a Chile community radio preset.
## Bug Fixes
- Fixed sent messages not listening long enough for heard repeats
- Fixed an "item not found on device" error when logging into a repeater whose contact was missing from the radio (for example after a backup restore or radio reset). The app now restores the contact and retries automatically.
- You can now enter negative latitude and longitude for remote nodes, and comma decimal separators no longer break coordinate entry.
- Remote-node coordinates and names are now validated before saving, so out-of-range values or over-long names are caught up front instead of being silently altered by the firmware.
- Fixed incorrect centering on the message path, neighbor, and trace path maps.
- Fixed duplicate chat messages that could appear when a repeated broadcast arrived after the previous match window.
- Fixed inability to remove a nickname
- Fixed Repeat Mode not enabling correctly for 869.495 Mhz
- Fixed zero hop ping timeout being too long
- Fixed BLE not reconnecting in the background in some situations
- In Telemetry Neighbors, neighbors no longer have a "New" tag when they weren't actually new.
- Fixed some website image preview cards not loading
- Fixed Repeater Management not getting the correct TX value from repeaters running ZephCore
1.2.0 12 Jul
Updated "Pair your device" onboarding instructions
1.1.1 28 Jun
## What's Changed
- Shortcuts: Check radio status, send messages, and send adverts. Let me know if you have any Shortcut ideas!
- Added a What's New sheet
- Ability to clear DM conversations
- "@" button no longer appears if the mention is already on your screen
- Nodes tab list now show inbound hops. These are correlated from the RX Log and the Hop number is overridden if you set a manual Out Path.
- In Room telemetry, the Posts charts now have their own Y axis instead of sharing it with others.
- Map tab remembers the last position instead of auto zooming out upon every open
- In Contact details, press and hold the Out Path to copy the prefix IDs
## Bug Fixes
- Input field should play nicer with 3rd party keyboards
1.1.0 27 Jun
The macOS crash fix was done by enabling the option to allow multiple windows of MC1. Please note that this is not supported and I do not recommend opening multiple windows of MC1 at this time. I'm planning on adding full support for multi-windows (like popped-out chats) in the future, but that won't come for a while. So for now, please refrain from opening multiple windows of MC1 on iPadOS/macOS :)
## What's Changed
- Added Korean translation (thanks cammeresi)
## Bug Fixes
- macOS would crash if any search field was focused
- Chat was able to scroll horizontally when in landscape on an iPhone
more Version 1.5.1 8 hr ago
Data Not Collected The developer does not collect any data from this app.