
RTL 820 SDR "Pi-Gate" Recipes
Introduction - Updated
29.03.2017
For a very neat rundown of configuring a Pi as an iGate
see QSO365
which I used to build my Pi Gate version 2.
The rest of this page documenting my Pi Gate version 1
has been largely superseded and is left for interest/history!
I thought I would try a different format to my usual Blog style
web page. One of our SADARS club
members recently offered a good deal on RTL
820 dongles. Many members were keen to have a closer look
at SDR
and purchased one.
My brother was also keen to replace his M3NQG
APRS gateway - consisting of a Laptop, TinyTrak and PMR
radio - with something rather smaller.
All this got me experimenting with an RTL 820 dongle, Raspberry Pi and various
software configurations. After great thought and a couple of
glasses of white wine, I called these experiments Pi-Gates!
A lot has already been published - and duplicated! about using
RTL 820 based dongles. So, I will link to existing articles and
just add my own notes.
This will be updated.
Basic Pi, RTL 820 and APRS Configuration Recipe
I have finally got the Pi and SDR to decode APRS packets. This
recipe was the starting point -
http://www.algissalys.com/index.php/amateur-radio/88-raspberry-pi-sdr-dongle-aprs-igate
With one minor confusion... When I looked at this months ago I
noted the tuner frequencies were off. OK, it is not calibrated
and a program Kal is provided to calibrate against local cell
tower transmissions to see how far out your tuner is. OK so far.
I ran the calibrate process and found my tuner to be out by -38
ppm. I plugged this number into the rtl_fm program as -p -38 it
all loads, plays Radio 4 and says it is using a -38 freq offset.
But the tuned freq remains the same.... hmmm
Kal
Search the GSM900 band for reference channels.
kal -b GSM900
Calculate PPM error for a channel
kal -c 70
My DVB Dongle was -38.740 ppm and August Dongle -31.378 ppm
Quick test with Radio 4
Radio 4 rtl_fm -M wbfm -f 93.5M -g 42.1 | play -r 32k -t raw -e
s -b 16 -c 1 -V1 -
APRS
I experiment further and change the "dial" freq by roughly the ppm * mhz as a rough cross check. I can then decode the pager signals. Progress. Clearly the -p adjustment is not working as I thought.
I then revisit 144.800 and the kal program. I tune the "dial
freq" to 144.796 and finally start to decode locally sent
packets!
I revisit the kal program and think it is showing the error in
PPM and remove the - from the -38 parameter in rtl_fm. It now
uses the ppm number correctly and decodes packets! It seems the
"direction" of the error does not matter.
So....
rtl_fm -f 144.800M -s 22050 -p 38 -g 42.1 -l 0 | multimon-ng -a AFSK1200 -A -t raw -
Found 1 device(s):
multimon-ng (C) 1996/1997 by Tom Sailer HB9JNX/AE4WA
(C) 2012-2014 by Elias Oenal
available demodulators: POCSAG512 0: Realtek,
RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
POCSAG1200 POCSAG2400 EAS UFSK1200 CLIPFSK FMSFSK AFSK1200
AFSK2400 AFSK2400_2 AFSK2400_3 HAPN4800 FSK9600 DTMF ZVEI1 ZVEI2
ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE_CW DUMPCSV SCOPE
Enabled demodulators: AFSK1200
Found Rafael Micro R820T tuner
Tuner gain set to automatic.
Tuner error set to 38 ppm.
Tuned to 145053575 Hz.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Sampling at 1014300 S/s.
Output at 22050 Hz.
APRS: M1HOG-7>XSUYYY,RELAY,WIDE:'wXl K\>
Hurrah first packet decoded...
Now to look at and configure the python scripts that send the data to APRS.FI and to see how sensitive the RX / aerial combo is - not very I suspect!
Decoding ADB - S - Aircraft Beacon Data Recipe
- Updated 21.12.14

References
http://www.rtl-sdr.com/adsb-aircraft-radar-with-rtl-sdr/
http://www.satsignal.eu/raspberry-pi/dump1090.html
Install the Dump1090 software -
git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make
sudo reboot
Remember to use your dongles PPM error -
cd dump1090
./dump1090 --interactive --net --ppm 38
The Dump1090 web service is now started.
Browse to your Pi on port 8080 for example
http://192.168.1.150:8080
More References