WSPR daemon for RTL receivers
 
 
 
Go to file
Guenael 51dc5d0aa7 modified: rtlsdr_wsprd.c 2016-07-03 11:06:40 -04:00
.gitignore first commit, usable version 2016-06-11 17:37:26 -04:00
Makefile first commit, usable version 2016-06-11 17:34:36 -04:00
README.md CPU/load update 2016-06-11 21:12:28 -04:00
fano.c first commit, usable version 2016-06-11 17:34:36 -04:00
fano.h first commit, usable version 2016-06-11 17:34:36 -04:00
metric_tables.h memory leak fix & float approx fix 2016-06-24 20:58:12 -04:00
nhash.c first commit, usable version 2016-06-11 17:34:36 -04:00
nhash.h first commit, usable version 2016-06-11 17:34:36 -04:00
rtlsdr_wsprd.c modified: rtlsdr_wsprd.c 2016-07-03 11:06:40 -04:00
rtlsdr_wsprd.h upconverter option 2016-06-13 19:29:48 -04:00
samples.bin first commit, usable version 2016-06-11 17:34:36 -04:00
tab.c first commit, usable version 2016-06-11 17:34:36 -04:00
wsprd.c modified: wsprd.c 2016-07-02 23:43:40 -04:00
wsprd.h memory leak fix & float approx fix 2016-06-24 20:58:12 -04:00
wsprd_utils.c first commit, usable version 2016-06-11 17:34:36 -04:00
wsprd_utils.h first commit, usable version 2016-06-11 17:34:36 -04:00
wsprsim_utils.c first commit, usable version 2016-06-11 17:34:36 -04:00
wsprsim_utils.h first commit, usable version 2016-06-11 17:34:36 -04:00

README.md

rtlsdr-wsprd -- WSPR daemon for RTL receivers

This non-interactive application allows automatic reporting of WSPR spots on WSPRnet. The idea is to allow the use of small computer like RasberryPi or Beaglebone boards, with a simple deamon. This kind of very lightweight setup could run continuously without maintenance and help to increase the WSPR network. The code is massively based on Steven Franke (K9AN) implementation and Joe Taylor (K1JT) work. This code was originally written for AirSpy receiver.

WARNING -- Crystal stability

Most of RTL dongles use a cheap crystal, and frequency drift can avoid WSPR decoding. The use of RTL dongle for VHF/UHF bands usually require crystal modification, for a better one. External clock could be also used, like GPSDO or rubidium reference clock, aligned on 28.8MHz. In some case, it's possible to use the factory crystal, using a good thermal isolation. I successfully used two device with no modification, but it's tricky, easy to miss the window, and RTL devices does not allows fine frequency tunig. In my opinion, AirSpy receiver is a best and easier option. In addition, it includes an LNA, a metal enclosure and gives better results.

Basically, this application :

- Perform a time alignment (2 mins) - Start the reception using the RTL lib - Decimate the IQ data (2.4Msps to 375 sps) - Decode WSPR signal - Push the spots on WSPRnet - Repeat...

Tested with Raspbian GNU Linux, using a RaspberryPi 2 (15% of one core @1GHz (rx & decimation), and a burst during 10s on the second core)

Howto :

1. Install a Linux compatible disto on your device (ex. Raspbian for RaspberryPi) 2. Install dependencies & useful tools (ex. ntp for time synchronization) ex: sudo apt-get install build-essential cmake libfftw3-dev libusb-1.0-0-dev curl libcurl4-gnutls-dev ntp 3. Install rtlsdr library : https://github.com/steve-m/librtlsdr 4. Install rtlsdr-wsprd (this app) : https://github.com/Guenael/rtlsdr-wsprd 5. Enjoy it with ./rtlsdr_wsprd

Tips (for Raspberry Pi):

- Use ferrite bead to limit the interferences - Cut off the display (could help to reduce QRN) : /opt/vc/bin/tvservice -o - Remove unused modules (ex: /etc/modules: #snd-bcm2835)