Open Source ADS-B aircraft position tracker on the 1090 MHz (ES) and 978 MHz (UAT) bands for Android devices
Do you have an Android device that you would like to put to use? You can now set up and run your own mobile ADS-B ground station that can be used anywhere and receive real-time data directly from airplanes on your Android device.
It receives ADS-B data directly from airplane transponders via a small antenna connected to your Android device. This app then makes the real-time data available to view on your Android's screen, or optionally to any user on your local network if they point their web browser to your Android device's IP address.
Your mobile ADS-B station can run this Android app to track flights within 50-300 miles (line of sight, range depending on antenna).
This project is intended to be compiled with Android Studio 2.1 or higher. https://developer.android.com/studio/
No special build instructions are required, and all other code dependencies are already included.
Configuration files to support use of ProGuard to shrink the compiled APK as small as possible is also included, but this can be disabled if necessary or it is problematic.
USB OTG is a requirement to run this app, however, most new devices released in the last couple of years are compatible with USB OTG.
You must have a way to connect the USB-RTL dongle to your Android device. This is typically done using a USB On-The-Go (OTG) cable or docking station that is compatible with your Android device.
Most USB OTG Cable/Docks do not support simultaneous charging or have limited Android model compatibility. You might need to purchase a different USB OTG Cable/Dock that is compatible with your Android device.
We strongly recommend that you use a OTG cable/dock that allows your phone to be charged at the same time because tracking flights will fully drain the battery on your device very quickly (usually in less than an hour).
The following USB OTG cables or docks also support simultaneous Android charging for some devices:
If your Android phone/tablet supports wireless (Qi) recharging, then that may be another way to power your device and simultaneously use the USB port for connecting to the DVB-T dongle, if you are unable to find a compatible USB OTG cable that also supports supplying power. This method will require having a non-powered USB OTG cable, a wireless charging dock, and a wireless power receiver if your device did not originally come with it.
You must also purchase an ADS-B (DVB-T) Receiver USB Dongle with Antenna.
List of supported USB RTL-SDR dongles:
This app was originally developed by FlightAware in October 2014, as an experiment to see if there was community interest in using Android hardware to collect ADS-B aircraft data. Its implementation was based loosely off of several existing projects, notably by translating portions of dump1090 and dump978 to Java.
The versions of this app initially published by FlightAware were called "FlightFeeder for Android" and included networking capability to upload received aircraft positions to the FlightAware ADS-B network.
Ultimately, it was found that only a very small number of users were willing to dedicate old Android devices to running the app on a regular basis, and that it was easier to use a Raspberry Pi device for permanently installed receivers. https://flightaware.com/adsb/piaware/build
FlightAware then announced that on September 15, 2016 this app would be released as Open Source, and rebranded as "ADS-B Flight Scanner". Additionally, the Open Source version would remove its support for uploading aircraft positions to the FlightAware network, due to known data quality and backend support burden issues. https://discussions.flightaware.com/ads-b-flight-tracking-f21/flightfeeder-android-update-t37736.html
The Open Source version of the app is not expected to be updated by FlightAware after it has been made available, but other interested developers are encouraged to fork it and release their own creative derivatives, in compliance with the license terms of the GNU GENERAL PUBLIC LICENSE v2. It is requested that all new forks use their own application name and package namespace.