Summary
I've decided to make the WSPR beacon using a 'Blue Pill', a Si5351A breakout board, and a ublox NEO-6M module.
Deets
The major goal of this project was simply to get familiar with the Si5351 synthesizer chip which I had planned to use in another project (which may or may not ever happen), and I had a 'breakout board' for such on hand. They can be had for about USD $5 on eBay from China if you're willing to wait, or domestically for upwards of USD $10. This synthesizer is quite popular, but it has 188 registers (in the full 8-channel version) that have to be set up to get it to output signals. There are some decent libraries out on the web, though I didn't find decent non-GPL ones, so I'm probably going to hand-roll a bespoke one for my purposes.
Part of the nature of the WSPR protocol is to include the location from which the beacon is transmitting. This could be configured in, and that's viable for a stationary beacon, but I wanted this one to be self-configuring and deployable ad-hoc in the field. So I decided to add a GPS module to it since those are so cheap now. In this case I elected the apparently popular ublox NEO-6M module.
Another part of the nature of the WSPR protocol is the requirement of being timely. It is necessary to have the beacon synchronized within one second of UTC. Transmissions are done in an 'aloha' fashion on designated bands at the start of an even-numbered minute. The transmission time is nearly two minutes in duration. I'm not exactly sure why this requirement exists, but maybe it is in hopes of being more orderly and thereby reducing the likelihood of folks stepping on top of each other, since the beacon network otherwise operates asynchronously. In this case the GPS module serves double-duty, because it can also set the clock to the true UTC time automatically.
Since this seemed like a fairly simple project, I decided to give the Blue Pill a whirl. These boards are so cheap -- about USD $3 from China -- that I try to keep a plurality of them on hand always for random projects like this.
Since I'm using the Blue Pill, I will also be using the toolchain from ST Microelectronics -- namely STM32CubeMX, STM32 Workbench, and STM32 ST-Link Utility. Oh, and a STM32 ST-Link (compatible) programmer. The programmer I am using at the moment is one of the cheap Chinese clones that can be had for about USD $5. If you need to get one of those specifically, consider also getting a USB extension cable as well, because that ST-Link has the USB Type A device connector on the body of the programmer, plugging directly into your computer (much like a USB memory stick). This doesn't give you much reach to your workbench to connect to the board, so you'll either need a USB extension cable or really long SWD wires to your board (which are typically unshielded ribbon wire).
And then of course all the jumper wires with the Dupont connectors of various genders. They're very handy for quick prototyping with these breakout modules. I used to think they were absurd -- when I was younger I would prototype with solder and self-etched PCBs -- but I have come to appreciate the freedom to plug stuff together ad-hoc in this modern, highly integrated, modular, world.
Most of these things I had on-hand, but I did need to order the GPS modules, and being a cheap bastard I ordered them from China to save a couple bucks (OK, really so that I could afford to buy more in case I blow them up -- I ordered 5). This means waiting for the slow boat to arrive.
Next
Setting up the development environment.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.