The inspiration to purchase a RaspberryPi originally came from reading an article about turning it into a simple HF WSPR beacon. The device will output around 10 milliwatts directly from the GPIO4 pin and once connected to antenna will transmit away!.
The first step was to build a simple band pass filter, i choose 30m/10Mhz as my WSPR band of choice as it should provide a good Australian coverage with the occasional overseas spot, if I’m lucky.
I ordered a filter form the US and once it arrived set about building the filter, it took a number of weeks of “spare time” as i really wasn’t in a rush, with focus, the process should take much less than 1hr!. Once I had the filter built, i realised i would need some way of connecting it, so another delay occurred while Mr eBay delivered some PCB mount SMA connectors.
The filter then sat on the desk for a while as i got distracted by other things with the Pi such as my weather station. However, on the weekend I finally managed to align all the ducks and made the WSPR beacon a reality.
I choose the code from https://github.com/JamesP6000/WsprryPi after having a read of the 3-4 versions that seem to exist, i liked the idea of the constantly recalibrating reference using the a NTP time reference mechanism and used a base install of Raspbian to generate the SD card to drive it. The install was straight forward, following the instructions provided at the Github link and once connected to the antenna, in no time at all I was transmitting away using the below command.
pi@raspberrypi ~ $ sudo wspr --self-calibration --repeat VK3BQ QF22 5 30m
the –self-calibration command Call’s ntp_adjtime() before every transmission to obtain the PPM error of the crystal to ensure you are transmitting on the correct (or near enough) frequency, the –repeat command transmits every 2 minute block forever, your call sign and grid reference for the spot, the “5” is the power in dBm, I’ve assumed ~5 Milliwatts based on my connection loss, its transmitting somewhere less than 10 Milliwatts, the 30m refers to 10Mhz, and uses the pre set frequency for 30m, you can enter a direct desired frequency instead of the generic 30m band (or your band of choice) all this is better explained in the github source page.
The application uses around 20% of the pi CPU, and is drawing around 800mAh@5v on transmit. The Pi is around 50 degrees with the application running, its been pretty stable, though sometimes does seem to need a power cycle to encourage it to transmit again.
So, how does it work, below is a table of my current spots, i have generic east coast australian coverage, no overseas stations yet, but ill let it run and maybe one day will manage a spot! Maybe as the season progresses and propagation improves. Im also contemplating purchasing a 14Mhz/20m filter to try that band. Im impressed with how well less than 10 Milliwatts into some wire performs.