Home Air Traffic Control (ATC) radar monitor for Android and Amazon Fire tablets.
Kotlin / Jetpack Compose port of esp32-atchome.
Turns an Amazon Fire 7 (or any Android tablet / phone) into a dedicated, always-on desktop ADS-B radar display.
- Tactical radar — range rings (NM), home-centered crosshair, scheduled-service airport markers with readable names and selectable size classes, heading-aware chevrons, altitude-based coloring, fading trails, tap-to-select
- Detail panel — aircraft type, registration, callsign, live distance / altitude / speed / heading, route enrichment, status badge
- Settings — home lat/lon (with map picker), search radius, poll interval, keep-screen-on, trail / range-ring toggles, airport class filters
- Kiosk-friendly — immersive fullscreen landscape layout with smooth dead-reckoning between ADS-B snapshots
| Hardware | Amazon Fire 7 (5th–12th Gen) or any Android tablet / phone |
| OS | Android 7.0+ (API 24) |
| Layout | Best in landscape (~1024×600): radar left, info panel right |
| Data | adsb.fi (traffic) · hexdb.io (metadata) |
- Open the project in Android Studio (Hedgehog or newer).
- Let Gradle sync finish.
- Run on a device or emulator (
Shift+F10).
.\gradlew assembleDebug
adb install -r app\build\outputs\apk\debug\app-debug.apkDebug APK output: app/build/outputs/apk/debug/app-debug.apk
- Enable USB debugging — Settings → Device Options → About → tap Serial Number 7× → Developer Options → USB Debugging.
- Connect via USB and allow the computer when prompted.
- Install with
adb install -r …as above, or copy the APK and allow Apps from Unknown Sources.
Default home location is 52.289514, -0.865019 with a 25 NM radius.
- Tap the gear icon.
- Set home latitude / longitude (latlong.net) or pick on the map.
- Adjust radius (15–35 NM is a good starting point) and poll interval.
- Tap Save & Apply — settings persist across restarts.
app/src/main/java/com/atchome/atc/
├── MainActivity.kt # Fullscreen kiosk activity
├── api/ # adsb.fi, hexdb.io, geocoder, images
├── data/ # Tracker, SettingsManager, bundled airport catalog
├── geo/ # Distance / NM offset math
├── model/ # Aircraft, Airport, TrailPoint
├── ui/ # Radar, info panel, settings, map picker
└── viewmodel/ # Polling, enrichment, UI state
See CONTRIBUTING.md for setup, PR expectations, and issue guidelines.
CI builds a debug APK on every push and pull request to master (workflow).
- esp32-atchome — original ESP32 firmware
- esp8266-atchome — ESP8266 variant
Released under the MIT License.
See SECURITY.md for how to report vulnerabilities privately.
Airport locations and scheduled-service status are from OurAirports, which publishes the data in the public domain.