Posted on 32 Comments

WSPR on 20, 30 and 40 Meters

TAPR now offers its popular Raspberry Pi QRP TX Shield for WSPR in three versions: 20, 30 and 40 meters!

Nowadays, one of the most impressive QRP modes is Joe Taylor, K1JT’s WSPR (pronounced “whisper”) mode. WSPR stands for “Weak Signal Propagation Reporter.” Programs written for WSPR mode are designed for sending and receiving low-power transmissions to test propagation paths on the MF, HF and recently, UHF bands. Users with Internet access can watch results in real time at

TAPR’s QRPi board (or “shield” as referred by the community today) is an inexpensive way of turning a Raspberry Pi single-board computer into a QRP transmitter. The QRPi comes to you assembled and tested.

For more information and to place an order visit the TAPR Shop.

32 thoughts on “WSPR on 20, 30 and 40 Meters

  1. Are we able to work FT8 or SSTV modes with this shield ?

    1. No

  2. It would be nice to have modules for 6/10/12/80 meterbands as well

    1. Yes. You would think that but a couple lines of code are needed to accomodate the other bands. Then the issue boils down to making a new filter for the band of interest.

      But who am I to judge?



  3. Information links are broken from the 30 and 40 meter versions. Is this still a viable product? Links still exist for the original 20 meter version. I am interested but not if support is gone… 🙁

    1. All three versions are still viable products and are being supported.

      1. THANK YOU !!!

    2. As we transition to our new website, you can temporarily use

  4. I have received the WSPR shields I ordered, thanks!
    Tried to download the PDF documentation for the 40m version, but as said above the PDF link is broken (
    Where can I find the document?
    73s de SM2YHP

    1. As we transition to our new website, you can temporarily use

      1. Thanks! I have downloaded the documentation.
        – SM2YHP

  5. Let me start with I believe you. The links are working for me except the WSPR executables and the SD Card Image. Those are definitely broken. I think I need to try accessing them from another computer – I don’t want to throw away all of my browser history.

    Thanks for pointing out the broken links.

    73 Bruce Raymond/ND8I

  6. Received my QRPi 20M and my 30M WWoT modules. The 30M module is on the air and working.

    The 20M module was installed in RPi 3 B+ with Raspbian Buster, make file crashes on “makedev” plus a lot of incompatibilities, looks as though the source is broken on newer compilers. Changed OS to Ubuntu and same issue.

    Any helpful suggestions?

    1. 1. All of the WSPR transmitters are fundamentally the same. They use the same software (WsprryPi) on the Pi to generate a WSPR signal. They use a MOSFET (MMBF170) to amplify the signal, followed by a low pass filter. The only real difference between any of them is the low pass filter (LPF).

      2. The Pi 3B+ uses a different SoC chip than on previous Pi versions. I don’t really know what I’m talking about here. All I know is that there are hardware differences between the 3B+ and everything that came before it, meaning that the driver level software for earlier versions doesn’t work with the 3B+.

      The author of WsprryPi updated the software to work with the 3B+ and I made a new build with that revised software. It works with everything up through the 3B+.

      Zoltan did the 20m board. I did the 30m and 40m boards. I don’t believe that Zoltan has done a software update to accommodate the 3B+, so I suspect that the software for the 20m board on the TAPR website won’t work with a Pi 3B+. It doesn’t really matter because you can use my build (30m or 40m software) for 20m (as well as 30m and 40m transmitters).

      3. I haven’t been able to get the software to work properly with a Pi 4, yet. Still a work in progress.

      4. The wspr output frequency is controlled by the program, so if it’s at the edge or outside of the band the first thing I’d suspect is the crystal frequency on the Pi possibly being away from the nominal value. There is a parameter you can set to force a frequency offset, ostensibly to counter a crystal frequency error. The program invocation is in the file runwspr in the home directory. I login using SSH (program KiTTY; username: pi, password: wspr. Add the parameter -ppm xxx to the first line, where xxx is your offset. I have not tried this, so I can’t say for sure that it works.

      5. As a side note, I’m working on having the WWoT board made without populating the low pass filter and sending a bag of parts (3 inductors, 4 capacitors) to be installed by the user. This will allow it to work on any band from 630m through 10m. I’m still prototyping.

      6. A 2.25 amp power supply is probably adequate. If you have some strange errors, such as the file system getting corrupted or reboots, … the first thing to suspect is the power supply not being able to supply enough current. The first time something strange happens you can fix it and go on. The second time, replace the power supply with something larger.

      Please feel free to email me with any questions.

      73 Bruce Raymond/ND8I

    2. Per the Raspberry Pi forum, Topic 250220, the solution, for now, is to go into your RPi folder WsprryPi and look for the file named mailbox.c.

      Add one line to it:
      with the other similar lines using a text editor.

      Then back out and try the “make” command again. Ignore any “error” lines it produces and you are good to go.

      It worked for me in FM19 land!

      1. Oops. The line to add is incomplete because the less-than sign and the greater-than sign and the text between them are not shown.

        Here is the line again between the quote marks:
        with the only space being after the word include.


        Hope this works this time!

        1. Thanks for this solution Pat! Corrupted an SD card while running WsprryPi when I forgot to turn if off, and started transmitting on another antenna. Downloaded latest R Pi OS and could not get successful WsprryPi install until I read your note above. Thanks so much!
          Keith – KE4TH

  7. Do you recommend any specific box / case to put the Pi and RF circuit board in? I really don’t want to have this just sitting around on the bench somewhere and I am one of those neat freaks that likes things to work but look nice too!

    This all seems great and will probably be jumping into this pond very soon!

    1. Hi Steve. You’ve hit upon one of my many short comings – I’m a slob. I’ve got my Pi sitting on a closet shelf, exposed to the elements (at least the elements inside of the closet).

      I haven’t actually experimented putting it in a box. I expect that you could use a plastic box with some holes punched in it for ventilation. Metal would probably work given the low frequencies involved. I’d use the 4 holes on the Pi to mount the Pi to the box (#4 bolts and 3/8-1/2″ standoffs). Punch holes for the RF output and power supply cables.

      73, Bruce/ND8I

  8. Steve: My 40M is kicking butt, -17 SNR in DP0GVN, -18 SNR in Tasmania on .2W
    I have 4 PIs in a stack-case; my 40M board is on top, drilled a hole in the cover for the BNC. I Will be adding your 30M board next and already have a homemade 20M. Two questions:

    Question 1: Each of My Pi’s has multiple functions, and I access each using VNC. With the current software load, the WSPR program autoboots and starts the transmit cycle. Is there any way it can be set to run as a regular stand-alone program? I prefer to operate the Pi with a standard Raspi Image with desktop and execute the WSPR program separately. This would allow the PI to also run VNC and my NTP Time Server. I tried installing the desktop but it breaks the start-up sequence in the boot file. I need to remove WSPR out of the boot and create a separate shortcut but concerned it will break the process if it has any dependencies.

    Question 2: Is there any way to regulate the transmit time sequence between two WSPR boards. If I was to operate two boards one antenna, can I set the time slots so they don’t transmit at the same time?

    Thanks! Brian

  9. I’m with Brian, 40 meter WWoT is working great, but I’d like to mod a few things in the OS – most notably set a static ip address – which is tricky with the WSPR application running.

    1. Gordon: Setting static IP is do-able. You can set using nano in /etc/dhcpcd.conf file. The WWOT doesn’t know the difference during boot, it assumes that the static IP was pulled from DHCP and goes on with its business.

      The problem I have is modifying anything beyond IP level screws up the WWoT boot process. Even turning on VNC, which I need for remote access, screwed it up. The WWOT config webpage is simple and direct, provides a goof-proof way to get the WSPR board up and running, but its functionality stops there. I can still SSH into the system, but functionality is limited and any monkeying around halts the WWOT program. Would love the ability to activate the desktop, and install WSJT-X to provide a simultaneous receive functionality.

      I have a 6-Band Butternut vertical dedicated to WSPR, so also need a way for the program to timeshare. The software has multiple timeslots available, but as the WWOT L-C circuits dedicate it to one freq it cant be used to beacon on the other bands. My final configuration will have a stack of the Pi’s each with a dedicated board (20M, 30M, 40M); but only one antenna. I can setup different timeslots for each Pi/WWOT, but timing will be critical, I don’t want one transmitter to come online before the previous transmitters timeslots is finished.

      Im hoping that Bruce or one of the other Gurus can provide a solution, or at least a workaround.

      1. My difficulty arose from the fact, that connecting keyboard and monitor directly to the pi running WWoT, the operational reports were being printed across whatever I was trying to do in the terminal. SSH in doesn’t have that problem, so setting static ip was trivial.

        re: the 6 band vertical – are you familiar with the qrp-labs U3S WSPR kit? Single band WSPR beacon with optional 5 band relay switched LPF array.

        1. I usually halt the WWOT for extended typing, but for only few lines I just ignore the programs screen characters as i type.

          The LPF array has promise. It’s on backorder, but with the Schematic and PCB layout, I can make my own. The problem is the device only switches the array X to Z ports through manually S/W invoked ASCII commands. I would need someone to code the WWOT program to output a pre-defined ASCII string to the array as it switches bands causing it to switch the relays as needed. Whoever has the WWOT source code would have to make the changes and re-complile the program.

  10. Any luck getting the 40M board working with the Pi Zero W? Mine works well with the 3B+ but on the Zero W TX is stuck so had to shut it down.

  11. When using the 40M board from home, via wi-fi to my home network, reporting works fine.
    When out in the field, using my phone as a wi-fi hotstpot none of the reports get posted. Have tried with two different cell phone operators. Nothing. Any ideas? Thanks in advance.
    Guillermo – HK4KM

  12. Received the 20M and 40M boards.

    Set up and ran the 20M board. Worked fine with over 500 reports on whsprnet.

    Set up 40M hat on same pi 3B+ and reset Parameters to 40M. It was a no go. Very low power out measured. Millivolts compared to 3V from the 20M board. No signals reported on whsprnet and the micro potentiometer didnt change any measurements. I retouched all the solder pads with no improvement.

    Any suggestions would be most welcome!

  13. Purchased 40m and80m boards. Installed TAPR software on Pi3B and installed 40m board. Puts out 200mw signals well. 80m board does not work after installing BPF. No RF out. Firmware was changed to reflect 80m. Red light on board lights for output signal but no output. I will send board back for TAPR to look at it. Tom N8TL

    1. Hi Tom,

      Sorry it’s taken so long to respond. I have a family emergency that’s taking a huge amount of my time and mental fortitude. I’m happy to fix the WSPR board and send it back to you.

      Before you send it have a look at the troubleshooting guide ( If going through the guide doesn’t solve the problem please send the board to:

      Bruce Raymond
      10 Lackawanna Ct.
      Spanish Fort, AL 36527

      73 Bruce

      1. Thank you Bruce for your assistance. I will ship you the board within a week. I will forward track info when shipped.

        Thanks, Tom N8TL

      2. Bruce:
        Board shipped this afternoon USPS 3-day. Delivery Monday.
        USPS Track: 9500 1158 0368 2126 4593 82

        Thanks for helping, 73, Tom N8TL

  14. Any possibility of running on 6m?

Leave a Reply to Steve Hull Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.