Not compact or dense in arrangement or structure

Tracking planes with Raspberry Pi and Docker

When you use a flight tracking app on your phone to see where a flight is it’s very possible that location data has been crowd sourced. Pretty cool!

Sites like FlightAware.com and FlightRadar24.com use feeds of data from people around the world to help build their datasets. Participating in those feeds is open to anyone who has some basic equipment. This works by listening to the ADS-B and Mode-S signals transmitted by aircraft. These signals identify aircraft and in some cases include positional data. It’s very easy to listen for these signals using a 1090Mhz antenna and an ADS-B receiver. A couple of years ago I bought some equipment on Amazon, hooked up the software running on a Raspberry Pi and got started feeding it to FlightAware.com.

However, recently I stepped things up a notch with a new better antenna and dockerizing my setup. More on that in a moment, but first …

Getting started – for those who want to try this themselves

If you want to try this out yourself you will need some basic equipment:

The “good” with the PiAware guide is it’s the simplest build process, the “bad” is that it’s specific to flight aware and doesn’t set you up to feed other providers.

“Need more input!” – Short Circuit (1986)

Eventually you might find yourself wanting more “range”. The small indoor antenna might let you track aircraft 30mi/50kms away, depending on the terrain around you, line of sight and trees etc…

When you “need more input” you will need a better antenna. This may possibly require some WAF (“wife acceptance factor”) (or HAF, husband acceptance factor) … as it will likely require putting something outdoors and, for best results, on your roof.

My situation called for mounting it externally on the roof along a gutter line. Ideally I would have mounted it on a peak of the roof, but I didn’t feel comfortable drilling holes in my roof, so opted for a mount that let me hang it from under the eaves.

The new outdoor setup and better antenna really bumped up my coverage. Even without optimal mounting (as you can see there are trees on the south side of our house) range went from < 50mi to ~150-200mi in some directions.

Dockerizing all the things

I like Docker containers. They make my life simple for running different apps and services on one box and it seemed to make sense to me that you should be able to run the piaware software and dump1090 software in containers instead of on the Raspberry Pi directly.

I came across an article “Get eyes in the sky with your Raspberry Pi” by Alex Ellis who had done just that! In Alex’s setup however the configuration of the containers is baked into the docker images at build time which isn’t ideal. I made some improvements like moving all configuration to Environment variables and added Docker-Compose support.

With everything in Docker containers it was relatively simple to add a feeder to another tracking site FlightRadar24.com. They also provide software “fr24feed” that takes a feed from dump1090 and processes/uploads it. You can find optional instructions in the ReadMe file on how to add this pretty simply.

Summary

I love this stuff. It’s a fun project with hardware and software aspects to it. Hanging out of a second story window being held by my wife around the waist was a “hilarious” exercise that I suggest every marriage attempts at some point.

I still have some re-wiring to do in the attic to secure the wiring a bit more, and possibly add some more feeders to feed other tracking sites before I’m complete with the project too.

Going forward I’m not sure what is next for this project yet. I’m sure there is more to be done and that I’ll likely be mounting more hardware the roof at some point! LOL.

I hope you can enjoy the frivolity of a project like this as much as I do!