I know it has been forever since I started the Arduino beacon project and while the functionality is 90% or better complete, the project has been on the shelf for a very long time. Between family illness, work issues and the like, ham radio has taken a bit of a holiday.
Today I drug out the beacon hardware and spent some time reviewing the software. I made sure I could still build the code and flash the device with the image. All is well in that department. I spent some time tidying things up a bit in the code and removing some edge case failures.
I have reduced the functionality of the software to three modes:
1. Signal Generator - General purpose, turn the dial, set the frequency mode.
2. WSPR beacon
3. QRSS beacon
There is also a real-time clock setting mode, but that is more of a utility.
The WSPR beacon has preprogrammed all defined WSPR frequencies from 500 kHz to 50 mHz. A single button push will cycle through all of the WSPR frequencies and sets the beacon to the centre of the band. From there, the rotary dial will allow adjustment down to 1 Hz.
The QRSS beacon transmits on whatever frequency is set on the dial. The beacon continually transmits until the operating mode is changed.
There are a few things to do yet to finish off version 1 of this project.
1. WSPR mode needs to allow adjustment of the TX percent value as well as the call sign and power level. Currently it requires recompiling the code to change these values. The TX percent value is not currently respected and the beacon currently transmits once and then enters IDLE mode until WSPR mode is reselected.
2. QRSS mode needs to allow changing the QRSS message without recompiling the code.
I think at this point the code could be declared V1 complete. A few lower priority changes might be the definition of V2.
1. The WSPR beacon should have a mode where it cycles through all 12 WSPR bands. The challenge here of course would be to create a 12 band antenna system from 500 kHz to 50 mHz.
2. Allowing finer control of the frequency with the rotary encoder. Currently the resolution is 1 Hz.
3. Automatic saving/restoring of all settable parameters in EEPROM.
I am going to try and get V1 completed by the time our QRP group meets this Wednesday. It will be a bit of a challenge, as I need to finish the packaging of the hardware, but will give it a go.