Tag Archives: wspr

A Few Questions

Hello Dear Readers,

Sorry for the thin content on the blog once again. In the insufficient free time I have, I've been swamped with trying to keep OpenBeacon in stock and development of new products going. I've got a couple of questions for you, if you don't mind chiming in.

First, I tried asking a question similar to this on the KnightsQRSS mailing list, but it rapidly devolved into a flamefest and I never really got much good, constructive feedback. So I put it to you. I'm interested in putting an 80 meter version of OpenBeacon on the market. There doesn't appear to be much 80 meter activity in North America, but what there is seems to be located just above 3.500 MHz. The issue that I'm seeing is that choice of frequency excludes all American non-Extra Class hams. With 80 meters being such a large band, I don't see any reason why another frequency could not also be used. I'm proposing to put the 80 meter OpenBeacon on 3.582 MHz. If operation was kept between 3.581800 MHz and 3.582000 MHz, I don't believe it would interfere with any current informal band plans, but I'm not certain about that. I have a very large stock of 3.582 MHz crystals, which obviously also plays a factor (I would be willing to sell them individually to anyone who wanted the for their own homebrew endeavors). So my questions are: does this look like a decent frequency and is this something that would interest you?

The second query is in regard to a potential new product. I'm giving consideration to bringing to market a sort of companion receiver to the OpenBeacon. It could be used for a QRSS grabber or a dedicated monitor receiver for any of the digital modes with automatic propagation reporting such as WSPR, PSK31, or JT65A. I envision it being paired with a small SBC such as Raspberry Pi so that it could make a complete, stand-alone, efficient HF monitoring solution for around $100 total cost (Raspberry Pi currently costs $35). In my opinion, there is a lack of QRSS grabber stations in North America, and using OpenBeacon or other MEPT transmitters will be a lot more fun when there are more stations that can listen for your signal. If you use the receiver for the automatic reporting modes, you can build up a very nice set of data about propagation to your QTH. Here is a list of preliminary specs:

  • DDS or Si570/Si514 LO for wide tuning range and stability
  • Multiband
  • PC tuning and control via USB (similar to OpenBeacon)
  • Single-signal reception (probably filter method, but maybe phasing)
  • Line-level output for PC consumption

So I ask you: is this something you would be interested in? Is there anything feature-wise you would like to see included?

Thanks for letting me pick your brains. I hope you stop by in the comments and leave some feedback!

OpenBeacon Update

OpenBeacon Pre-production

Now that we are starting to get settled into a routine life with our new baby boy Eli, I've been able to sneak in some more work on the OpenBeacon project. The beta test is going fairly well, but I made a poor design decision in choosing a USB Micro-B connector and also made some schematic errors which needed to be patched for the beta PCBs. After we got home from the hospital and while Jennifer had her mom around to help, I was able to get back to Kicad, make the necessary changes and fixes, convert the USB Micro-B into a plain vanilla B and resubmit the files to Seeed Studio for rapid prototyping (also converted my EtherProg AVR programmer side project to USB B as well). Slightly less than two weeks later, and I had the nice circuit boards in hand!

First, I put together the EtherProg board to make sure that my new USB connector footprint was OK. A very quick assembly showed that everything was actually good this time! This gave me a bit of hope that maybe I completed the OpenBeacon PCB correctly this time. A bit nervously, I assembled the power supply and digital side of OpenBeacon, which rewarded me with some nice blinkenlights and proper USB enumeration on the PC. The analog side also went together quite nicely, although I needed to make a few component value tweaks in order to get the desired output power (about 300 mW) and enough harmonic suppression (maximum harmonic content of -45 dBc). A joyous day! Two successful PCB spins!

Now that the hardware is pretty much 100% nailed down, it's time to turn my attention completely to finishing the firmware. The basic beacon stuff is already in place, such as the QRSS, DFCW, Feld Hell, and CW modes. I still need to add extras such as multi-mode operation, custom glyphs, and multiple messages. But something has been whispering in the back of my mind lately. All of the previously mentioned modes are cool, but they lack the automatic reporting of some of the newer modes. It's particularly aggravating right now that there aren't many operational 30 meter grabbers in North America. It would be really cool to be able to add WSPR to the OpenBeacon repertoire so I can just set it and forget it. That seemed like a big challenge, but I have been following WA0UWH and KO7M having all kinds of beacon fun with their Propeller boards, and their efforts make it seem workable.

