AERIS is an open-source, privacy-first Android ground station for inexpensive Wi-Fi FPV drones. It aims to replace obscure proprietary controller apps with a transparent, local-first application for connecting, viewing video, taking photos, and recording flights.
Many low-cost FPV drones rely on vendor Android apps with poor UX, unclear permissions, advertising, analytics, or weak privacy guarantees. AERIS exists to provide a trustworthy alternative focused on local control, honest compatibility reporting, and user safety.
This repository is now in an early alpha prototype stage. The current codebase includes:
- Product documentation and architecture notes
- A Compose Android app with Home, Flight, Media, and Diagnostics screens
- A tactical full-screen flight HUD with draggable layout editing
- Core driver abstractions and shared models
- A functional mock driver for UI development without hardware
- Experimental live S2x / Hiturbo S20 video and control support
- Still-photo capture to
Pictures/AERIS/<drone name>/ - Basic reconnect handling and protocol unit tests
The app is usable for careful testing, but it is still experimental.
The first meaningful release should allow a user to:
- Detect whether the device is connected to a compatible drone Wi-Fi network
- Connect to a supported Hiturbo S20-class drone
- View the live FPV feed
- Capture still images from the incoming video
- Record video locally
- Inspect basic connection diagnostics
- Disconnect cleanly
The initial release does not attempt to provide:
- Software joystick flight controls
- Autonomous flight features
- Fake telemetry the drone does not expose
- Cloud upload or synchronization
- Accounts, ads, analytics, or tracking
- Universal drone compatibility
- No accounts
- No ads
- No analytics
- No cloud dependency
- No data collection
- Minimal permissions
- Local-first storage for captured media
Planned first target:
- Hiturbo S20
Protocol family:
- S2x / Macrochip-compatible Wi-Fi FPV devices
Current support status:
- Mock mode available
- Experimental S2x live mode available
- Best treated as alpha software for careful testing
- Landing page source:
docs/index.html - First release draft:
docs/releases/v0.1.0-alpha.md
The app currently stays as a single Android module, organized by package:
app: Android entry pointsnavigation: top-level destination definitionsui: screens, components, theme, and UI statecore: shared models and driver contractsdrivers: protocol-family implementationsmedia: media storage and recording abstractionsdiagnostics: connection diagnostics models
Requirements:
- Android Studio with current Android SDK tooling
- JDK 11+
- An Android device or emulator for UI testing
Common commands:
./gradlew test
./gradlew assembleDebug- Enable developer options and USB debugging on the device.
- Connect the device to Android Studio or use
adb. - Build and install the debug app.
- For now, use mock mode to verify the UI flow.
- Real drone testing should be done in a safe, controlled environment.
Contributions are welcome, especially around:
- Reverse engineering compatible drone protocols
- Protocol parser robustness
- Privacy-preserving media features
- Diagnostics and compatibility reporting
- UI polish and accessibility
Please prefer simple, readable Kotlin and avoid introducing unnecessary dependencies or architecture layers before they are justified.
Users remain responsible for safe and lawful drone operation. Experimental drivers may behave unexpectedly. Validate all features in a controlled environment before relying on them in flight. AERIS is not associated with drone manufacturers.
License placeholder: no license file has been added yet.