I have been working on the circuit board layout for the "Frog Sounds" transceiver, in a "SPAM" can.
Everything fits on a board that just slides inside the can, and will be soldered to the transceiver circuit board. Using the small OLED display along with the Adafruit SI5351 board made this much easier, as they both use I2C for control. This simplifies the hardware design and makes circuit board layout much simpler. I was able to find Arduino code for a very simple CW keyer, and added the few required pins and provisions for a keying transistor to the hardware.
The transceiver uses a SA612 in a Direct Conversion receiver, and takes the 612 oscillator output to drive the transmitter. Since the SI5351 puts out a square wave, I added low-pass filters to the output of the two clock signals I am using. Using Elsie I modeled the filters, and played around with values so I could use components I had on hand. Also added provision for attenuators to bring the signals down to the 200-300 mv. that the SA612 wants, also just used values I had on hand .
Everything fit on the board quite easily, except I had to stack the SI5351 board over the Arduino Nano board. Using a cut down low-profile 40 pin socket, and trimming the pins on the Nano I was just able to get the clearance I needed. If I wanted to solder the Nano directly to the board, this would not be a problem.
I put right angled pins on the back of the board to allow for easy connections to the transceiver board.
I was able to use the software I had previously written for a simple VFO, with very little changes. Since this is a CW transceiver, I limited the tuning rate to either 50 Hz. or 1 Khz. I am generating separate Receiver and Transmit VFO signals, so the RIT function is really SPLIT frequency. It just starts at the Transmit frequency when switched on.
The OLED display is actually a monochrome display, with two different colored areas. I decided to use the larger blue area for frequency display, and the smaller yellow area for a status line.
When RIT is turned off there is only a single frequency displayed, In RIT mode there are two frequencies, the top is the transmit frequency and the bottom is the receive frequency. When in RIT the tuning rate is limited to 50 Hz. In either case the receive frequency is always shifted down the side-tone frequency.
Control is very simple, a short push on the encoder button toggles RIT on or off. A long push (1 second) toggles the step size between 50 Hz. and I Khz. After step size change RIT is turned off.
The only other function is changing the Keyer speed, this is done by pushing in the encoder button and turning the encoder. If you need a TUNE for an antenna tuner , setting the Keyer speed to 0 sets the Dit time to 5 seconds and the Dash time to 15 seconds. This adds a couple of steps when 'tuning up', but simplifies the code a lot.
I also measure the supply voltage about every two minutes, and display this on the status line. Other status line items are the Keyer speed and the step increment .
Now onto building a front end band-pass filter and making a few mods to the transceiver board. Then stuffing it all in the can.