First OpenBeacon WSPR Capture

First OpenBeacon WSPR Capture

Thanks to an excellent blog post by KO7M, I was able to suss out the basics of the WSPR protocol and how to implement it in the relatively simple OpenBeacon hardware. The OpenBeacon uses non-linear varactor tuning of a VXO, while KO7M's Propeller beacon uses very precise frequency synthesis. I wasn't even sure if it would be possible to fake the necessary phase continuous 4-FSK modulation with the OpenBeacon, but I figured it was worth a shot to at least try to fake it.

Long story short, due to the robustness of K1JT's protocol and decoding software, I managed to pretty easily get a pre-generated message to transmit correctly with almost no tweaking of the transmitter. In fact, getting the transmit interval timing correct proved more challenging to me than the actual sending of the WSPR message symbols. The firmware is currently very bare-bones, with a hard-coded WSPR symbol string, hard-coded transmit interval (every 10 minutes) and the necessity to turn on the WSPR mode at precisely an even minute interval. Finishing out the firmware will require adding in the ability to change the WSPR message just like the standard message buffer, access to all of the WSPR parameters via the PC client program, and the ability to start the transmission with the pushbutton instead of doing it via the client program. Configuring the WSPR parameters will be a bit manual, but the beacon should be able to just sit there and do its thing once you've got that all setup.

So now the goal is to finish the firmware soon and get the Gerber files sent off to my PCB production house for a real production run. And get ready for my talk at FDIM! I know that these last two months are going to go awfully fast.

In the mean time, I'll be running the WSPR beacon for a while to see what captures I can get off 300 mW on 30 meters. It will also be a good test to see that the firmware can keep the transmit intervals synchronized over long periods of time. If I get any spots in the WSPR DB, I'll post them here as an update.

Edit: Here are my spots as of 0400 - 19 Mar 2012:

5 spots:

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2012-03-19 02:24  NT7S  10.140125  -15  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-19 02:18  NT7S  10.140125  -24  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-19 01:06  NT7S  10.140125  -17  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-19 00:26  NT7S  10.140129  -24  -1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-18 22:34  NT7S  10.140126  -21  0  CN85nm  0.02  NO6W  CM98  797  168

The power is a lie, I'm actually at 200 mW, not 20 mW. Need to fix my WSPR symbol string.

25 Mar 2012 Update: I updated the firmware and client software to allow a WSPR transmission to start on command from the client. This allows me use the much more accurate PC clock to sync the transmissions. When only using the ATtiny85 timer, the best I could do was keep the beacon in sync for about 6 hours before it would drift fast or slow too much. With the PC tethering, I've been running overnight and all morning, and have managed to pick up a bunch of spots with my 300 mW.

42 spots:

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2012-03-25 18:24  NT7S  10.140170  -19  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:18  NT7S  10.140169  -19  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:12  NT7S  10.140168  -16  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:06  NT7S  10.140167  -18  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 18:00  NT7S  10.140167  -17  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:54  NT7S  10.140168  -15  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:36  NT7S  10.140132  -13  0  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 17:36  NT7S  10.140167  -13  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:24  NT7S  10.140167  -18  1  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 17:18  NT7S  10.140132  -16  1  CN85nm  0.02  VE6PDQ/1  DO33fl  1110  34
 2012-03-25 17:18  NT7S  10.140132  -16  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 17:12  NT7S  10.140142  -21  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 17:00  NT7S  10.140132  -18  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 17:00  NT7S  10.140130  -23  1  CN85nm  0.02  KL7UK  BP51ip  2468  326
 2012-03-25 17:00  NT7S  10.140131  -21  1  CN85nm  0.02  VE6PDQ/1  DO33fl  1110  34
 2012-03-25 17:00  NT7S  10.140168  -29  0  CN85nm  0.02  NO6W  CM98  797  168
 2012-03-25 16:54  NT7S  10.140131  -17  1  CN85nm  0.02  KL7UK  BP51ip  2468  326
 2012-03-25 16:48  NT7S  10.140133  -25  2  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 16:48  NT7S  10.140133  -17  0  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 16:36  NT7S  10.140145  -14  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 16:06  NT7S  10.140147  -23  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 16:00  NT7S  10.140138  -22  1  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 16:00  NT7S  10.140146  -23  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:36  NT7S  10.140147  -23  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:30  NT7S  10.140139  -21  1  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 15:24  NT7S  10.140147  -21  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:18  NT7S  10.140147  -23  0  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 15:06  NT7S  10.140135  -25  2  CN85nm  0.02  KC0TRX  EN34  2335  82
 2012-03-25 14:54  NT7S  10.140147  -20  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 14:30  NT7S  10.140147  -17  0  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 14:24  NT7S  10.140147  -20  1  CN85nm  0.02  KC6KGE  DM05gd  1189  165
 2012-03-25 13:48  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:42  NT7S  10.140136  -16  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:36  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:18  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:12  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 13:06  NT7S  10.140136  -17  1  CN85nm  0.02  WA7KGX  CN85no  9  0
 2012-03-25 11:36  NT7S  10.140134  -19  0  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 11:24  NT7S  10.140134  -16  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 11:18  NT7S  10.140134  -17  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 11:00  NT7S  10.140135  -2  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91
 2012-03-25 09:12  NT7S  10.140136  -12  1  CN85nm  0.02  KC9NBV  EM69oe  3020  91

