One of the things about being in lockdown here in London is that I've had time to work on various projects that have been sat on the back burner. So in the last three months or so, I've set up a much improved microphone and camera system for podcasting and streaming, built a new time-lapse rig for the sky that passes by, practiced my wildlife photography on the local suburban critters, and built and set up a software-defined radio system to track passing aircraft.
Aircraft over London on a July afternoon, as tracked by my ADS-B receiver
Simon BissonThat last one is perhaps the more interesting for ZDNet's readers, as it's how you can start to feed aircraft location data into a growing network of tracking stations that uses the GPS locations most aircraft transmit to build a global map of air traffic. This approach, ADS-B, is intended to make it easier for aircraft to locate each other and for air traffic control to keep track of them. The fact that the data is there for anyone to capture and use is just a side-effect.
SEE:Hiring Kit: Python developer(TechRepublic Premium)
Picking up the ADS-B signals is easy enough: they're broadcast on a known frequency, 1090MHz, and have to deliver data in a set format. If you've got the right receiver, that binary data can be quickly translated into coordinates that can be plotted on a map, using callsigns to look up aircraft type and owner. You've probably seen services like Flightradar24 and Flightaware in the news, offering ADS-B information to anyone with a web browser.
Those services get their data from a network of volunteers, with their own ADS-B receivers. Usually based around open source software, their base stations are easy enough to build and deploy, using software-defined radios to receive ADS-B signals. Most are based around a popular chipset that was originally developed to add USB digital TV receivers to PCs, with a set of APIs that made it easy to adapt for other uses.
Setting up an ADS-B base station is now as easy as getting a Raspberry Pi, plugging in a receiver, and downloading and configuring a ready-to-run system image. My system is based around a 2GB Raspberry Pi 4 in a heatsink case, with a Flightaware ADS-B radio stick, a 1090MHz desktop antenna, and a copy of Flightaware's Piaware software distribution.
Based on Raspbian, Piaware is a headless Linux distribution with all the software you need to work with a radio stick, including the Dump1090 ADS-B Mode S decoder. Dump1090 comes with a built-in web app that maps currently tracked aircraft and can also be used to send data to other apps and servers, helping feed data into larger public ADS-B networks.
You can get kits that include all the parts you need to set up and run an ADS-B receiver from hobbyist electronics stores, for around