This board is a universal radio project controller, with an ATMega328P(U) microcontroller and lots of options. The intention was for it to become a basic building block in transceivers, receivers, transmitters, signal generators, anywhere you need either a digital controller, one to three clocks, or both. The board has headers for the common si5351 breakout board, available from Adafruit or as a .CN clone, and a 16×2 HD7044 Liquid Crystal Display using the standard 14+2 parallel data header (+2 for backlight). It brings out all of the available digital IOs (D2..D13), analogue inputs (ADC) A0..A5), as well as headers for a 12V supply, and access to the regulated 7805 5v output, access to the LCD backlight in case you wish to take control of this in software, and an FTDI-compatible USB-to-serial programming board.
However it doesn’t end there, as the point of this desgn was to incorporate as many of the additional components that have so often been relegated to small boards hanging off front, side and rear panel sockets and switches. So there are these additional headers:
- a header for 1, 2 or 3 pushbuttons for general control purposes, intended to be mounted on a front panel for channel selection, VFO control, VFO step etc (additional buttons can easily be added in desired)
- a header for a paddle and 1, 2 or 3 keyer memory pushbuttons (again, more may be added)
- a header to take digitally generated and filtered sidetone (with an on-board level setting trimpot) off to a transcever’s audio stage
- a header for a mechanical or optical emcoder (tuning), including a line for an integrated pushbutton.
The ATMega328 MCU’s I2C SDA and SCL, ground and 5v are additionally available on an I2C header, for all kinds of extensions via sensors that talk I2C or those on breakout boards. This feature opens up the possibility of using any of the OLED displays instead of the LCD, as OLEDs interface via I2C. Another option is to use an LCD with I2C backpack which would free up 6 additional digital IO lines.
In fact there is no reason to have a display if you don’t need one, this board could control a headless WSPR beacon, Automatic ATU or Satellite Tracker if needed. The possibilities are fairly much as endless as you get from an Arduino Uno.
The board was designed using EasyEDA and fabricated including assembly at JLCPCB. The design process was a part time project that lasted about 6 weeks. The first batch of five boards was done and delivered in about two and a half weeks from ordering, with DHL delivery.
The three si5351 clocks are each buffered on-board, delivering a solid +13dBm (20mW) into 50 ohms, perfect for driving an L7 mixer (via a pad) or a transmitter pre-driver or driver. The buffers are 74LVC1G126 , fast single buffer/line drivers with 3-state output and a Schmitt-trigger on the input for handling any variation in the si5351 clock rise and fall times as frequency increases. The buffers are permanently powered and will only draw curent if the clock is enabled.
The schematic is here.
My VFO_Controller script now has a new compilation target, UNIVERSAL_VFO_CONTROLLER, which, if #defined, includes the code for the pushbuttons and other features of this particular board. Get it here:
First use: a 20mW QRPp transmitter!
The first real use of the board in the shack was as a QRPp transmitter. Just power it up, connect a resonant antenna to CLK#1 output, plug in a paddle, and it’s ready. Adding a 2N2222 or BS170 (and a Low Pass Filter) should get to half a watt, an additional IRF510 for a full five watts, so simple!
The schematic is derived from Ashar Farhan VU2ESE’s Raduino. A number of ideas for improvements were made by David VK3KR. The use of si5351 clock buffers and selection of 74LVC1G126 devices was first done by Glenn VK3PE.
First run boards are being evaluated by David and Peter VK3TPM. Once the bugs are ironed out (and there are a few!) a second run will be done, verified, and then the PCB design will be opened up to anyone who would like to spin up their own pieces.