1 Watt to VK-land

VK6DI spot of NT7S

VK6DI spot of NT7S

Today is our housewarming party, so that means chores, chores, and more chores for me. I figured I could still have a little ham radio fun by firing up WSPR and letting it run while I took care of stuff around the house. I didn't really expect it, but my little 1 watt signal to the random wire is managing to haul itself to nearly the other side of the globe this morning. Both VK6DI and VK2AWD have been receiving my signal fairly reliably. I was hoping that I could hear a VK station here in Beaverton, but it doesn't appear that either of those two are set up to transmit. Regardless, it's still really gratifying to see your modest signal make such a spectacular trip.

NT7S Spotted

NT7S Spotted

Here's a screen grab of the latest spots of me uploaded to the spotting page. I'm hoping to run my WSPR beacon a bit more over the next few months at various times of the day to try to get a better picture of what propagation is like at my QTH. I've been so constrained in my HF operations in the past, I've never really been able to count on working any DX and I have no grasp of what the propagation characteristics are like (other than the generic characteristics of each band). Neat stuff for sure, and I would like to try other bands. However, I think I'm going to stay off 40 meters until the agreed-upon frequency is changed. Right now the WSPR watering hole on 40 meters is just about smack dab on the QRP frequency, much to the chagrin of a few QRPers. I can't say that I blame them, I don't think that was the wisest choice. A lost of WSPR participants run 5 watts, so it's not like these are microwatt beacons we are talking about. In the mean time, I'll continue to have fun on the other bands.

Shhh...WSPR...

WSPR-EEE Python GUI

WSPR-EEE Python GUI

Like I don't have enough ham radio interests to keep me busy, but sometimes I have the attention span of a hummingbird and want to try new things that catch my eye. Such was the case when I saw VK2TPM's blog post about getting WSPR up and running on his Ubuntu Intrepid box (thanks for the tip of the hat on the other post, Peter!). I've heard quite a bit of rumbling about this MEPT stuff on the ham blogsphere, so seeing Peter's instructions finally pushed me over the egde to try it. After a few false starts due to unresolved dependancies (I guess you could call it the Linux version of DLL Hell), I was off and running with the WSPR Python GUI. It seemed to work FB once I got it to execute, but I was having a real hard time reading the font in the widgets that showed the stations spotted. No big deal, since I could open the ALL_MEPT.TXT logfile to read them. I also can't seem to get the spots to automatically upload to the spotting web page, but I am able to send the ALL_MEPT.TXT file manually.

WSPR Spots - 2322UTC 26 Oct 2008

WSPR Spots - 2322UTC 26 Oct 2008

Since the audio and PTT interfaces to the IC-718 were already in place, it was simple to start transmitting my own beacon packets as well. I set my power for approximately +30 dBm (1 watt) and let the program do its thing while I did other chores around the house. I came back a while later, and lo-and-behold, people were hearing me! I never crossed the pond, but did get across the continent (as you can see to the right). Not bad for a first try, but I'm hoping to haul my signal across the ocean for some DX. I'll keep running the beacon for the next few hours to wait for the terminator to cross over me. I'm guessing I'll have a better chance of getting my 1 watt heard in distant lands when I have the gray line working for me. Fun stuff, and easy to do if you already are set up for working digimodes.