As an amateur radio operator and full-time geek, I’ve always been interested in the convergence of technologies, especially when the convergence scratches a few of my itches. One one of my latest hobbies is tracking commercial airliners through their ADS-B broadcasts. It’s a hobby that doesn’t take much time outside of setting it up. In about two hours, I configured a receiver, built an antenna, and set up software that shares what I find with the world, and all for under $30. Here’s how I did it.
The ADS-B protocol is a digital “status update” signal broadcast by airplanes which updates other aircraft around it with important location information and the like. The FAA would eventually like to see ADS-B take the place of ground-based radar but not all airplanes use it yet. Transceivers are still pricey and owners of general aviation aircraft like Cessnas largely haven’t yet adopted the system. There’s an amazing amount of data being sent and anyone with the proper receiver can intercept it (oops, that’s what we called radio reception when I was a Navy cryptologic technician), and that receiver can be dirt-cheap like the RTLSDRs.
Three years ago the radio-geek world was set ablaze when it was discovered that a mass-market DVB-T USB device had the ability to become a software-defined radio, basically a wide-range receiver that can easily decode almost any signal. Hobbyists soon were using these $15 RTLSDR dongles for just about everything, including tracking airplanes. I had a few lying around that weren’t really being used for anything so I hooked one up to my Raspberry Pi
So you know about ADS-B signals, you have a RTLSDR receiver and a computer to plug it into. What’s missing? The antenna and software! The antenna that the RTLSDR receivers come with is tuned for digital television and not ideal for picking up the 1090 MHz signal of ADS-B broadcasts. Thus, you’ll be more successful if you build your own antenna. Through the magic of the Internet, I found plans for building a “coaxial collinear” antenna, basically a sliced-up-and-pieces-back-together section of the familiar RG-6 cable TV cable. By dividing this cable into sections that are the wavelength of 1090 MHz, you can vastly improve your ADS-B reception. I spliced together an antenna in about an hour, housed it in a section of PVC pipe, and bolted it to my TV antenna 36 feet above the ground. My antenna doesn’t clear all of the trees in my yard but it does extend the reach of my receiver considerably.
The final piece you need is the software itself. Dump1090 is an amazing piece of open source software which takes the signals decoded from the RTLSDR and plots the positions of the planes that sent them. It comes with several map choices that can be displayed in a web browser (Google Maps is being phased out in favor of OpenStreetMap) and you can also forward on your sightings to a commercial flight-tracking service like FlightAware or FlightRadar24 if you choose. These services will often provide you with a premium account in exchange for the flight data you provide. I am especially impressed with the dump1090 fork that Mutability maintains. Users will submit requests for features and sometimes within a week they will appear in his version of dump1090! It’s open source at it’s best! I do have mixed feelings about sharing my free data with a flight tracking company that will resell it, but until there’s an open source or Creative Commons-licensed flight sharing site this will have to do.
Dump1090 runs on Linux or Mac, so you’ll have to have a *nix platform to use it. You can also run it in a Linux virtual machine if you have VirtualBox or something else on your Windows desktop. I prefer to run mine on my Raspberry Pi as it fits just fine on my tiny low-powered computer.
My next project will be to configure dump1090 to save the data it decodes so that I can play back the positional data that I’m receiving. This will help me adjust my antenna for optimum reception. Perhaps I could design the architecture so that other interested dump1090 users could share their data via a Torrent or similar swarm-streaming system. Good stuff!