Friday, 19 August 2016

Setting up a Raspberry Pi WSPR Station

In some of previous posts, I've discussed how it is possible to generate RF directly from the Raspberry Pi using the clock pin, and I've also mentioned the excellent LPF kits for the Raspberry Pi available from Language Spy. In this post, I'm going to bring this all together and show you how to setup a simple WSPR station using the Raspberry Pi.

WSPR is a QRP semi automatic "beacon" mode developed by Joe Taylor, K1JT and is an excellent way to determine propagation conditions, or to test the effectiveness of an antenna system

I would recommend starting off with an up-to-date version of Raspbian Jessie which can be downloaded from RaspberryPi.org.

The first thing to do is to check your Pi has the correct date and time. You can force your Pi to update it's internal clock by typing the following at the command prompt and pressing Enter:

pi@raspberrypi ~ $ sudo ntpd_

You can check the time is correct by typing "date" at the command prompt and pressing Enter.

pi@raspberrypi ~ $ date_

Use "git" to fetch a copy of the WsprryPi code from the Git repository by typing the following at the command prompt and pressing Enter:

pi@raspberrypi ~ $ git clone https://github.com/JamesP6000/WsprryPi.git_

Navigate into the folder where the WsprryPi code is by typing the following at the command prompt and pressing Enter:

pi@raspberrypi ~ $ cd WsprryPi_

Compile the WsprryPi code by typing "make" at the command prompt and pressing Enter.

pi@raspberrypi ~ $ make_

Install the code by typing the following at the command prompt and pressing Enter:

pi@raspberrypi ~ $ sudo make install_

Your WSPR station is now almost ready to go, however please note that in order to use this software and to transmit you MUST be a fully licenced radio amateur.

Decide which band you wish to transmit on, and install an appropriate LPF filter for that band. The photo below shows my Pi with one of Language Spy's 20m LPF filters installed.



You can get help on the wspr command by typing the following at the command prompt and pressing Enter:

pi@raspberrypi ~ $ wspr -h_

You need to use various options and enter some arguments when you run wspr. The command you'll need to enter will be in the following format:

sudo wspr -r -o -s CALLSIGN LOXX 10 BAND 0

But you must...

replace CALLSIGN with your amateur radio callsign

replace LOCATOR with your 4 digit Maidenhead Locator code.

replace BAND with the band you want to transmit on. Suitable entries would be "20m", "40m" etc

The option "-r" tells the WsprryPi software to repeat the transmission sequence indefinitely, until you press "Ctrl-C"

The option "-o" tells the WsprryPi software to use a random offset for each transmission

The option "-s" tells the WsprryPi software to self-calibrate

The "10" tells the WsprryPi software that your transmitter power is 10dBm (i.e. 10mW)

The final "0" tells the WsprryPi software alternatively transmit for 2 minutes and then wait for 2 minutes.

You can check to see who is hearing your transmission by going to the WSPRnet site and searching for your callsign. I find the "Map" feature very helpful - simply enter your callsign and the band you have been using and you will get a map of the world showing the locations of receiving stations.

Here's a screenshot of my results from as few days ago.


It's amazing the fun you can have with just 10mW!

Once you are happy that all is working as it should, you can run your Pi in "headless" mode and use SSH from another computer (or your phone) to launch the WsprryPi program.