Old Tech, New View: E-Waste to Premium Flight Tracker
As a tech enthusiast, I was an early Raspberry Pi fan and quickly got my hands on the earliest models when they became available. I ended up with multiple Raspberry Pi Model B’s back in 2012. After using the Pi to host projects such as a cat picture hijacking Wi-Fi hotspot, XBMC media center, and playing with Apache web server, each new Pi model meant greater specs, better efficiency, and less reasons to use the old ones. Soon I found myself with too many Pis and not enough projects.
While there are a plethora of sites willing to exchange premium account upgrades for ADS-B 'feeders' (individuals who sync flight data), I narrowed it down to the following three: FlightAware, Flightradar24, and ADSBexchange. FlightAware caught my eye as it not only provided turnkey solutions available to anyone willing to host their pre-configured boxes, they also provided instructions on how to build your own tracker while providing hardware requirements and recommendations. If you already have an existing Raspberry Pi, they offer software (PiAware) and instructions for how to configure it to submit data to FlightAware. Other sites provide their own preconfigured OS so you can start gathering and submitting flight data in no time.
Now you may say, "Frank, that sounds great and all, but why would someone want to collect and transmit data to 3rd party sites?" Not only does the collection and aggregation of ADS-B data provide a picture of an aircraft's location to air traffic control and other aircraft, but it also enhances situational awareness and safety in the airspace. The aircraft are broadcasting their location data instead of relying solely on radar tracking from ground stations, and 'feeders' capture that data to help triangulate and provide the latest, most accurate information. In return for participating, participants (feeders) are granted elevated account status which can include various perks, such as an ad-free experience, flight history and tracking, saved filters, additional map layers/views, and other benefits. If an individual were to pay for those premium or elevated accounts, the cost would vary per site and per tier. Below is a breakdown of the sites I am contributing to.
Site | Account Upgrade Tier | Cost/Value (per year) |
---|---|---|
FlightAware | Enterprise | $1200 |
ADSBexchange | Premium | $29.95 |
Flightradar24 | Business | $499.99 |
As the hardware requirements are extremely light, I was excited to realize all I had to do was get an inexpensive antenna and compatible SDR dongle, and I was in business. I quickly ordered an RTL2832U SDR Dongle and a 1090Mhz antenna, and I was off to the races. On a side note, there are much better antennas out there if you are looking to maximize coverage and range. Some sites even have leaderboards for feeders to see who captured the most flight data, which is a fun incentive.
I started by booting a fresh Pi OS and installing the following: PiAware Installation Instructions. Once configured and the data started flowing, my account was promptly upgraded to a $1200/yr enterprise plan. It was a breeze adding ADSBexchange as an additional destination by leveraging their feed.sh and axfeed.sh scripts, ADSBexchange Feeder Scripts. Boom, another $29.05 value account upgraded to premium for free. Flightradar24 was just as easy to connect. Like ADSBexchange, they provide a simple install.sh script. Flightradar24 asks for the standard feeder information to ensure accuracy, such as email address for registration (which also comes in handy if the feed goes down, more on that later), antenna geolocation, etc. After some rebooting and patience, I got another account upgrade in the form of a $499 business account.
I don't recall running into many egregious issues. Documentation is plentiful, and the most painful part was having to either restart services, deal with flaky micro SD cards, or deal with rebooting the Pi, which takes a lifetime when you are used to modern NVMe drives. There was a period where I would inexplicably get emails saying my feed was down and when checking the various services, I would see the feed was indeed not sending flight data. After too much time spent troubleshooting, I discovered my internal nameservers in /etc/resolv.conf
were being overwritten, causing issues (as discussed here). I considered making a cron job that would update /etc/resolv.conf
with the correct nameservers, but decided to instead make /etc/resolv.conf
immutable through the use of sudo chatter +i /etc/resolv.conf
.
Whenever I hear a plane overhead or see a low-flying helicopter, I can view immense detailed information that aircraft. I shared this project, not to encourage someone to buy new hardware that end up as e-waste, but to showcase how “obsolete” hardware can find new life. It’s a fun way to learn about aircraft tracking, wireless signals, and lightweight Linux. In a follow-up post, I will go into detail about how the challenge of wanting to view ADS-B data on a low-powered device or display it via a lightweight web server led to some interesting terminal tricks.
Resources:
https://www.raspberrypi.com
https://www.flightaware.com
https://www.adsbexchange.com
https://www.flightradar24.com