WSPR 2.20, with Frequency Hopping

You may have noticed that a few of us have been playing with a version of WSPR that does automatic "frequency hopping" from band to band. For this we owe a big vote of thanks to Sivan Toledo, 4X6IZ, who wrote most of the initial frequency-hoppping code.

If you would like to try WSPR with frequency hopping, a beta-release of WSPR 2.20 is now available at



Select "Frequency Hopping" on the Seup menu, and you'll get a screen allowing you to select any desired mix of bands and Tx fractions. Then check "Frequency Hop" in the main window, and WSPR will start its normal 2-minute sequences, switching bands randomly after each one.

Depending on your station and antenna setup, you might need to accomplish other switching besides re-tuning your radio. To make this possible in an automated way, whenever WSPR executes a successful band-change command to a CAT-controlled radio, it looks for a file named "user_hardware.bat", "user_hardware.exe", or "user_hardware" in the working directory. If one of these is found, WSPR tries to execute the command

user_hardware nnn

where nnn is the band-designation wavelength in meters.

You will need to write your own program, script, or batch file to do the necessary switching at your station. I wrote a very simple Python program for this purpose. One of my antennas is an "all band" dipole fed with open-wire line through an automatic antenna tuner. Others include a 160m vertical and a tri-band trap dipole. The antennas are selected automatically, by band; and when a transmission on a new band starts on the all-band dipole, the tuner adjusts itself during the first few seconds of the transmission.

Many desirable features for a frequency-hopping WSPR are not yet implemented. It seems best to get some feedback from experienced users before the following things (and surely many others) are added:

1. Save/Restore of one or more band-hopping setups.
2. Transmission of a short "tune-up" carrier, to be used by automatic antenna tuners, just before starting a 2-minute sequence.
3. Possible changes in the algorithms that determine when to change bands and when to transmit. (At present, both are "purely random".)
4. ...

As always, comments and suggestions are welcome!

-- 73, Joe, K1JT
For the WSJT/MAP65/WSPR Development Team