Hey folks- I've released **MeshCore TAK Bridge 0.1.0**, a free, open-source Android app (GPL-3.0) from Colorado Mesh. It links a MeshCore LoRa radio to ATAK on the same phone, with no plugin and no network.
The app talks to a MeshCore companion radio over Bluetooth and runs a small TAK server on the phone, bound to loopback. In ATAK you add one server: `127.0.0.1`, port `8087`, TCP, SSL off. That's it, with no certificates or data packages. Because it only speaks the standard TAK server protocol, it works with any ATAK version and doesn't need rebuilding when ATAK updates.
What you see in ATAK:
- Mesh nodes that share a position appear as markers: companion radios as team members (your choice of team colour), repeaters and room servers as installations (optionally with an icon-set icon), sensors as sensors. You can filter by type and last-heard age, and markers refresh so they don't go stale.
- Each mesh channel appears as a contact you chat with in ATAK's own chat screen. They all start with `#`, so they sit together at the top of the contact list.
- You can direct-message companion nodes by opening their contact, with delivery acknowledgement and retries.
Why a bridge and not a plugin: 1) It speaks only the standard TAK server protocol, so it isn't tied to an ATAK version, 2) It also never writes to the radio: no channels added, no settings, contacts or clock changed, 3) It also mirrors the way we are trying to integrate TAK with the Colorado Mesh Client software, and 4) It is simple.
A few things I learned along the way, in case they're useful to anyone else:
- ATAK only sends chat to a contact it can reach, and it addresses replies to that contact rather than to a GeoChat room. So each mesh channel had to be a contact, not a room.
- Bind to `127.0.0.1` explicitly. Android's default loopback is `::1`, and ATAK refused it.
- ATAK polls the server's web API on 8080 for contacts, groups and feeds when it connects, so the bridge answers those with empty lists to keep ATAK quiet.
Some current limitations: Android only, one ATAK client per phone, and MeshCore's message lengths (about 133 bytes on a channel, 160 direct). Sharing ATAK points, routes or drawings over the mesh is out of scope for this version.
I've tested it on a Pixel 9 Pro and a Samsung Galaxy Tab Active 3. If you have MeshCore hardware and try it on another device, I'd love a quick device report on GitHub, whether it works or not.
- Download (signed APK): https://github.com/Colorado-Mesh/meshcore-tak-bridge/releases/latest
- Source, setup and design notes: https://github.com/Colorado-Mesh/meshcore-tak-bridge
Not affiliated with the TAK Product Center or MeshCore. – Bud, W0RMT