ADS-B on a Raspberry Pi Zero

Pi Zero

Pi Zero

I was looking for a DVB-T dongle to use for a software defined radio idea (something for another day), when I realised that it could very simply be turned into a ADS-B tracker to monitor aircraft locations (to read more about ADS-B perhaps start with the Wikipedia entry). Although I already use an Android app to see aggregated data from across the world, I thought it would be cool to build one myself, especially as the dongle is under £10 and the hard work in coding has already been done by some else (more on that later). This article is a quick write up of the project.

Parts list

I already had most of the parts I needed for this scattered around the house… But if you are starting from scratch here is a list and approximate prices. If you use a Raspberry Pi 2 or 3 instead of the Zero then you won’t need the micro USB to RJ45/USB adapter or micro HDMI to HDMI adapter. A Pi 2 or 3 would therefore cost you a bit more, but not much and perhaps better in the long run, I only used a Zero as I had it sat in a box looking for a purpose to justify it’s existence. You might also get better value if you buy some of the parts in a kit, depending on your preference. I’ve put links to the key ones for illustration purposes, but you might pick them up cheaper elsewhere.

Item Cost
Raspberry P Zero or Pi 2 or Pi 3  £5.00 if Zero is available. About £30 for Pi3
Foxnovo® DVB-T USB TV RTL-SDR FM+DAB Radio Tuner Receiver Stick Realtek RTL2832U+R820T £9.90, cheaper on auction site?
SanDisk Ultra Android 16 GB microSDHC Class 10 Memory Card and SD Adapter up to 80 Mbps, Frustration Free Packaging £5.00
AmazonBasics Wall Charger with USB Outlet (2.1 Amp Output) £6.99
 Micro USB to USB cable for charging  £3.99 or cheaper
OTG Micro USB to USB adapter (if using Raspberry Pi Zero)  £4.10 or cheaper
 USB to RJ45+ 3xUSB (if using Raspberry Pi Zero)  About £8 on an auction site
 Micro HDMI to HDMI adapter (if using Raspberry Pi Zero)  You might only need this to get going, afterwards run the Pi headless.
 HDMI cable  You might only need this to get going, afterwards run the Pi headless.
 A monitor or TV with HDMI input, or a VGA monitor and an HDMI to VGA adapter  You might only need this to get going, afterwards run the Pi headless.
A cheap USB memory stick (not essential, but good if you want to save data at any time and don’t trust SD cards) £4.29

Install operating system

Download the latest version of Raspbian. Instructions on how to install it on your Micro SD card are here. You may need a card reader like this one to plug it into your computer.

Plug it all together

I’m not going to write detailed instructions on how to plug stuff together, hopefully it’s straightforward…

Pi Zero, DVB-T dongle and antenna

Pi Zero, DVB-T dongle and antenna, yes the Pi zero is tiny as you can see from the USB connector next to it

Boot it up and install software

  1. Follow the instructions on the Raspberry Pi website if you need help getting the operating system going.
  2. To install everything else just follow the instructions here.
  3. Blacklist the drivers that you don’t need. I picked up this top from here.

Running dump1090

Again, you’ll find all the instructions you need to run here, including how to start on boot.

End product

Below is a typical evening view as seen from this setup (it’s busier during the day). Maximum ranges seen with the antenna about 5 feet high, in a shed are currently around 115 km, although theoretically the line of site to aircraft is potentially higher (see diagram at bottom). There are “black spots”, or corridors where no aircraft are seen, and the maximum range is different in different directions all due to local obstructions. ADS-B is essentially line-of-sight. Future improvements might be a better antenna and hoisting it up higher to avoid obstructions, particularly a house.

Dump1090 output in a web browser

Dump1090 output in a web browser

Inner line is maximum range for line of sight view to aircraft at 8000 feet, outer for 40000 feet. From www.heywhatsthat.com with an antenna altitude of 6 feet.

Inner line is maximum range for line of sight view to aircraft at 8000 feet, outer for 40000 feet. From www.heywhatsthat.com with an antenna altitude of 6 feet. Obviously this excludes local obstacles like houses etc.