{"id":464,"date":"2015-08-02T13:32:35","date_gmt":"2015-08-02T11:32:35","guid":{"rendered":"http:\/\/pa0rwe.nl\/?page_id=464"},"modified":"2025-11-07T15:27:34","modified_gmt":"2025-11-07T14:27:34","slug":"wspr-experiments","status":"publish","type":"page","link":"https:\/\/pa0rwe.nl\/?page_id=464","title":{"rendered":"WSPR Experiments"},"content":{"rendered":"<div id=\"attachment_2063\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2063\" class=\"size-medium wp-image-2063\" src=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2024\/07\/wspr04-600x588.jpg\" alt=\"\" width=\"600\" height=\"588\" srcset=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2024\/07\/wspr04-600x588.jpg 600w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2024\/07\/wspr04-1024x1004.jpg 1024w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2024\/07\/wspr04-768x753.jpg 768w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2024\/07\/wspr04-1536x1505.jpg 1536w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2024\/07\/wspr04.jpg 1999w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><p id=\"caption-attachment-2063\" class=\"wp-caption-text\">Multiband WSPR Transmitter<\/p><\/div>\n<p align=\"left\"><span style=\"color: #0000ff;\"><em><a style=\"color: #0000ff;\" href=\"http:\/\/wsprnet.org\/drupal\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/wsprnet.org\/drupal\/<\/a><\/em><span style=\"color: #000000;\"> \u00a0\u00a0 (You need an account for this site)<\/span><\/span><br \/>\n<span style=\"color: #0000ff;\"><em><a style=\"color: #0000ff;\" href=\"http:\/\/midnightdesignsolutions.com\/dds60\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/midnightdesignsolutions.com\/dds60\/index.html<\/a><\/em><\/span><\/p>\n<blockquote>\n<h1 align=\"left\"><span style=\"text-decoration: underline;\">WSPR Experiments and builds<\/span><\/h1>\n<p align=\"left\">After reading some interesting stories about WSPR I decided to install the WSPR software on my computer and try to receive the WSPR signals.<\/p>\n<p align=\"left\"><b><u>What is WSPR?<\/u><\/b><\/p>\n<p align=\"left\"><b>WSPR<\/b> (pronounced &#8220;whisper&#8221;) stands for &#8220;Weak Signal Propagation Reporter&#8221;. It is a computer program used for weak-signal radio communication between amateur radio operators. The program was initially written by Joe Taylor, K1JT. The program is designed for sending and receiving low-power transmissions to test propagation paths from LF to UHF bands.<\/p>\n<p>WSPR implements a protocol designed for probing potential propagation paths with low-power transmissions. Normal transmissions carry a station&#8217;s call sign, Maidenhead grid locator, and transmitter power in dBm. The program can decode signals with S\/N as low as -28 dB in a 2500 Hz bandwidth. Stations with internet access can automatically upload their reception reports to a central database called WSPRnet, which includes a mapping facility.<\/p>\n<p><u><b>Receiving WSPR signals<br \/>\n<\/b><\/u>I&#8217;m using my <a>KTH-SDR<\/a> in combination with the WSPR software to receive the signals. The WSPR software is very good usable with a SDR receiver, it has special settings for it. Also USB control is working well. There are a couple of prerequisites for successful receiving WSPR signals:<br \/>\n&#8211;\u00a0 Your computer must have an exact system clock time, not more than 2 seconds variance<br \/>\n&#8211;\u00a0 Your receiver must have an accurate frequency display (not more than 10 Hz variance)<br \/>\n&#8211;\u00a0 Al signals are transmitted in USB, whatever band your are listening<br \/>\n&#8211;\u00a0 Aware of the I\/Q signals of your SDR otherwise exchange them<br \/>\n&#8211;\u00a0 Be patience! You have to wait until the even minute starts and then wait for 2 minutes for a complete transmission, before you know that all your settings are OK&#8230;.<\/p>\n<p>And if it&#8217;s all OK then you will see the following screen:<\/p>\n<div id=\"attachment_465\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-465\" class=\"size-medium wp-image-465\" src=\"http:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr01-300x244.jpg\" alt=\"WSPR screen with received stations\" width=\"300\" height=\"244\" srcset=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr01-300x244.jpg 300w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr01.jpg 829w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-465\" class=\"wp-caption-text\">WSPR screen with received stations<\/p><\/div>\n<p>You see stations received in the 30 and 40 meter band. I used a simple loop antenna in my shack for receiving this WSPR stations.<\/p>\n<h1><b><u>Transmitting WSPR signals<\/u><\/b><\/h1>\n<p>It is also very interesting to transmit WSPR signals and see the distance you have been heard. I searched the internet for WSPR transmitters and found an interesting <a href=\"http:\/\/www.knology.net\/~gmarcus\/\" target=\"_blank\" rel=\"noopener noreferrer\">site<\/a> where you can find schematics for a stand-alone WSPR transmitter based on a PIC for control and the <em><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/midnightdesignsolutions.com\/dds60\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">DDS60<\/a><\/span><\/em> (from the American QRP Club) as low-power transmitter. I build the <strong>Multi-band DDS WSPR Signal Source\u00a0 <\/strong>transmitter and added a DCF77 receiver to it to determine the exact 2-minute starting moment. This unit transmits in steps from 160 until 6 meters. Below you see the transmitter as it is running for some month.<\/p>\n<div id=\"attachment_466\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr02.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-466\" class=\"size-large wp-image-466\" src=\"http:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr02-1024x683.jpg\" alt=\"WSPR Transmitter\" width=\"640\" height=\"427\" srcset=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr02-1024x683.jpg 1024w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr02-300x200.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-466\" class=\"wp-caption-text\">WSPR Transmitter<\/p><\/div>\n<p>On the left you see the DCF77 receiver (<em><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/www.conrad.nl\/ce\/nl\/product\/641138\/DCF-ontvangerprintplaat\" target=\"_blank\" rel=\"noopener noreferrer\">Conrad<\/a><\/span><\/em>) and at the top of the board you see the DDS60 VFO, used as a 50 mW transmitter. The PIC used is a 16F628. I modified the software for my own purposes.<br \/>\nThe transmitter is heard all over Europe but also in America! I&#8217;m using a 14 MHz dipole under the roof of my house.<\/p>\n<p>Below you see a part of the Spot Database.<\/p>\n<div id=\"attachment_467\" style=\"width: 626px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr03.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-467\" class=\"size-full wp-image-467\" src=\"http:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr03.jpg\" alt=\"WSPR spot database\" width=\"616\" height=\"376\" srcset=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr03.jpg 616w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr03-300x183.jpg 300w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/a><p id=\"caption-attachment-467\" class=\"wp-caption-text\">WSPR spot database<\/p><\/div><\/blockquote>\n<h2><\/h2>\n<blockquote>\n<h1><strong><span style=\"text-decoration: underline;\">WSPR Multi band transmitter with GPS clock<\/span><\/strong><\/h1>\n<p><em><br \/>\n<a href=\"http:\/\/midnightdesignsolutions.com\/dds60\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color: #0000ff;\">http:\/\/midnightdesignsolutions.com\/dds60\/<\/span><\/a><br \/>\n<a href=\"https:\/\/www.wsprnet.org\/drupal\/wsprnet\/activity\"><span style=\"color: #0000ff;\">https:\/\/wsprnet.org\/drupal\/wsprnet\/activity<\/span><\/a><\/em><\/p>\n<p><em><strong>Downloads: <\/strong><a href=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2025\/11\/wspr07.jpg\" target=\"_blank\" rel=\"noopener noreferrer\">Schematic<\/a>\u00a0 <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-21\" src=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/07\/updated.gif\" alt=\"\" width=\"44\" height=\"12\" \/>\/\u00a0 <a href=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2025\/11\/WSPR_web.zip\" target=\"_blank\" rel=\"noopener noreferrer\">Software \u00a0<\/a><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-21\" src=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/07\/updated.gif\" alt=\"\" width=\"44\" height=\"12\" \/>\u00a0\u00a0 (See <strong>Important note<\/strong> in text below!)<\/em><\/p>\n<p><em><strong>Update to version 5.1<\/strong><\/em>: Added band selection for filtering on D9-D11. Schematic has been changed!<\/p>\n<p><em><strong>Major update to version 5.0:<br \/>\n<\/strong><\/em>&#8211; Possibility to transmit on a fixed frequency in 6 minutes interval, based on time slot number<em><strong>.<br \/>\n<\/strong><\/em>&#8211; Adding or subtracting 25Hz offset to the transmitting frequency.<br \/>\n&#8211; Adding the transmission band (i.e. 80m) in the display.<br \/>\n&#8211; Solved display crashing.<\/p>\n<p><em><strong>Update to version 4.2<\/strong><\/em>: Decreased the calibration step to 100Hz for a more accurate calibration.<\/p>\n<p><em><strong><span class=\"VIiyi\" lang=\"en\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"en\" data-language-to-translate-into=\"nl\" data-phrase-index=\"0\">Update to version 4.1: <\/span><\/span><\/strong><\/em><span class=\"VIiyi\" lang=\"en\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"en\" data-language-to-translate-into=\"nl\" data-phrase-index=\"0\">Which makes it possible to use it for both the AD9850 and the AD9851.<\/span><\/span><span class=\"VIiyi\" lang=\"en\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"en\" data-language-to-translate-into=\"nl\" data-phrase-index=\"1\">This can be selected in the software at line 128. <\/span><\/span>The 80 meter frequency is changed as well in this version.<\/p>\n<p>On the above mentioned site I found an Arduino sketch for making an all band WSPR transmitter.\u00a0 I modified the software for using a DCF clock module (Conrad #641138) and removed the QRSS part as well. But the DCF module was not a big success. It was not stable and because of the man-made noise the receiving conditions were poor in my shack.<\/p>\n<p>So I decided to change it to a GPS clock. On e-bay you can find very cheap GPS modules (NEO6MV2). They are very sensitive and easy to use. After I changed the software to parts of the GPS software made by ON4CDU, the clock was running very accurate. Later on I used the Adafruit GPS library. I also modified the DDS control software because the DDS was not starting on some frequencies. I used the software from the Arduino sketch: <em>Arduino_DDS60<\/em> made by Peter Marks http:\/\/marxy.org<\/p>\n<p>The program starts by waiting for a reliable GPS signal and after the clock is synchronized it is updated every second by a timer interrupt. Within this second the program determines which frequency must be used for the next transmission on the right even minute.<\/p>\n<p>Every 2 minutes the frequency is changed to the next frequency, in the same order as the hopping function in the WSJT-X receiving software. So it\u2019s easy to automatically monitor your own signal over all the 10 WSPR bands.<\/p>\n<p>The WSPR transmission is done by a mSecond timer interrupt and the complete coded message is transmitted in about 1 minute and 53 seconds. In the following 7 seconds the clock is synchronized by the GPS time and the total of received GPS satellites is displayed as well.<\/p>\n<p><strong>Important note:<\/strong> If you are using the software in the download, please change at line 102 \u2013 104 the \u2018XXXX\u2019\u00a0 with your own Call, Location and Output Power.<br \/>\nIf you are not able to do that, please contact me at <em>pa0rwe[at]veron[dot]nl<\/em> .<\/p>\n<p><strong>Calibration procedure<br \/>\n<\/strong>\u2013\u00a0 Connect a frequency counter to the output of the DDS-60 or AD9851 module.<br \/>\n\u2013\u00a0 Access the calibration routine by pressing and holding the \u2018CAL\u2019 push button while resetting the Nano, you will see an\u00a0\u00a0 &#8216;*&#8217; on the richt upper corner of the display<br \/>\n\u2013\u00a0 While holding the \u2018CAL\u2019 push button press the appropriate \u2018CAL+\u2019 or \u2018CAL-\u2018 push button to set the output frequency to 10.000000 MHz in steps of about 100Hz.<br \/>\n\u2013\u00a0 Release the \u2018CAL\u2019 push button to store the calibration factor into EEPROM memory<br \/>\n\u2013\u00a0 Reset the WSPR Tx.<br \/>\n\u2013\u00a0 Check the output frequency<\/p>\n<p><strong>Setting WSPR on a fixed frequency<\/strong><br \/>\n&#8211; Push the Fixed Frequency button and select the time slot frequency withe the + or &#8211; button<br \/>\n&#8211; When active you will see a &#8216;F&#8217; at the right upper corner of the display.<br \/>\n&#8211; By pushing the Fixed button again, WSPR is back to normal mode.<\/p>\n<p><strong>Changed the WSPR transmit frequency<\/strong><br \/>\n&#8211; Push the CAL-libration button and change the transmit frequency in 25Hz (within the 200Hz bandwidth) steps with the + or &#8211; button.<\/p>\n<p>Below you see the enclosure with in the right lower corner the DDS60 transmitter producing an average 13 dBm signal. On top of the enclosure is the GPS antenna and on the inside view you see the GPS module as the small blue board. On the left, below the LCD display you see the Arduino Nano module with USB connector.<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<div id=\"attachment_845\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-845\" class=\"size-medium wp-image-845\" src=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr05-600x324.jpg\" alt=\"\" width=\"600\" height=\"324\" srcset=\"https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr05-600x324.jpg 600w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr05-768x414.jpg 768w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr05-1024x552.jpg 1024w, https:\/\/pa0rwe.nl\/wp-content\/uploads\/2015\/08\/wspr05.jpg 2028w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><p id=\"caption-attachment-845\" class=\"wp-caption-text\">Inside view WSPR enclosure<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/wsprnet.org\/drupal\/ \u00a0\u00a0 (You need an account for this site) http:\/\/midnightdesignsolutions.com\/dds60\/index.html WSPR Experiments and builds After reading some interesting stories about WSPR I decided to install the WSPR software on my computer and try to receive the WSPR signals. What is WSPR? WSPR (pronounced &#8220;whisper&#8221;) stands for &#8220;Weak Signal Propagation Reporter&#8221;. It is a computer program [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-464","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=\/wp\/v2\/pages\/464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=464"}],"version-history":[{"count":41,"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=\/wp\/v2\/pages\/464\/revisions"}],"predecessor-version":[{"id":2133,"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=\/wp\/v2\/pages\/464\/revisions\/2133"}],"wp:attachment":[{"href":"https:\/\/pa0rwe.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}