An open-source ATAK plugin for viewing and controlling HUD (Heads-Up Display) devices via USB-C cable.
OmniHUD enables ATAK integration with HUD devices like ECOTI, allowing real-time tactical data display directly in night vision and thermal optics. This plugin communicates via USB-C to send position, waypoint, and tactical information to compatible HUD hardware.
- USB-C HUD Communication: Direct connection to HUD devices
- Real-time Data Streaming: Send ATAK data to HUD displays
- ECOTI Support: Optimized for ECOTI integration
- Position Overlay: Display user position and heading
- Waypoint Navigation: Send waypoints and routes to HUD
- Contact Information: Display nearby teammates and contacts
- Open Source: Enable other manufacturers to integrate
- ECOTI: Via USB-C adapter (https://www.reddit.com/r/NightVision/comments/1oj7oiq/)
- Additional HUD devices can be added via open-source contributions
The plugin integrates directly into ATAK with a dashboard featuring:
- Real-time HUD connection status
- USB device selection and management
- Connect/Disconnect controls
- Data streaming configuration
- Device status preview
Dropdown menus with optimized black-on-white text for maximum readability
- ATAK Version: 5.4.0 or newer (CIV/MIL)
- Android: 5.0 (API 21) or higher
- Hardware: USB-C capable Android device
- HUD Device: Compatible heads-up display unit
- Download the latest APK from Releases
- Install on Android device with ATAK installed
- Enable plugin in ATAK Settings → Plugin Management
- Restart ATAK
- Connect HUD device via USB-C
- Connect HUD to Android device via USB-C
- Grant USB permissions when prompted
- Open OmniHUD from ATAK toolbar
- Select your HUD model
- Enable data streaming
Configure what data streams to your HUD:
- Position: Own location and heading
- Waypoints: Active navigation points
- Contacts: Nearby teammates
- Routes: Planned paths
- Markers: Map markers and POIs
git clone https://github.com/engindearing-projects/omni-HUD.git
cd omni-HUD
./gradlew assembleCivDebugOmniHUD is designed to be extensible. To add support for a new HUD:
- Implement
HUDDeviceinterface - Add USB VID/PID to device registry
- Implement data formatting for your protocol
- Submit pull request
See CONTRIBUTING.md for details.
OmniHUD sends data using standard Cursor-on-Target XML format:
<?xml version='1.0'?>
<event version='2.0' uid='...' type='a-u-G' time='...' stale='...' how='h-g-i-g-o'>
<point lat='39.2' lon='-77.0' hae='121' ce='9999999.0' le='9999999.0' />
<detail>
<contact callsign='CALLSIGN'/>
<status readiness='true'/>
<!-- Additional tactical data -->
</detail>
</event>- USB Communication Layer: Android USB Host API
- CoT Parser: Standard TAK CoT message handling
- Device Abstraction: Pluggable device drivers
- Data Filter: Configurable data selection
- Format Converter: Device-specific output formatting
- Event System: ATAK MapEventDispatcher best practices
This plugin follows official ATAK best practices for map event handling:
- ✅ Event-Driven Updates: Uses
MapEventDispatcherinstead of polling for efficiency - ✅ Proper Listener Management: Event listeners are registered and cleaned up properly
- ✅ Push/Pop Pattern: Tools use listener stack for exclusive event handling
- ✅ Item Tracking: Real-time COT item tracking via
ITEM_ADDED/REMOVED/REFRESH - ✅ Memory Leak Prevention: All listeners cleaned up on disposal
See ATAK_BEST_PRACTICES.md for detailed implementation guide.
We welcome contributions! This project is open-source to enable broad HUD compatibility across manufacturers.
- Additional HUD device support
- Protocol optimizations
- Data visualization improvements
- Documentation
- Testing with different hardware
See CONTRIBUTING.md for guidelines.
MIT License - See LICENSE for details
- Hardware: ECOTI USB-C adapter by j@engindearing.soy
- ATAK SDK: TAK Product Center
- Community: Thanks to r/NightVision for testing and feedback
- Issues: https://github.com/engindearing-projects/omni-HUD/issues
- Discussions: https://github.com/engindearing-projects/omni-HUD/discussions
- Reddit: r/NightVision
- ECOTI HUD Adapter: https://www.reddit.com/r/NightVision/comments/1oj7oiq/
- TAK.gov: https://tak.gov
- ATAK Documentation: https://tak.gov/products/atak
🤖 Built with Claude Code
