Many modern aircraft are equipped with ADS-B; a surveillance technology in which an aircraft determines its position via GPS and periodically broadcasts it, enabling it to be tracked.
ADS-B
ADS-B is much more accurate than conventional radar surveillance systems. This gives air traffic controllers the potential to reduce the required separation distance between aircraft that are ADS-B equipped.
ADS-B is seen as being vital to maintaining future efficient airspace management in busy airspace. It also provides advantages in remote ‘non radar’ areas too – here suitably equipped aircraft, with a traffic receiver connected to a display can see other aircraft without conventional radar coverage. This enhances aircraft visibility and reduces the risk of air to air collision.
ADS-B transmits separate messages every 500ms carrying 10 bytes of data each. These contain GPS position (latitude, longitude), pressure, altitude, callsign, as well as track and ground speed over 1090 MHz with about 50 kHz of bandwidth. ADS-B uses pulse-position modulation to transmit data.
What does it look and sound like?
If you were to visualize the 1090 MHz frequency during ADS-B broadcast it would look something like this
And if modulated in AM, it would sound something like this:
Receiving ADS-B
Receiving ADS-B is relatively easy as long as you have the correct equipment:
- A working RTL-SDR dongle that can receive at 1090 MHz. The R820T or R820T2 tuner is recommended for best performance at 1090 MHz.
- A vertically polarized antenna tuned to 1090 MHz.
- Optionally, a 1090 MHz Signal Filter
- Software for listening and decoding ADS-B.
- Software to graphically display the received aircraft location data.
Depending on the Antenna setup, you'll be able to pick up signals from aircrafts pretty far from your position, especially if you are outdoor and in a position with a good sky view.
I decided to hook these up to a Raspberry Pi 3 B+ running a headless setup of Raspbian Stretch Lite.
Dump1090
After installing the RTL-SDR drivers (`apt-get install rtl-sdr`) I then installed Dump1090. Dump 1090 is a Mode S decoder specifically designed for these RTL-SDR devices.
Feed Data to FlightRadar24 and FlightAware
All that I needed to do now, was install the FlightRadar24 and FlightAware packages to feed them data from my dump1090 installation.
Currently, I'm using an indoor antenna and my receiver is receiving ADS-B broadcasts from aircraft about 150 km away. I will soon upgrade to an outdoor antenna when I have time to lay some proper coax cabling, hopefully this will increase the range and get better data.
FlightAware also provides a public dashboard where you can see contributions 😁
Interested?
If you're interested and want to get started here are some tips and links:
- PiAware - ADS-B and MLAT Receiver ✈ FlightAware
- Build your own ADS-B receiver – Pi24
- PiAware Aircraft Tracking Kit Inc. Raspberry Pi 3B+
- About RTL-SDR
- RTL-SDR Quick Start Guide
- /r/ADSB
- /r/RTLSDR
- /r/AmateurRadio
- Find your local amateur radio community:
- Malta: Malta Amateur Radio League (MARL)
- United Kingdom: Radio Society of Great Britain (RSGB)
- United States: American Radio Relay League (ARRL)
- Canada: Radio Amateurs of Canada (RAC)
- Australia: The Wireless Institute of Australia (WIA)
- New Zealand: New Zealand Association of Radio Transmitters (NZART)
- Others can be found by Googling ones close to your location