My second homebrew Arduino/si5351 Digital VFO-Controller

Back in February 2017 I scratch-built my first Arduino and si5351 VFO. Here’s my second one. It is a generic Nano/si5351 module wired up to Farhan’s Raduino circuit. The si5351 is on an Adafruit breakout which includes a 3.3v regulator and crystal. Everything else is as per Raduino other than the presence of a second 7805 regulator for the LCD (and a 1000uF electrolytic storage capacitor) which will allow testing of Pavel CO7WT’s scheme for saving the VFO frequency to the Arduino’s EEPROM when the power drops.

The base is Veroboard. The sockets are for the Nano, si5351 breakout and two more for the rows of digital and analogue pins that will sense or control rig functions. Another pair underneath the board socket the LCD. This sandwich arrangement seems to be favoured by a number of designers. Raduino, for example. Hans Summers at QRP Labs also does it effectively, as does Mark from Minikits in his M1 kit transceiver.

I used one of the optical encoders from Minikits (for the second time). These are high quality pieces with great bearings and a light feel. The 45mm Collet Knob is also from Minikits. The encoder is a lot larger and heavier than the small cheap mechanical ones found in most VFO kits, but the tuning feel is comparable to many of the commercial transceivers I have used. It is a small luxury in a homebrew rig that adds to the pleasure of use.

I made up a mounting bracket of aluminium right angle stock for the display, board and the encoder. This makes the VFO module self contained. It also means the four M3 LCD panel mounting bolts can be hidden behind the rig’s front panel. The completed assembly can be dropped into the radio case and bolted in a minute.

The Arduino Nano pin usage in this module is as follows:

D0: (Serial)
D1: (Serial)
D2: RotaryEncoder-up
D3: RotaryEncoder-down
D4: Available
D5: Available
D6: Available
D7: Available
D8: LCD-RegisterSelect
D9: LCD-Enable/Clock
D10: LCD-D4
D11: LCD-D5
D12: LCD-D6
D13: LCD-D7

A0: Available
A1: Available
A2: Available
A3: Available
A6: Available
A7: Available.

My design choices mean that VFO/BFO buffering and filtering, and controller or sensing circuitry must be built elsewhere, off the VFO board (examples are components for an S-meter, power meter, and band switching via a 3-bit or I2C multiplexor with relay switching transistors). I think this is a fair trade-off. Although each of these external modules takes space and necessitates additional inter-board wiring, I like that the VFO/Controller module is generic, self-contained, and can be potentially reused down the track.

Hand-crafting a generic VFO/Controller module, particularly one that traces Raduino exactly (excepting tbe power save mod) raises an obvious question. Why? Why not just buy a Raduino? Is there anything about my hand-built unit that differs from Raduino?

One thing’s clear, no dollars were saved scratch-building, my unit cost almost twice as much (around $AUD60) than a Raduino ($AUD38 after conversion). Further, I spent around 12 hours noodling, sketching, soldering and debugging.

It all comes down to how you want to spend your valuable hobby time. If that is scratch-building everything, making a radio with your own bare hands, from the ground up, then hand craft everything and enjoy! But if you prefer making the RF modules more than the MCU (Micro Controller Unit) buy a Raduino and spend your time soldering 2N3904s and IRF510s.

My enjoyment comes from building and then operating a variety of simple and not-so-simple transceivers. The SOTA summits are always calling. So having built two Nano/si5351 VFOs from scratch, I feel like I understand them now. Time now to experiment with some mixer circuits… let’s get some RF up the stick.

My first Raduino should arrive next week.

PS: One final comment on my choice of Liquid Crystal Display. Miniature OLEDs are preferred by some makers to LCDs, which to many are reminiscent of a 1990s FAX machine. The OLEDs are a superior display. The colour screens can mimic high-end commercial transceiver displays. I purchased an OLED last year and blew it up by using a dodgy 7805 regulator. I haven’t bought another one yet.

That experience aside, I am not jumping on the OLED bandwagon, mainly because the tiny size of the displays which are completely out of scale with the rest of the rigs that we thru-hole scratch-builders turn out. A homemade 6 inch wide by 2 inch high front panel sporting a 1.3 inch display with figures in 9 point doesn’t work for me. If I ever adopt surface mount and one-off runs of OshPark PCBs I’ll rethink his position. In the mean time, $5 LCDs are functional, low power consuming and robust displays, and in scale with by builds.

19th March 2018: Jerry W0PWE contacted me a few months back and filled me in on how he took my keyer script from github and merged it into his Arduino controller script. Here’s a picture of his rig, a 5-band CW QRP transceiver, quite similar to my SummitProwler IV project. Love your work Jerry!


Update: May 2018

Since I first built these first two Arduino Nano /si5351 VFO/Controllers I’ve continued rolling them out, for another 3 receivers/transceivers. I’m now well and truly settled on the Raduino circuit and on specific assigned pin uses (for transmit/receive switching, PTT sensing, s-meter, meter, paddle etc), so that I can download a common script into any of these rigs without modification.

Some projects do have specific needs — for example, my latest compact QRP SSB/CW rig (based on the G6LBQ BiTx) for 20 and 40 uses an 8×2 LCD — for these variants I’m writing distinct code statements sandwiched between #defines. Each rig (‘target’) gets a label which is tested in #defines so the appropriate code is compiled.

Below is the VFO/Controller for the compact G6LBQ rig, currently under construction. The Arduino Nano and Adafruit breakout board are clearly visible; to the left of the BoB are three (one per clock) 2N2222 buffers/amplifiers to isolate each si5351 clock from subsequent receiver/transmitter stages.

Tagged , , , , ,

4 thoughts on “My second homebrew Arduino/si5351 Digital VFO-Controller

  1. […] finished my latest Arduino Nano/si5351 VFO/BFO/Controller, I wanted to hook it up to some receiver stages to realise a SSB receiver. My grand plan for these […]


  2. […] for another homebrew rig, with some improvements.  The post describing the VFO is here.   A video of the new rig (receiver only at this stage) is here. […]


  3. Allen says:

    Could I get a diagram and arduino code for this project .


  4. Paul Taylor says:

    On github, prt459/vk3hn_VFO_controller/SP-IV-VFO-Controller


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


Amateur Radio and unrelated technologies

Paul Gacek


Peter Rachow's (DK7IH) Amateur Radio Engineering Projects

Amateur projects for the radio draftsman. Hardware, software, test equipment for the radio amateur

VK3KR Workshop

Homebrew electronics and a bit about a Tandoor oven

Homebrew Amateur Radio

Homebrew Amateur Radio and Electronics.

W3JDR Bright Ideas

For Ham Radio Experimenters


Amateur Radio and Stuff


My Projects

The Dragon and The Phoenix

Bard's Journey into the Collective Subconscious and How It Shapes Our World

Bryce Dombrowski's Projects

electronics engineering and more!

%d bloggers like this: