The Arduino Nano. Si5351 and the Color TFT.
[Critical and Important Note: I am using Si5351 PLL Modules as supplied by Adafruit Industries and/or ones custom built for me based on the Adafruit design. In case you are wondering about the custom built modules some of my Si5351 Modules have a Blue LED that is lit when power is applied. Kind of cool Juliano Blue! Hans Summers sells a Si5351 kit at very competitive prices to the Adafruit board. Here is the caution: The boards from Hans use a different clock oscillator frequency for reasons of more accurate frequency generation at very low frequency divisions. He has notes on this in his git hub documentation. Thus using my sketches and Hans Summers Boards you may get slightly different frequency outputs. I am not sure what you change to fix this as what I was told to do I could not find the lines in the code to fix this. If you have the Summers board then contact him directly!]
The Sudden transceiver can almost (I did say almost) be seen, as a minimalist rig as there are only two devices in the IF Module – two NE602’s. Beyond that are four other modules comprised of a RF Amplifier/Band Pass Filter, An Audio Amplifier, a Microphone Amplifier and finally a second Band Pass Filter/Transmit linear amplifier chain. That is it!
But wait what takes it out of the minimalist class is the Arduino Nano that not only handles the command of the digital frequency generation of the LO and BFO signals but also performs command control and communications for a whole host of other functions and capabilities.
Here is what the three element (Nano, Si5351 and the Color TFT) brains of the Sudden Transceiver performs:
In the course of developing the software for this project we only used about 70% of the Arduino Nano’s programming capacity so we have some head room for added features.
Let us now tour our display. The top frequency readout is VFO A, which is not active at this time since Green Dot that would indicate it is in use is not lit. But you can see the Green Dot below the B which indicates it is the active VFO. The selection of either VFO A or VFO B is done with a simple panel mounted SPST switch.
Right below the A display along the left edge are the word USB LSB to indicate the sideband selection. Noteworthy is the Red Dot to the right of LSB which indicates its selection.
To the right of LSB in small print is the frequency 7185000 which is the VFO B setting and this small size $1 display only appears during transmit and its location is tied to VFO B. Were VFO A being used for transmitting, then the frequency 7210500 would appear there.
Along the right and side is 100Hz and my call sign There are selectable step rates including the default 100 Hz, but also 1 kHz, 10kHz, 100kHz and 10 Hz which are sequenced by depressing the encoder knob. My call is to remind me who I am.
In the lower third we have the S Meter and to, the right of “S9”, is the word TUNE. This only appears when you initiate the TUNE function which is a 10 second 988 Hz pulsed tone that is fed into the balanced modulator. The 988 Hz tone is a square wave that must be passed through a three stage RC filter.
I have a SPST switch that I call a MOX control which is nothing more than a switch that is connected in parallel to the PTT so you can manually operate (the) transmitter or MOX. I engage the MOX and then a momentary press of the Tune Push Button and you have a pulsed tone for tune up.
At the very bottom you have the VFO B readout. A and B operate independently so that you can transmit or receive on either VFO.
Later on will be a section on detailed schematics, LT Spice Simulations and the Arduino Sketches. You can download the information from this web site. I do not use GitHub; but the sketches are in Notepad in a text format. Open up an IDE and paste the into the sketch. In a file folder in the Arduino directory marked Sudden include the sketch and the supporting files -- four of them inclusive of si5351.h and .cpp and the Rotary.h and cpp. Under the Arduino directory in the folder libraries you will need additional libraries for the display. If this all seems a mystery to you, STOP and find out what you need to know.
There are some things that as a personal user you will want to change such as the Splash Screen and have your call sign on the display. I have reserved 7 spaces for the call sign such as W6JFR/7 (my former call sign which I had for 42 years). The seven spaces will easily accommodate calls such as GW4*** or KK6***. There is probably room for 8 spaces but that will make things tight. If you have a two letter call then you would leave three spaces in the code so that the print statement would be display.print("___N6QW"); or old call sign display.print("W6JFR/7"); .
The Arduino Sketch
The very first question that will be asked is how do I get the Color TFT?
The answer is and is my source : A $10 Bill will get you two*.
A Special Note about the Color TFT Supplier. Initially I had a link above that was from my latest buy of the Color TFT's from my long time supplier. I was alerted by a ham in the UK (who has his SPRAT and I am still waiting for mine) that the item originally linked has 11 pins while the older display which is in my rig has 8 Pins. The other issue some of the pins on the 11 pin version have different names. Well don't panic (like I initially did) as either the 11 Pin or 8 pin will work. Use the magic decoder ring below.
We will start firstly with the intercomponent wiring of the Arduino, the Si5351 and the Color TFT display. There are eight pins on the 160X128 Color TFT display and one is not used, the one marked Vcc. The wiring interconnection is also contained within the sketch itself.
There are a total of five (05) switches used with four connected to the Arduino and the 5th is in parallel with the PTT on the microphone. Two of the switches (Step Rate and Tune) are momentary push buttons, The USB/LSB Select and the VFO- A/VFO-B Select are SPST miniature toggle switches.
In the last photo you can see how the 20 Meter version will appear on the display. Additionally the 20 Meter Sketch info is on the link below and the default frequency is 14.200 000 MHz. See if yo can spot a subtle difference bewteen the two display faces. There was a reason for this ... the same code can be used for other transceiver projects. Look close. BTW there are three splash screens upon boot up and these can be customized for your own messages. Just look for the sub-routine that addresses Splash Screens.