{"id":484,"date":"2022-05-18T22:42:05","date_gmt":"2022-05-18T22:42:05","guid":{"rendered":"https:\/\/ve3ksm.net\/?page_id=484"},"modified":"2023-01-25T11:20:32","modified_gmt":"2023-01-25T11:20:32","slug":"the-wspr-beacon-project","status":"publish","type":"page","link":"https:\/\/ve3ksm.net\/?page_id=484","title":{"rendered":"The WSPR Beacon Project"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">The multi-band WSPR beacon project has the following objectives:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To use the smallest available micro controller<\/li>\n\n\n\n<li>To support 10,15,20,40,and 80 meter bands<\/li>\n\n\n\n<li>To have a LCD display to show what the WSPR beacon is doing<\/li>\n\n\n\n<li>To keep Time synced using GPS information<\/li>\n\n\n\n<li>Runs using a 5v USB charger<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">High Level Architecture:<\/h2>\n\n\n\n<figure class=\"wp-block-image alignnone size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"457\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/WSPRArchitecture-2-1024x457.png\" alt=\"\" class=\"wp-image-652\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/WSPRArchitecture-2-1024x457.png 1024w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/WSPRArchitecture-2-300x134.png 300w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/WSPRArchitecture-2-768x342.png 768w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/WSPRArchitecture-2-1536x685.png 1536w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/WSPRArchitecture-2-2048x913.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">WSPR Beacon Architecture<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The Arduino Nano is a small micro controller (32k program flash, 2k of RAM) which is the &#8220;brains&#8221; of the entire beacon.<\/li>\n\n\n\n<li>The SI5351A is the primary WSPR signal generator. It generates a square wave at the frequency requested over the I<sup>2<\/sup>C bus<\/li>\n\n\n\n<li>The GPS chip is used exclusively to provide a time reference since the Nano can&#8217;t connect to the internet. At some point in the future it may be able to provide the maidenhead grid reference but not in this version.<\/li>\n\n\n\n<li>The SH-D1602 16&#215;2 LCD will continuously report the call sign, band, and current time<\/li>\n\n\n\n<li>The Chevyshev4<sup>th<\/sup> order filter selector is a I<sup>2<\/sup>C controlled filter selector that will insert the right low pass filter for the band being transmitted.<\/li>\n\n\n\n<li>Finally the amplifier is a broadband RF amplifier that will boost the low power filtered signal.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">The 4<sup>th<\/sup> Order Chebyshev Filter Selector<\/h3>\n\n\n\n<figure class=\"wp-block-image alignnone\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"531\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ButterworthFilterSelector-1-1024x531.png\" alt=\"\" class=\"wp-image-588\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ButterworthFilterSelector-1-1024x531.png 1024w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ButterworthFilterSelector-1-300x156.png 300w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ButterworthFilterSelector-1-768x398.png 768w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ButterworthFilterSelector-1-1536x796.png 1536w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ButterworthFilterSelector-1-2048x1062.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Chebyshev 4<sup>th<\/sup> order filter selector.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The filter selector is controlled using the I2C bus through a PC8754 8 bit bus extender IC. Each of the filters can be individually switched in or out of the circuit from the SI5351A clock driver and the amplifier. The relay drivers are simple N channel MOSFET (2N7000) driver circuits as shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"267\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/RelayDriver-2-300x267.png\" alt=\"\" class=\"wp-image-543\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/RelayDriver-2-300x267.png 300w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/RelayDriver-2-1024x913.png 1024w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/RelayDriver-2-768x685.png 768w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/RelayDriver-2.png 1380w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption class=\"wp-element-caption\">Relay Driver Detail<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This circuit is designed with readily available parts (amazon). The 100K resistor is not strictly necessary as long as your control line to the gate never floats. If there is a risk of the control line being floated, then add the resistor to avoid any issues. The 1N4007 diode (flyback, flywheel) prevents back EMF from the coil, when the voltage is cut off, from damaging the MOSFET.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The relays are also readily available (amazon). They&#8217;re DPDT which enables the start and end of each filter to be switched in or out. A SPDT can also be used by connecting the clock to the input of all filters and using the SPDT relay to switch the appropriate filter into the amplifier. Or conversely connecting all the filter outputs to the amplifier and using the the SPDT relay to switch the clock to the input of each filter. This could cause problems since the filters are shunt\/series types where the shunts for lower frequency filters could cause issues for the higher frequencies which is why the DPDT relays are preferred.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The LCD Display<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The LCD display will provide a status of the beacon. Currently the plan is to show the call sign, the band, the power, and the current time. The top left where WSPR is shown on the image will be a progress bar on the current transmission.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><img loading=\"lazy\" decoding=\"async\" width=\"225\" height=\"300\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181834-225x300.jpg\" alt=\"\" class=\"wp-image-575\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181834-225x300.jpg 225w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181834-768x1024.jpg 768w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181834-1152x1536.jpg 1152w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181834-1536x2048.jpg 1536w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181834-scaled.jpg 1920w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><figcaption class=\"wp-element-caption\">LCD display on prototype board.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignnone\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181643-300x225.jpg\" alt=\"\" class=\"wp-image-579\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181643-300x225.jpg 300w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181643-1024x768.jpg 1024w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181643-768x576.jpg 768w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181643-1536x1152.jpg 1536w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/20220519_181643-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption class=\"wp-element-caption\">Close up of intended content.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The image shows how this will be laid out on the display which is a small 16 character by 2 row display. The LCD display uses the following ICs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HD44780U LCD driver controller<\/li>\n\n\n\n<li>PCF8574 I<sup>2<\/sup>C extender controller<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">How these two interact will be covered later in the software section.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The GPS chip<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The GPS chip is used to get an accurate time reference. With a device that can connect to the internet NTP can be used for this. This minimal implementation doesn&#8217;t have the luxury of internet connectivity. The advantage of a GPS chip is that this WSPR beacon can run in the field where no internet connectivity exists. The GPS chip uses the NMEA protocol over the serial port which is very chatty. During a WSPR transmission it would be very difficult to service the serial interrupts without introducing unnecessary jitter in the WSPR protocol transmission. To avoid this the GPS chip is monitored continuously for time updates between WSPR transmissions but once a WSPR transmission begins, an internal clock free-runs until the transmission is completed. Given the master clock for the micro-controller is crystal controlled free-running during transmissions shouldn&#8217;t introduce any noticeable error in the transmission. Furthermore, the critical timing of the start of transmission will be closest to the most recent time synchronization with the GPS chip.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The SI5351A clock generator<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This clock generator takes commands from the I<sup>2<\/sup>C bus and outputs the desired frequency as a square wave. There are 2 clocks available on the clock generator but only one will be used.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The amplifier<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The amplifier is a simple broadband amplifier to boost the signal from the filtered clock generator signal to approximately 200mW. The amplifier is based on the readily available 2N7000 N channel FET also referred to as a FETlington because if its darlington type high gain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The 4th order low pass filters<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Currently the design supports 5 bands 10m, 15m 20m, 40m, 80m the WSPR frequencies for these bands are:<\/p>\n\n\n\n<table style=\"border: 1px solid black; border-collapse: collapse;width:80%\">\n<caption style=\"caption-side:bottom\">Table 1: WSPR frequencies for the chosen bands<\/caption>\n<tbody>\n<tr><th style=\"font-weight:bold;padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">Band<\/th><th style=\"font-weight:bold;padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">Dial Frequency<\/th><th style=\"font-weight:bold;padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">Transmit Frequency<\/th><\/tr>\n<tr><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">10m<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">28.1246<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">28.126000 &#8211; 28.126200<\/td><\/tr>\n<tr><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">15m<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">21.0946<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">21.096000 &#8211; 21.096200<\/td>\n<\/tr><tr><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">20m<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">14.0956<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">14.097000 &#8211; 14.097200<\/td><\/tr>\n<tr><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">40m<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">07.0386<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">07.040000 &#8211; 07.04020<\/td><\/tr>\n<tr><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">80m<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">03.5926<\/td><td style=\"padding:0;border: 1px solid black; border-collapse: collapse;padding-left:2px;\">03.594000 &#8211; 03.59420<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n\n<p>All filters are Chebyshev 4<sup>th<\/sup> order filters and have the same design. The only difference between the filters are the component values. The cutoff frequency for each filter is set to the upper&nbsp; transmit frequency shown in table 1. There are many on-line filter calculators available to calculate the component values with some using standard values making it much easier to construct the filters. The one I used is <a href=\"https:\/\/rf-tools.com\/lc-filter\/\">here<\/a>. The graphs that are displayed below were generated by LTSpice which is free circuit simulator software that you can get from <a href=\"https:\/\/www.analog.com\/en\/design-center\/design-tools-and-calculators\/ltspice-simulator.html\">analog.com.<\/a><\/p>\n<figure id=\"attachment_656\" aria-describedby=\"caption-attachment-656\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-656 size-large\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ChevyshevFilter-1024x272.png\" alt=\"\" width=\"1024\" height=\"272\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ChevyshevFilter-1024x272.png 1024w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ChevyshevFilter-300x80.png 300w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ChevyshevFilter-768x204.png 768w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/ChevyshevFilter.png 1347w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-656\" class=\"wp-caption-text\">Chebyshev filter design<\/figcaption><\/figure>\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Band<\/strong><\/td><td><strong>Cutoff Frequency<\/strong><\/td><td><strong>C1<\/strong><\/td><td><strong>C2<\/strong><\/td><td><strong>C3<\/strong><\/td><td><strong>L1<\/strong><\/td><td><strong>L2<\/strong><\/td><\/tr><tr><td>10 m<\/td><td>28.1262 MHz<\/td><td>130 pF<\/td><td>220 pF<\/td><td>130 pF<\/td><td>390 nH<\/td><td>390 nH<\/td><\/tr><tr><td>15 m<\/td><td>21.0962 MHz<\/td><td>180 pF<\/td><td>300 pF<\/td><td>180 pF<\/td><td>510 nH<\/td><td>510 nH<\/td><\/tr><tr><td>20 m<\/td><td>14.0972 MHz<\/td><td>270 pF<\/td><td>430 pF<\/td><td>270 pF<\/td><td>750 nH<\/td><td>750 nH<\/td><\/tr><tr><td>40 m<\/td><td>7.0402 MHz<\/td><td>510 pF<\/td><td>910 pF<\/td><td>510 pF<\/td><td>1.5 uH<\/td><td>1.5 uH<\/td><\/tr><tr><td>80 m<\/td><td>3.5942 MHz<\/td><td>1.0 nF<\/td><td>1.8 nF<\/td><td>1.0 nF<\/td><td>3.0 uH<\/td><td>3.0 uH<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table 2: Filter component values<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The input and output impedance should be matched to ensure the filter operates as expected. The chosen impedance for both input and output is 50\u03a9. Since the output impedance of the SI5351A is about 85\u03a9 it needs to be match to the expected 50\u03a9 impedance of the load (antenna). A 85\u03a9 to 50\u03a9 difference in impedance isn&#8217;t really a big deal and matching is not critical. But to maximize power transfer, the easiest way to do this is to use an L pad matching network:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"243\" height=\"196\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/50to85.jpg\" alt=\"\" class=\"wp-image-671\"\/><figcaption class=\"wp-element-caption\">85\u03a9 to 50\u03a9 minimum insertion loss L pad<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"475\" height=\"116\" src=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/50to75Formula.jpg\" alt=\"\" class=\"wp-image-666\" srcset=\"https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/50to75Formula.jpg 475w, https:\/\/ve3ksm.net\/wp-content\/uploads\/2022\/05\/50to75Formula-300x73.jpg 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><figcaption class=\"wp-element-caption\">Calculating resistor values with minimum insertion loss<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With the formulas above, R1 = 54.5\u03a9 and R2=77.9\u03a9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programming the SI5351A clock generator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The SI5351A clock generator is controlled using the I<sup>2<\/sup>C bus.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The multi-band WSPR beacon project has the following objectives: High Level Architecture: The 4th Order Chebyshev Filter Selector The filter selector is controlled using the I2C bus through a PC8754 8 bit bus extender IC. Each of the filters can be individually switched in or out of the circuit from the SI5351A clock driver and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"footnotes":""},"class_list":["post-484","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ve3ksm.net\/index.php?rest_route=\/wp\/v2\/pages\/484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve3ksm.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ve3ksm.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ve3ksm.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ve3ksm.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=484"}],"version-history":[{"count":134,"href":"https:\/\/ve3ksm.net\/index.php?rest_route=\/wp\/v2\/pages\/484\/revisions"}],"predecessor-version":[{"id":713,"href":"https:\/\/ve3ksm.net\/index.php?rest_route=\/wp\/v2\/pages\/484\/revisions\/713"}],"wp:attachment":[{"href":"https:\/\/ve3ksm.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}