Skip to content
vk3hn edited this page Dec 11, 2018 · 9 revisions

Welcome to the Arduino_si5351_VFO_Controller_Keyer wiki!

These pages will help you to understand, reuse or repurpose this Arduino/si5351 VFO/Controller/Keyer script.

Should I try this?

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.

Hardware

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.

Support for HFSignals' BiTx?

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.

Origins

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.

Support

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.

Updates

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.

Clone this wiki locally