- Live tracking of Remote/Drone ID–compliant drones
- Decodes Ocusync and others
- Instant flight path visualization and telemetry
- Multi-protocol (ZMQ & multicast)
- Source identification
- Advanced analysis: signal strength, position consistency, transmission patterns, and flight physics
- No GPS, no problem. Using the RSSI lets us estimate distance to target.
- Real-time alerts for MAC changes with historical tracking and origin ID association
- Identifies WiFi, BT, and SDR signals with source MAC tracking and signal strength monitoring
- Real-time performance metrics: memory, CPU load, temperature, GPS & ANTSDR status
- Swipe-to-delete & untrack
- Label encounters with aliases and trust status
Tip
Find the live map view and other tools in the upper right menu icon of any drone message
- Overview of live signal counts, system health, and active drones with proximity alerts
- Logs each drone encounter automatically with options to search, sort, review, export, or delete records.
Option 1: WarDragon/Pro
- Works out of the box, put its IP into the connection settings and go.
Option 2: DIY
-
Uses your own stack to provide the app data
Configuration A: WiFi & BT Adapters
- ESP32 with WiFi RID Firmware (see below), or a a WiFi adapter using DroneID
- Sniffle-compatible BT dongle (Catsniffer, Sonoff) flashed with Sniffle FW or the dualcore fw
- GPS module for status & proximity estimates
- (Optional) ANTSDR E200 - for decoding Ocusync and others
Configuration B:
- ESP32S3/C3
- GPS module for status & proximity estimates
-
The below command will verify the expected sha256sum and install the software and then flash an esp32. FOR MAC & LINUX ONLY, windows see manual setup:
curl -fsSL https://raw.githubusercontent.com/Root-Down-Digital/DragonSync-iOS/refs/heads/main/Scripts/setup.sh -o setup.sh && [[ $(shasum -a 256 setup.sh 2>/dev/null || sha256sum setup.sh) =~ ^f5749589a00526b8b1d99cd15b7a5d4dd6decb84f5863df78c4fa476322447e5 ]] && chmod +x setup.sh && ./setup.sh
Choose skip flashing when prompted if using your own wireless adapters instead of esp32
-
0. Go to software requirements and complete all steps
1. Choose Firmware:
- Official WarDragon WiFi RID ESP32 FW for T-Halow Dongle - Recommended
- Dualcore BT/WiFI for xiao esp32s3*
- WiFI Only for xiao esp32s3
- WiFI Only for xiao esp32c3
2. Flash
esptool.py --chip auto --port /dev/yourportname --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x10000 firmwareFile.bin
- (Change port name and firmware name/filepath)
*Swap in this zmq decoder to handle both types over UART RID here if using the dual RID fw.
- Optional: Persist detection using service files made by @alphafox02.
- Mod the commands to suite and copy to an OS service dir (
/etc/systemd/system
for example).
Start Detecting WiFi RID using esp32 (the setup.sh creates use commands for all hardware cases, this is an example workflow)
# Run the decoder
cd DroneID
python3 zmq_decoder.py -z --uart /dev/youresp32port --zmqsetting 0.0.0.0:4224 --zmqclients 127.0.0.1:4222
# In a new tab, run the system monitor (not a requirement)
cd Dragonsync
python3 wardragon_monitor.py --zmq_host 0.0.0.0 --zmq_port 4225 --interval 30
- Set app ZMQ IP to your host and enable in settings.
- The app will continue monitoring in the backround.
This section covers manually setting up the backend Python environment on Linux, macOS, and Windows.
Required
WiFi
- DroneID for decoding RID packets
Bluetooth
- Sniffle flashed on BT RID hardware (Sonoff, Catsniffer)
Status
- DragonSync Python for system stats, TAK integration and more
Optional
- DJI Firmware - E200 for SDR
-
Install Dependencies:
sudo apt update && sudo apt install -y python3 python3-pip git gpsd gpsd-clients lm-sensors
-
Clone & Setup:
git clone https://github.com/alphafox02/DroneID.git git clone https://github.com/alphafox02/DragonSync.git cd DroneID git submodule update --init ./setup.sh
-
Install Homebrew & Dependencies:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install python3 git gpsd
-
Clone & Setup:
git clone https://github.com/alphafox02/DroneID.git git clone https://github.com/alphafox02/DragonSync.git cd DroneID git submodule update --init ./setup.sh
-
WSL (Recommended):
Install WSL (wsl --install
) and follow the Linux instructions. -
Native Setup:
Install Python and Git from python.org and git-scm.com, then clone and set up using Git commands above. -
Install Backend Dependencies
# DroneID Setup git clone https://github.com/alphafox02/DroneID.git cd DroneID git submodule update --init ./setup.sh # Install additional dependencies: sudo apt update && sudo apt install lm-sensors gpsd gpsd-clients cd .. git clone https://github.com/alphafox02/DragonSync/
The ZMQ Server option provides direct JSON-based communication with full data access. Ideal for detailed monitoring and SDR decoding.
The Multicast option uses Cursor on Target (CoT) to transmit data for integration with TAK/ATAK systems. It supports multiple instances but may offer less detailed data compared to ZMQ.
Monitoring & Decoding Options
Task | Command | Notes |
---|---|---|
System Monitor | python3 wardragon_monitor.py --zmq_host 0.0.0.0 --zmq_port 4225 --interval 30 |
Works on most Linux systems |
SDR Decoding (DroneID) | python3 zmq_decoder.py --dji -z --zmqsetting 0.0.0.0:4224 |
Required for DroneID SDR decoding |
Starting Sniffers & Decoders
Sniffer Type | Command | Notes |
---|---|---|
BT Sniffer for Sonoff (no -b ) |
python3 Sniffle/python_cli/sniff_receiver.py -l -e -a -z -b 2000000 |
Requires Sniffle |
WiFi Sniffer (Wireless Adapter) | python3 wifi_receiver.py --interface wlan0 -z --zmqsetting 127.0.0.1:4223 |
Requires compatible WiFi adapter |
WiFi Adapter/BT Decoder | python3 zmq_decoder.py -z --zmqsetting 0.0.0.0:4224 --zmqclients 127.0.0.1:4222,127.0.0.1:4223 -v |
Run after starting WiFi sniffer |
ESP32/BT Decoder | python3 zmq_decoder.py -z --uart /dev/esp0 --zmqsetting 0.0.0.0:4224 --zmqclients 127.0.0.1:4222 -v |
Replace /dev/esp0 with actual port |
-
Clone Repository:
git clone https://github.com/Root-Down-Digital/DragonSync-iOS.git
-
Build the iOS App:
cd DragonSync-iOS pod install
-
Open in Xcode:
OpenWarDragon.xcworkspace
-
Deploy:
Run the backend scripts as described; then build and deploy to your iOS device or use TestFlight.
-
Credits:
- DragonSync
- DroneID
- Sniffle
- Special thanks to @alphafox02 and @bkerler
-
Disclaimer:
This software is provided as-is without warranty. Use at your own risk and in compliance with local regulations. -
License:
MIT License. SeeLICENSE.md
for details.
- Contributing: Contributions are welcome via pull requests or by opening an issue.
- Contact: For support, please open an issue in this repository.
DragonSync is under active development; features may change or have bugs. Feedback welcome
Important
Keep your WarDragon DragonOS image updated for optimal compatibility.
Tip
Ensure your iOS device and backend system are on the same local network for best performance.
Caution
Use in compliance with local regulations to avoid legal issues.