Code for the WSPR protocol
python3 encode.py callsign locator power
Currently only simple callsigns and 4-symbol locators are accepted. Power is in dBm.
Arduino program to actually transmit the data generated by
an AD9851 module.
Note: if you use the square wave output (QOUT1 or its inverse QOUT2), make sure to tune the comparator voltage to achieve a reasonable duty cycle. If followed by a class E amplifier this is about 45% for maximum power output (anywhere near 50% should be OK). I use a DC voltmeter and approximate the duty cycle with V/5, so that a measured 2V reading translates into a 40% duty cycle.
You could of course also take either of the sine wave outputs (ZOUT1, ZOUT2) and amplify or feed directly into a low-pass filter to the antenna.