-
Notifications
You must be signed in to change notification settings - Fork 24
Home
These pages will help you to understand, reuse or repurpose this Arduino/si5351 VFO/Controller/Keyer script.
Try this script if you want a fairly complete si5351 PLL VFO, any number of VFOs (default is 10), optional BFO, BFO (passband) tuning, optional CW carrier oscillator (at signal frequency), pushbutton controls, basic rig controls including transmit/receive relay switching, receiver muting, S and relative power metering, a tune button, and a semi-breakin CW keyer with memories.
I have a psychological aversion to menus. Therefore there are none ... all functions are associated with physical (short and long-push) pushbuttons. It also means that some things that you might expect to be configurable (such as the CW memory messages) are hard-coded. I do this for simplicity and to ensure I can cram all the features I like into the Nano's small memory.
The script is designed to target an Arduino Nano, I2C connected si5351, and a 7044 LCD or I2C connected OLED, wired as per Ashar Farhan's Raduino module. The script will come up with just these parts present, and will generate a VFO at signal frequency plus the Intermediate Frequency. Add an encoder and you can tune the VFO. Add pushbuttons and you get access to the 10 VFOs. Add a paddle socket and you have a CW keyer and keyed carrier generator. And so on.
Although the code targets the Raduino module, it is not designed to run a VU2ESE BiTx40 or uBiTx. You could easily use it to drive a BiTx40, but not a uBiTx, which is not a single conversion architecture.
Since 2017, I've been building a series of homebrew SSB/CW transceivers and receivers, and I have standardised on the Arduino Nano and si5351 PLL. The script derived from several that were popular at the time, but has been extensively customised to suit my homebrewing abilities and interests.
This is a hobby project, so while I'm happy to hear that you've used this script, and will respond as time permist, I cannot support it, other than best efforts.
I update this script regularly. If you want to report a bug or feature and you don't want to split and hack the code yourself, leave an Issue here.