ADS-B Aircraft Tracker

During the past few months, I developed an interest for radio frequency (RF) technologies and was looking for a project where I could apply these technologies. I stumbled upon ADS-B (Automatic Dependent Surveillance-Broadcast). Air traffic controllers and pilots use this system to identify aircraft as well as their speed, position (using GPS satellites) and altitude, to name just a few. This information is broadcast by (almost) all aircraft – even hot air balloons – at a frequency of 1090 MHz. Anyone with the proper equipment can decode (and visualize) this data in real time or store it for later processing.

ADS-B communications
source: aopa.org

ADS-B data collection

Companies such as FlightAware have developed ADS-B decoding software that runs on Linux computers such as a Raspberry Pi. Anyone can join the network by installing an antenna on (or in) their home and configuring the software to upload the collected data. FlightAware then processes this data and makes it available to their customers.

It is also possible to set up a personal tracker website which displays only the data provided by the local system. This is what I have done and is available here. The figure below shows the aircraft over the Netherlands (and beyond) during quiet hours in the weekend.

A map of aircraft flying over the Netherlands and beyond
Aircraft flying over the Netherlands during quiet hours in the weekend

The figure shows that the range of my setup is very decent. Western Europe is a busy place when it comes to air traffic. During peak hours, the system tracks and displays 300 aircraft simultaneously. This includes commercial airliners but also military aircraft, helicopters and private jets.

My ADS-B receiver setup

Before I purchased parts, I spent lots of time reading through the FlightAware community forums. It’s an active community with lots of useful resources. After lots of research, I decided to buy the following:

  • Antenna: FlightAware 1090 MHz antenna. It’s about 60 cm long and easy to mount on a mast;
  • Receiver: FlightAware Pro Stick. It has a built-in amplifier and has good compatibility;
  • Computer: Raspberry Pi 3, including a 16GB SD card. The Pro Stick plugs into on of the Pi’s USB ports;
  • Cables & connectors: Hirschmann KOKA 799 coax cable (~3 m) with suitable connectors (N, F, SMA);
ADS-B installed on the roof
The installed ADS-B antenna

The antenna has been mounted on a mast on the roof and stands just above the roof’s highest point for better performance. The coax cable is routed inside to the Raspberry Pi. This processes the data and sends it to the FlightAware network through a connected router. I explain the software set-up process in this blog post.