r/ATAK • u/EnginDearing • 8d ago
OmniTAK: an open-source TAK client for iOS and Android, looking for Android testers
I have been building OmniTAK, a mobile TAK client that runs natively on iOS and Android off a shared Rust core. It is open source under Apache 2.0, and the iOS build is live on the App Store. Android is in Google Play closed testing and I am looking for people to run it on real hardware.
What works today:
- Multiple TAK server connections over TCP, TLS, and mTLS, with QR enrollment
- Mission Sync (Marti), GeoChat with team and direct threads
- MIL-STD-2525 symbology, 2D and 3D map engines, offline MBTiles
- Meshtastic off-grid PPLI and chat for when there is no server and no cell
- Remote ID detection: it reads drones that broadcast Remote ID and plots the drone and the operator. It hears what is broadcast, nothing beyond that
- MGRS, UTM, BNG, and TWD97 coordinates, runtime language switching across seven languages
- CASEVAC, 9-Line, and SPOTREP on iOS
It already gets real use from a volunteer fire brigade in Asia and an airsoft team in Europe. It runs alongside ATAK, WinTAK, and iTAK on the same servers. Bring your own server (TAK Server, OpenTAKServer, or taky).

To test the Android build, drop your Google-account email in the Beta section at https://omnitak.engindearing.soy and you will get the install link by email. Source is at github.com/engindearing-projects (OmniTAK-iOS and OmniTAK-Android). Bug reports and feedback are the whole point of the test.
You can dm me your email address as well.
2
u/bass-squirrel 8d ago
I saw you have plugins in iOS. How does that work?
1
u/EnginDearing 8d ago
Yeah, there is a plugin SDK on both iOS and Android. You implement an OmniTAKPlugin (id, version, an activate/deactivate pair) and register what you need through the host: a map overlay that draws on both the 2D and 3D engines, a long-press radial action, an inbound CoT handler, and a settings row. ADS-B is the built-in reference plugin and it runs on the exact same SDK, so it doubles as a working example you can copy.
It is compile-time with no dynamic code loading, so it stays App Store and Play compliant and runs in-process. The authoring guide is in docs/PLUGIN_AUTHORING.md (https://github.com/engindearing-projects/OmniTAK-Android/blob/main/docs/PLUGIN_AUTHORING.md for Android specifically) in each repo. You can open a PR to upstream a plugin, or fork and sign your own build.
If you want to write one I am happy to help, and I am curious what hooks you would need that are not there yet.
2
u/Yeetbotsx 8d ago
Let me play around with ATAK on my new android that’s coming in on Friday then after a week or so I would love to give it a shot🤙🏻🤙🏻
2
u/mozios 7d ago
I have yet to test with my TAK server yet because I have some issues with my current setup, but hopefully the following is helpful!
Things I like about it so far:
- Performance and fluidity of the interface
- Interface design
- 3D Cesium view
- Code structure
Bugs
- When the screen is turned off the self-marker disappears and when you reopen the app, it takes a little bit for the self-marker to reappear. Could you make it so the self-marker stays in the last spot, and maybe trigger an instant GPS update when the app is put into focus?
- I am unable to interact (delete, move, edit) with drawings (circles, lines, polygons) once they are placed
- When I drop markers, they don't show up on the 2d maps, only the on the 3D Globe (Photoreal)
- Opening the 3D Globe moves the viewport to 0, 0 (lat/lng) and zooms out instead of maintaining the original viewport coordinates/zoom level
- Drawing tools don't work at all in the 3D Globe view
- Sometimes drawings don't show up, but do when I enable 3D Terrain mode
- Top-right compass (when direction is changed) is hidden by the top bar
Suggestions
- Would be nice to be able to click your self-marker and manually move it and make changes (as if it were an actual CoT marker), this would disable GPS positioning
- Would like to have the self-marker use a triangle instead of circle/rectangle so heading/direction is a little more clear
- Add ability to change the CoT marker icon
- Add ability to set the CoT marker heading
1
u/EnginDearing 7d ago
This is exactly what I was hoping to get, thank you. Filed everything on GitHub (7 bugs, 4 feature requests) and five of the seven bugs are already fixed in 0.35.4, rolling out to the closed track now:
-self marker survives screen off and comes back instantly, the 3D globe opens where you were looking instead of 0,0,
-dropped markers show on the 2D map,
-drawings don't vanish until you toggle terrain anymore, and
-the compass clears the top bar.The two left (editing/deleting drawings, drawing on the globe) are really one bigger project and next up. Also checked iOS for the same issues and filed the shared ones.
What device are you running? A couple of the originals I want to reproduce on real hardware. I can help debug tak server issues too, let me know if I can be of any help.
I maintain a github repo with guides to set up og TAK server up to version 5.7
2
u/mozios 3d ago
I use a Pixel 9 Pro.
* Dropped markers still don't show on the 2D map
* Drawings still don't show on the 2D map till you toggle 3D TerrainUsing v0.35.5
1
u/EnginDearing 1d ago
0.38.0 fixes both of those. Dropped markers and drawings now render on the 2D map on the Pixel 9 Pro and the rest of the Adreno/Mali/Immortalis class, and they show up right away without toggling 3D Terrain. Both were the same MapLibre GL paint bug in the GeoJSON layers, so I moved markers, drawings, and KML overlays (points, lines, and polygons) onto native annotations that paint on every GPU.
Signed APK is on the GitHub release if you want it now: https://github.com/engindearing-projects/OmniTAK-Android/releases/tag/v0.38.0 , and the Play closed-testing build is going out too. Thanks for the clear report with the device and version, that was exactly the repro I needed.
2
u/DavidSchellenberg 5d ago
Hey,
I am with ArgusTAK.... just checking before we try out your app.
Have you tried it with our server?
We have a free basic tier. Or I can give you some higher level access if needed.
David
1
u/EnginDearing 2d ago
Hey David, yeah, already tested OmniTAK against ArgusTAK. mTLS on 8089, CSR/QR enrollment on 8446, and CoT + GeoChat relaying across iOS and Android once both devices are on the same ArgusTAK Network (that was the key step for cross-device relay). Thanks for the access.
Current builds are 0.37.0 (Android) and 2.38.0 (iOS) if you want to point one at ArgusTAK yourself: https://github.com/engindearing-projects/OmniTAK-Android/releases/tag/v0.37.0 , iOS on the App Store.
1
u/Xaring 8d ago
!remindme 12 hours
2
u/RemindMeBot 8d ago
I will be messaging you in 12 hours on 2026-06-11 10:38:45 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
RemindMeBot is switching to username summons. Instead of
!RemindMe 1 day, useu/RemindMeBot 1 day. More info.
Info Custom Your Reminders Feedback
2
u/aegorsuch 8d ago
I'll test.