Raspberry Pi Zero W + RTL-SDR + ADS-B Radar

Low Cost ADS-B Hardware Receiver

In this short tutorial we’re going to configure a Raspberry Pi Zero W (wireless) for use with dump1090 and the macOS App ADS-B Radar.

The Raspberry Pi Zero W (RPI0W) is the lowest cost Raspberry Pi and is capable of running a RTL-SDR receiver with dump1090 to create the aircraft.json file which is used by the App.

 

.

This list below is all you need for the macOS ADS-B Radar App to track and spot aircraft flying above you:

Item Costs EUR Comment
Raspberry Pi Zero W 10,44 The ‘W’ version is sufficient
Micro SDHC 16GB class10 7,90 Smaller cards would be fine also (min 4GB)
A  protective case 2,90 The FLIRC aluminium case comes at EUR 14,95
USB A Male to USB B Micro Male cable 2,28 To power the RPI0W over a USB cable (or use a power adapter)
USB A Female to USB B Micro Male cable 2,95 To attach the RTL-SDR dongle which has a USB A Male connection
RTL-SDR Dongle, Rafael Micro R820T2 / RealTek RTL2832U 36,00 Includes a simple antenna, from AliExpress, includes shipping
ADS-B Radar App 14,99
Total EUR 77,46

.

.

You probably have the USB cables lying around and perhaps even a micro SDHC card, for under EUR 80 you could get started with the hardware & software required for tracking & spotting aircraft flying above you, in a completely private and autonomous environment – no data feeding required.

The configuration of the Pi is very easy, download the official Raspberry Pi imager and select the “Lite” version for installation on the card.

.

With the new version of the imager, you can configure the SSH and Wifi access right in the App, you could skip the steps below and head directly to the next section.

As we did not order a mini HDMI to HDMI adapter cable, we will configure the Pi without connecting it to a monitor or keyboard. Open macOS terminal and access the SDHC card under /Volumes/boot, use the touch command to create en empty file which will allow SSH access:

cd /Volumes/boot
touch ssh

The next  step is to enable access to your wireless network (2.4 GHz only), in terminal:

nano wpa_supplicant.conf

Enter or copy the following info, but make sure to enter your own network SSID and password:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
   ssid="Your WiFi Network Name"
   scan_ssid=1
   psk="Your WiFi Network Password"
   key_mgmt=WPA-PSK
}

Save this file by using the key combination “Control” + “X” and confirm by “Y” to save the file.

That’s it!

Insert the micro SDHC in the Pi zero, connect the power (over the right side micro USB port) and wait for it to start up.

Try the following macOS terminal command to find it on your local network:

ssh pi@raspberrypi.local

If that does not work, enter this to list all devices on the network:

arp -a

Once you know the IP address (assuming in the example below 192.168.1.200) type:

ssh pi@192.168.1.200

When you’re logged into the Pi (the password is ‘raspberry‘) check it’s MAC address:

cat /sys/class/net/wlan0/address

The next step involves your router, to ensure your Pi will always be reachable under the same IP address, you need to assign a fixed or static IP address to the Pi on the router by using it’s MAC address. This is usually found under the DHCP section on your router, save and enter the Pi’s IP and MAC address.

Now it’s time for some basic Pi setup. We’re not going to do that here, but all the info is available on raspberrypi.org, a good read is this section on security.

We’re going to continue to configure the Pi for dump1090, there are two options, manually or with an automated script which would install Dump1090-fa:

sudo apt update
sudo apt install dump1090-mutability
sudo usermod -a -G plugdev dump1090
sudo /sbin/iw dev wlan0 set power_save off

The automated installer version:

sudo bash -c "$(wget -O - https://raw.githubusercontent.com/abcd567a/piaware-ubuntu-debian-amd64/master/install-dump1090-fa.sh)"
sudo mkdir data
sudo chmod 777 data
sudo chmod 777 data/dump1090-fa

 

Insert the RTL-USB Dongle:

And finally reboot the Pi:

sudo reboot

To check if it’s working you can SSH into your Pi and run the top command to check if the dump1090 process is running (to leave the top screen, press “q”):

ssh pi@192.168.1.200
top

Go to your Safari browser and open the page http://192.168.1.200/dump1090/data/aircraft.json and you should see something like this:

Now you’re ready to configure the ADS-B Radar App! Open the App from the menu bar and click the cog-wheel to enter the URL to the aircraft.json file and the lat/lon of your receiver, you can estimate the range of the receiver at 50 nm and adjust it later.

You’re all set – tap on the map to close the configuration window and aircraft should appear!

Another interesting project, display what’s flying overhead on a small Pi Pico W with Display Pack!