A Raspberry Pi as a WSPR beacon

Thanks to the Southgate Amateur Radio news, I’ve just seen that Guido, PE1NNZ has turned a Raspberry Pi into a 10mW WSPR transmitter that works up to 250MHz. Just a low pass filter and an antenna are required in addition to the Raspberry Pi and the software.

The code is available here

The Readme file at Github says the following:

Makes a very simple WSPR beacon from your RasberryPi by connecting GPIO

 port to Antanna (and LPF), operates on LF, MF, HF and VHF bands from
 0 to 250 MHz.

  Credits goes to Oliver Mattos and Oskar Weigl who implemented PiFM [1]
  based on the idea of exploiting RPi DPLL as FM transmitter. Dan MD1CLV
  combined this effort with WSPR encoding algorithm from F8CHK, resulting
  in WsprryPi a WSPR beacon for LF and MF bands. Guido PE1NNZ extended
  this effort with DMA based PWM modulation of fractional divider that was
  part of PiFM, allowing to operate the WSPR beacon also on HF and VHF bands.

  [1] PiFM code from http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter

To use:
  In order to transmit legally, a HAM Radio License is required for running
  this experiment. The output is a square wave so a low pass filter is REQUIRED.
  Connect a low-pass filter to GPIO4 (GPCLK0) and Ground pins on your
  Raspberry Pi, connect an antenna to the LPF. The GPIO4 and GND pins can be
  found on header P1 pin 7 and 9 respectively, the pin closest to P1 label is
  pin 1 and its  3rd and 4th neighbour is pin 7 and 9 respectively, see this
  link for pin layout: http://elinux.org/RPi_Low-level_peripherals
  The expected power output is 10mW (+10dBm) in a 50 Ohm load. This looks
  neglible, but when connected to a simple dipole antenna this may result in
  reception reports ranging up to several thousands of kilometers.

  This software is using system time to determine the start of a WSPR
  transmissions, so keep the system time synchronised within 1sec precision,
  i.e. use NTP network time synchronisation or set time manually with date
  command. Reception reports are logged on Weak Signal Propagation Reporter
  Network: http://wsprnet.org/drupal/wsprnet/spots

  As the WSPR band is only 200 Hz wide, some frequency calibration may be needed
  to ensure that the transmission is done within the WSPR band. You can correct
  the frequency error manually in the command line or adjust CAL_PLL_CLK in the

  sudo ./wspr <callsign> <locator> <power in dBm> <frequency in Hz>
        e.g.: sudo ./wspr K1JT FN20 10 7040074

  WSPR is used on the following frequencies (local restriction may apply):
     LF   137400 – 137600
     MF   475600 – 475800
    160m  1838000 – 1838200
     80m  3594000 – 3594200
     60m  5288600 – 5288800
     40m  7040000 – 7040200
     30m  10140100 – 10140300
     20m  14097000 – 14097200
     17m  18106000 – 18106200
     15m  21096000 – 21096200
     12m  24926000 – 24926200
     10m  28126000 – 28126200
      6m  50294400 – 50294600
      4m  70092400 – 70092600
      2m  144490400 -144490600

  gcc -lm -std=c99 wspr.c -owspr
This looks amazing! Congratulations to Guido and also to Dan Ankers, MD1CLV whose work led to Guido’s enhancements.
Tim Kirby, G4VXE, is a regular contributor to AmateurRadio.com and writes from Oxfordshire, England. Contact him at [email protected].

2 Responses to “A Raspberry Pi as a WSPR beacon”

  • Jim KH2SR:

    Would be nice if there was a WSPR modem iPhone app.

  • ka1uln - Niece:

    i have a few rpi wspr transmitters. they do not work as documented
    i will try this one. i have read and know about the gpio pins.

    plz give me more info. who else is running this iteration


Leave a Comment

Subscribe FREE to AmateurRadio.com's
Amateur Radio Newsletter
News, Opinion, Giveaways & More!

Join over 7,000 subscribers!
We never share your e-mail address.

Also available via RSS feed, Twitter, and Facebook.

Subscribe FREE to AmateurRadio.com's
Amateur Radio Newsletter

We never share your e-mail address.

Do you like to write?
Interesting project to share?
Helpful tips and ideas for other hams?

Submit an article and we will review it for publication on AmateurRadio.com!

Have a ham radio product or service?
Consider advertising on our site.

Are you a reporter covering ham radio?
Find ham radio experts for your story.

How to Set Up a Ham Radio Blog
Get started in less than 15 minutes!

  • Matt W1MST, Managing Editor

Sign up for our free
Amateur Radio Newsletter

Enter your e-mail address: