Playing around with ADS-B
Ok, this is not going to be a very interesting post. It’s just a simple to-let-you-know that i now am spotting planes using an RTL adapter connected to a raspberry pi. If you are not interested you can stop reading now.
The other day i found this website called FlightAware because i needed to check a flight from Paris to Barcelona in which a friend of my wife was traveling. You know, surprise at the airport, we don’t want to be too early nor too late, that kind of thing.
That’s when i read about monitoring ADS-B using the RTL adapter and a raspberry pi. I still had a pi that was destined to be for an arcade machine which i never built and after being a MAME machine and an ad-blocking DNS cache i decided to look into this ADS-B stuff.
What is this ADS-B thing anyway? Well, ADS-B is used to communicate the position of airplanes to air traffic control. A bit like this:
FlightAware has a pre-build pi image called piaware, but downloading that onto an SD card would be the easy way, so i built everything from scratch on the existing RetroPi distribution which is based on rapbian.
First i had to understand how it works. The main program here is dump1090. Dump1090 uses the RTL-SDR adapter to tune it to 1090MHz and sits there listening for incoming mode S traffic, decodes it and makes that available several formats on several TCP ports on the system you are running dump1090 on.
dump1090 has another cool feature and that is that it is able to publish the data on top of a Google Map. And that looks like this:
Because this all started when i went to check FlightAware i am also publishing my data to their website. In turn i got a free license for PlanePlotter, but i am not using that. So why did i build this? No idea. I just think it’s fun to have all this running.
So there you have it. If you want to know how to build it, there are several manuals out there that guide you. Or you can use the pre-build piaware distribution, but be aware, there are some differences between a standard raspbian and piaware, specifically in the startup scripts. That’s why i didn’t want to use it.