DDS for SSB 6.1 transceiver based on Si5351A, ST7735 and ATMega1284p
Memory - Save state - List cells - Load
- Short press - enable/disable RIT (transmits on the main frequency).
- Long press
- If encoder is rotated - change step of frequency
- Single press - switches type of modulation
- Press & hold when is booting - opens Settings mainMenu (use Encoder to navigate and change the values, use Encoder button to activate the mainMenu item and rotate to change, second click will return focus)
- Short press - switches between A/B VFO
- Long press - enables SPLIT. Allows to transmit on alternative frequency. For example if you are receiving at VFO A, you will be transmitting at VFO B frequency.
- Short press - cycles through list of bands
- Changes step from 1 Hz to 1 MHz in power of 10th.
Use MEM to exit w/o Save *1s -- [Memory] Save selectedActionIndex as new cell [3.760300, LSB] Load Overwrite with Current Y/N Erase Y/N Erase All N/Y << [CW] Words Per Minute <50> Iambic Keyer [x] Mode <A> Reverse Pads < *- | -* > CW Tone <800> << [SWR] Analyze Band << [Settings] Intermediate Frequency <8000000> MHz SSB Offset <1400> Hz DDS Calibration <-0> Hz [SWR Calibration] Set 50 Ohm point Set 100 Ohm point << [Language] English Русский (Russian) Espaniol (Spanish) << [Pano] <Whole Band|Part of the Band> Swipe size +/- <10> kHz << Allow TX after startup  << About <<
SWR Analyse should scan the band with minimal output power and plot the SWR graph. Display Max, Min SWR & Frequencies.
Support of multiple languages.
Watch demo on Youtube
pio run --target=upload -e Debug
avrdude -v -pm1284p -c avrispmkII -P usb:16:79 -B 10 -U lfuse:w:0xee:m -U hfuse:w:0xd6:m -U efuse:w:0xfd:m
- Actual software
avrdude -p m1284p -c avrispmkII -P usb:16:79 -e -U flash:w:.pio/build/Debug/firmware.elf:e -v -B 10
Logic State - active state AppSettings - global rarely updated changes
we have DDS always running above receiving RF signal therefore
LO1 frequency = RF + IF which results in spectral inversion.
To make sound undistorted we must perform second spectral inversion by setting LO2 at the upper edge of the filter.