Table of Contents

This guide is written using a Raspberry Pi Model 1b with RTLSDR dongle using the R820T tuner. Any Unix like system should work if you've got access to the rtl_fm tool.

This guide contains steps for both Raspbian Wheezy (5/5/2015) and Raspbian Jessie Lite (26/02/2016).

First Steps

If using a Raspbian image you'll want to install it onto the SD card with a suitable disk imager, boot the Pi and expand the filesysyem. You'll likely want to install the relevant updates, change hostname and change the password for the pi user.

On Raspbian Jessie Lite you'll need to install git.

sudo apt-get install git

Getting the RTL Tools

Jessie image

On Jessie images there is a package with the required tools.

sudo apt-get install rtl-sdr

It should now be safe to plug in the dongle (if it was plugged in previously you may need to reboot to clear out the dvb drivers)

Wheezy image

You will need to compile the rtl-sdr tools manually as they're not packaged.

Install required build tools.

sudo apt-get install cmake libusb-1.0-0 libusb-1.0-0-dev

Get the Source code.

git clone git://git.osmocom.org/rtl-sdr.git

Setup the build environment

mkdir rtl-sdr/build
cd rtl-sdr/build

Build the tools

cmake ../ -DINSTALL_UDEV_RULES=ON
make

and install

sudo make install
sudo ldconfig

Blacklist the DVB drivers (based on the jessie package)

sudo tee /etc/modprobe.d/rtl-sdr-blacklist.conf >/dev/null << _EOF 
# This system has librtlsdr0 installed in order to
# use digital video broadcast receivers as generic
# software defined radios.
blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832
_EOF

It should now be safe to plug in the dongle (if it was plugged in previously you may need to reboot to clear out the dvb drivers)

Testing the dongle works

You can test the dongle with the rtl_test tool, this will give an output like:

pi@raspberrypi ~ $ rtl_test
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode...

You can press Ctrl-C to exit this test.

If you get lots of errors it might indicate the dvb drivers are also loaded.

Software Decoder

Install the required libraries

sudo apt-get install libcurl4-openssl-dev

Get the code

git clone https://github.com/UKHASnet/UKHASnet-decoder.git

Compile

cd UKHASnet-decoder/
make

To decode and upload packets use:

rtl_fm -f 869500000 -s 64k  -p 0 -r 8000 | ./UKHASnet-decoder -s 8000 -w

Fixes to apply include: