Building an ADS-B Flight Tracker on a Budget
Goal: Track local air traffic with a Raspberry Pi and a pop can antenna
Time Needed: a couple of hours
Now you all are probably wondering, why in the world would I want to do this? There are a couple of (admittedly mediocre) reasons.
It’s really neat to be able to see all of the details of the planes in the sky flying over. Everything from the flight number to the direction and speed to altitude and geolocation is all displayed with a map in a tidy web interface. It also then reports all of your collected data to the FlightAware website, where you can see where you will be granted a free premium subscription and be able to see statistics on your receiver.
I enjoy tinkering with electronics and have a fascination with radio signals. So tracking airplanes from a soda pop can on a chicken coop at my house? A no-brainer! My grandpa owns a personal plane, which makes this really cool because I can track all of the details of his flight.
We are going to create our own antenna out of an extra coax cable and a pop can that is built specifically for ADS-B. You could purchase an ordinary RTL-SDR receiver and antenna, but you will not be able to see near as many planes. I have not tried the “Official” FlightAware Antenna, but if you are willing to fork over the extra $50, it may be worth it.
The cantenna design was created by abcd567.
You want your setup to be in a location as high off of the ground and as far away from obstructions as possible, as these signals are line-of-sight. If there is a tree or house in the way in one direction, you won’t be able to see many planes in that direction.
If you will be placing your setup near your router, you may not need the WiFi adapter I used and could use an Ethernet cable. I’m using the adapter because my setup is in another building about 130 feet away from my router, and it performs terrifically!
What We’ll Need
- Drill
- 5⁄8” Spade Bit
- Zip Ties
Step 1: Create the Antenna
Cut the Can
First, we’ve got to cut our can 69 mm from the bottom. (see diagram above) I found it easiest to mark the cut with sharpie, jab a knife on the line, and use a scissors to cut around.
Then we need to cut a hole in the bottom of the can, big enough to fit one end of the F to F Coax Coupler through, but not too big so we can still fasten the washer and nut to keep the coupler in the can.
Insert the F-F Coupler
Now put one end of the F-F coupler into the hole you cut in the bottom of the can, screw on and tighten the nut to fasten it to the can.
Strip Coax for the Copper Whip
Now we need to strip the extra coax (not the good cabling we purchased). Any extra RG6 you have laying around the house will work. Use whatever you can to do this, as I could not find a great way to go about it.
- Cut about 4” of coax off of one end of the cable you found.
- Remove the outer black coating and the metal shield layers. Leave the clear coating on the wire.
- Now strip away just enough of the clear coating on one end of the wire to fit all of the way into the coupler.
- Put the wire in the coupler and cut it to be exactly 69mm from where it comes out of the coupler.
Create the Enclosure
Make sure your peanut butter jar is all cleaned out and you remove the label so we can weatherproof this thing!
Using your 5⁄8” spade bit, cut a hole into the lid of the jar.
Now we need to insert one end of our good RG6 coax into the lid of the jar and screw into the F-F coupler that is inside of the can.
The RG6 coax you buy should be enough to reach from the antenna to a dry location that you will store the brains in. Too much coax will cause signal loss. I used a 4ft cable
I also suggest taping the can onto the lid of the jar so that it doesn’t tip in the jar and bend your copper whip. Don’t use hot glue because you may need to do some cleaning or other maintenance later on.
Step 2: Make the Brains
These are all of the pieces that will need to stay in a dry location.
Connect the Electronics
- Put the Pi in its case.
- Connect the SMA Male to F Female Adapter to the FlightAware dongle. The dongle converts the signals that the Raspberry Pi will understand.
- Connect the dongle to the USB extension cable. This will allow room to plug in the WiFi adapter.
Software
Now for the software side of things. There are two ways to go about this. If you’re using the WiFi adapter listed above, we will use an Ubuntu Server installation because we’ll have to install the drivers for the adapter. If you are using Ethernet, or a adapter known to work with the Raspberry Pi well, use PiAware, an image created by FlightAware.
Ubuntu Server
You’ll want to set up Ubuntu without the FlightAware stick plugged in. Only plug in the TP-Link dongle and power. There is a great article on setting up Ubuntu headlessly by Claudio Carnino on Medium.
Before you do “Step 4: Going wireless” in his guide, install the TP-Link drivers (8192eu) using the following commands.
sudo wget http://www.fars-robotics.net/install-wifi -O /usr/bin/install-wifi sudo install-wifi
Then, to install the application that decodes the signals and displays and reports the data, follow the instructions on the FlightAware website.
PiAware
Instructions to install the pre-configured PiAware software can be found on the FlightAware website.
Once you have all the software set up, let’s test our configuration! Plug in the WiFi adapter, FlightAware stick, and power and make sure everything works by visiting your device’s web interface. It should be located at http://YOUR.DEVICE.IP:8080/. If you don’t know the IP of your Pi, the Fing app can scan your network and find the IP for you.
Step 3: Relocate
Now that you know everything works, you can take the parts to where the device will stay. My antenna is zip-tied to a steel pole that my weather station is on.
My coax cable then runs into my chicken coop where I have the “brains” in a Ziplock container to protect them from all of the dust in there.
Don’t forget to leave a “drip-loop” in the coax cable if it is outdoors, as this keeps the rain from running inside your dry location and ruining the Pi.
If you are curious on how many planes my setup brings in, here are my stats and map.