Building an APRS iGate and ADS-B plane tracker using Raspberry Pi and RTL SDR dongles
I have always been interested in SDR but never got a chance to really try it out. Luckily I was able to find a lot of resources on the Internet to get me started. A big thank you to all the open source contributors out there as I was able to build an APRS RX-only iGate and an ADS-B plane tracker very quickly.
Here are the items you would need:
- 2 x RTL SDR dongles
- USB powered hub
- 4GB SD card
- Wifi dongle (optional)
I started with a newly prepared SD card. You can download RASPBIAN (Debian Wheezy) OS image from http://www.raspberrypi.org/downloads/ and then follow the instructions at http://www.raspberrypi.org/documentation/installation/installing-images/README.md to write the image to the SD card.
Prepare the Raspberry Pi
Login to the raspberry pi and make sure that you have Internet connectivity.
A setup screen would be displayed when you run rasps-config. Using the setup screen expand the file system and configure your time zone.
It seems that the newest kernel includes a DVB driver for the dongle as a TV receiver. We do not require this for our purposed so we will create a config file to blacklist it.
Add the following lines to the new file:
Install the dependencies
Install RTL SDR driver
At this point, you should be able to run the rtl_test command. The command would find the devices, display supported gain values, and do some sampling. It should report everything is okay.
Install multimonNG decoder
Install the kalibrate tool
Kalibrate, or kal, scans for GSM base stations in a given frequency band and uses GSM base stations to calculate the local oscillator frequency offset of the rtl-sdr devices.
With kal it is a two step process. We find a strong channel first.
Once we have the strong channel number we can find the ppm.
I was not able to use kal reliably to find the ppm offset in my area and used SDR# to manually find the ppm value.
Install APRS iGate software
Configure the startup script
Generate APRS-IS password
Update the pymultimonaprs configuration file with your callsign, passcode, gateway, freq, ppm, gain, lat, lng, and device index. Device index is important when multiple RTL SDR dongles are plugged in. Enter the index number of the dongle you would like to use with pymultimonaprs. You should be able to find the device index by using the rtl_test command.
Test and decode APRS packets
I was not able to pick up any stations in my apartment on the ground floor. However, I was able to decode packets from my APRS device.
Install dump1090 to decode ADS-B transmissions from aircraft
Dump1090 is a simple Mode S decoder for RTLSDR devices