An experimental HF 6-band SSB transceiver – Part 6: The Receiver

The receiver had to match a lot of requirements that should be described first:

  • Particularly on the lower bands and with effective long wire antennas the receiver front end will see high signal levels that it has to cope with. IMD always is a serious topic in this case.
  • Sensitivity particularly on the higher bands, where noise level is ow and signals are weak, is also an issue.
  • Dynamic range and extensive AGC gain compensation should be as high as possible.

This lead to a circuit that has proven its stability in lots of my radios:

  • Band filtering for each band with a double and loosely coupled LC circuits
  • Dual-Gate MOSFET (part of the AGC chain) as the first amplifier
  • Diode ring mixer (with Schottky diodes)
  • Post mixer amplifier with Dual-Gate MOSFET (part of the AGC chain)
  • SSB Filter (now 10.7 MHz) also used for transmitter (relay switched)
  • Main IF amplifier with MC1350 (part of the AGC chain)
  • Audio preamp with bipolar transistor
  • Audio final amp: (once again! 😉 ) LM386

Before describing the receiver itself we will have look at the band pass filter unit, that is shared between receiver and transmitter:

DK7IH 6 band QRP SSB TRX 2019 - Band Filter Unit for RX and TX
DK7IH 6 band QRP SSB TRX 2019 – Band Filter Unit for RX and TX

To minimize stray energy traveling from the input to the output of the filter, two SMD relays have been used on each side of the filter per band. And to reduce feedback fromt the transmitter (when the BPF is used to filter the TX signal after the TX mixer) the filter has been placed far away from the TX amplifier section.With an overwhelming result: The transmitter is nearly unconditionally stable now (compared to the TX section used in the “Give me 5”-Transceiver that had severe shortcoming in this aspect.

Control leads for the relays follow a designated coding scheme:

  • 160m: green
  • 80m: blue
  • 40m: brown
  • 20m: yellow
  • 15m: grey
  • 10m: violet
DK7IH 6 band QRP SSB TRX 2019 - Band Pass Filter
DK7IH 6 band QRP SSB TRX 2019 – Band Pass Filter

The receiver’s circuit

DK7IH 6 band QRP SSB TRX 2019 - Receiver Unit
DK7IH 6 band QRP SSB TRX 2019 – Receiver Unit (Full sized picture)

VFO  signal is coupled into the DBM via a 10nF capacitor. The same is valid for the amplified RF signal from the output of the first amplifier stage using a Dual-Gate MOSFET (40676, BF900 or equ.).

Another Dual-Gate MOSFET is used as the post-mixer amplifier. All Dual-Gate MOSFETs so far are part of the AGC-Chain. This maximizes the possible gain swing to about 40 to 50 db. and enhances the receiver’s capability to handle even the strongest signal levels without distorting  the output signal and the end of the audio chain.

Next is the SSB-Filter. Due to this is an “experimental” transceiver, the filter has not been soldered to the circuit board. Instead it is fixed with an aluminum clamp into two parts of header strips. Thus I can compare numerous SSB-Filters (9-, 10.695-, 10.7-MHz commercial ones, various home made ladder filters etc.). Here the different performance is very interesting to be explored.

DK7IH 6 band QRP SSB TRX 2019 - SSB-Filter placement for Experiments
DK7IH 6 band QRP SSB TRX 2019 – SSB-Filter placement for Experiments

The filter is accompanied by a special rf relay (manufacturer “Teledyne” with excellent performance concerning separation for the two channels) so that it can be used as the SSB filter for the transmitter section.

After the filter section the IF amplifier follows. This one uses an MC1350 video amp (old but good and still available, even in SMD!) and this IC also is controlled by AGC. The input is unbalanced (PIN6 to GND) the output is balanced and terminated with a tuned circuit.

Demodulator is an SA602 mixer IC.

After that the signal is handed over to the audio chain. But before the signal is processed in the next stage the frequency range is limited by a low-pass filter to reduce hiss. This filter also has two switched capacitors (controlled by MCU via NPN-driver stages) to adapt the sound to the preferred settings of the user. The software contains a respective function.

The audio amplifier consists of two sections: A preamp with a bipolar transistor and the inevitable and well-know LM386.

The full circuit on a 6×8 cm veroboard:

DK7IH 6 band QRP SSB TRX 2019 - Receiver Board
DK7IH 6 band QRP SSB TRX 2019 – Receiver Board

Starting from left top  corner  there is a 1:4 input transformer (not in the schematic), the preamp, the DBM, post mixer amp, SSB filter, relay, MC1350 as IF amp, demodulator and 2 stages of audio amp.

Receiver performance

Performance is excellent. The circuit has no problem with high signal levels (in-band and out-of-band) especially on 40 meters. No IMD problems are noticeable even when used with high gain antennas like a 2×25 meter doublet with a tuner. On the higher bands noise figure is  pretty OK what I think is based on the usage of Dual-Gate MOSFETs in 2 of the 3 amplifier stages. The MC1350 deteriorates this to a certain degree but is still very much acceptable for a shortwave radio.

Vy 73 de Peter

An experimental HF 6-band SSB transceiver – Part 5: Analog Affairs – Getting Measurement Data

This short article will describe the adapter board that is connected to analog data sources and that is converting the respective voltage data into suitable voltage levels for the ADC inputs PA0:PA4 at the microcontroller:

DK7IH 6 band QRP SSB TRX 2019 - Analog Adaptor Board
DK7IH 6 band QRP SSB TRX 2019 – Analog Adapter Board

The following data will be converted and later shown on the display:

  • User keys (Key1:Key3)
  • TX power measurement
  • PA temperature (Sensor: KTY81-210 switched against GND)
  • Battery/Supply voltage
  • AGC output (DC) from receiver => S-Meter

This article covers the remaining digital (or “analog to digital”) stuff, next on the agenda will be the receiver.

Vy 73 de Peter

An experimental HF 6-band SSB transceiver – Part 4: Logical Affairs – The Bandswitching

This 6-band transceiver has several stages where band switching will occur:

  • The band pass filter section (shared by transmitter and receiver)
  • A first section of low pass filters (LPF) between the driver stage and the final amplifier
  • A second section of LPFs at the end of the rf power amplifier chain.

To keep the circuit simple and to save controller output ports I have decided to code the band number (0 for 160m up to 5 for 10m) in binary and send this pattern to pins PA0:PA2 of the MUC. This is pattern is lead to a BCD to Decimal Decoder integrated circuit (HCF4028) that converts the binary pattern to a set of individual output lines. The respective part of the truth table used is:


The 6 lines are fed into an ULN2003 integrated circuit, which is a relay and motor driver.

The outputs of this driver are switched against GND thus the relay coils have to be supplied with VDD (+12V in this case). The IC also contains a clamp diode for each output. That makes the circuit fairly simple. The full circuit of this unit:

DK7IH 6 band QRP SSB TRX 2019 - Band switch logical circuit
DK7IH 6 band QRP SSB TRX 2019 – Band switch logical circuit



An experimental HF 6-band SSB transceiver – Part 3: The Microcontroller

The heart of this transceiver is an ATmega128 microcontroller (MCU). It controls the vast majority of functions within the radio. E. g.: Frequency generation of the 2 DDS systems, audio tone and AGC decay time, T/R-switching, the presets for transmitter gain on the 6 bands independently, display and panel lights etc. etc.

And, due to usage of a parallel interface for the LCD (8 data lines and 4 control lines) an MCU with sufficient ports had to be used.

DK7IH 6 band QRP SSB TRX 2019 - ATMega128 microcontroller
DK7IH 6 band QRP SSB TRX 2019 – ATMega128 microcontroller

First I started with the SPI version of the LCD (ILI9341). This LCD has a high resolution of 240×320 dots. Driven by a relatively slow 8-bit controller like an AVR and the LCD driven in serial mode the performance was inferior.

Next I found that the same LCD is also available with a parallel interface. Then called CP11003. This one uses 12 lines (8 data and 4 control lines minimum), which made it mandatory to use an ATMega128 controller. To enhance speed and performance this one is clocked by a 16 MHz crystal. A touchpad is also integrated, but not used in my application.

Source code in C programming language can be downloaded from Github.

Vy 73 de Peter (DK7IH)

An experimental HF 6-band SSB transceiver – Part 2: The Oscillators

The two DDS oscillators are mounted to the side of the cabinet. They are sited close to the microcontroller board to keep leads short.

DK7IH 6 band QRP SSB TRX 2019 - Oscillators
DK7IH 6 band QRP SSB TRX 2019 – Oscillators

Right on the left you can see the small dual-tone oscillator for testing and tuning. Next is the AD9834-equipped local oscillator (LO), centered the AD9951 that serves as the VFO. Right the ATmega128, mounted to a 64 lead breakout board can bee spotted behind the varios cables going to and from this section.

The Dual-Tone Oscillator

This one consists of two simple phase-shift audio oscillators. I have introduced this circuit a longer time ago for testing purposes here in this blog.

DK7IH 6 band QRP SSB TRX 2019 - Dual-Tone Generator
DK7IH 6 band QRP SSB TRX 2019 – Dual-Tone Generator

The capacitors and resistors in the phase-shifting chain have been chosen to put the two different frequencies to values of about 700Hz and 1900Hz, thus they are not harmonically related. A variable resistors allows the user to set the balance between the two signals so that they are equal in voltage.

Two transistors (a PNP-NPN pair) are switched by Pin PB7 from the microcontroller. There is a respective function in the software that activates the transmitter together with this oscillator for comfortable tuning and testing.

The Local Oscillator (LO)

This one again uses the “good old” AD9834, overclocked to 100MHz. I found that some chips from the “grey market” have problems when being overclocked and therefore produce spurious signals. In case this occurs, it is recommended to step back to the clock frequency of 75 MHz which is high enough for the purpose of the LO.

DK7IH 6 band QRP SSB TRX 2019 - Local Oscillator with AD9834
DK7IH 6 band QRP SSB TRX 2019 – Local Oscillator with AD9834 (Click for full size image)

The oscillator comes with an balun output transformer (will reduce spurs!) and a low-pass filter plus a simple amplifier. The latter basically is not necessary because the LO will only have to drive the inputs of SA602 integrated mixer circuits (200mV RMS) used as SSB generator and rx demodulator. I had another mixer type in mind before, that one needed higher voltage. Thus the coupling to PIN6 of SA602 is only via 5.6pF capacitor to avoid overdriving the mixer and improve signal purity. This will be shown later when we are about to discuss receiver and transmitter circuitry.


Here the AD9951 DDS again comes to operation. This one has got a 14-bit DAC which makes it less prone for spurious signals. The clock rate has been pushed to the limit of 400MHz which, according to datasheet, is the max. clock rate for this DDS module.

You can download a datasheet of a suitable clock oscillator. This device is very small but it can be soldered to a 2 by 2 hole piece of veroboard and then mounted to a piece of headerstrip by soldering wires to the underside of the board:

DK7IH 6 band QRP SSB TRX 2019 - 400 MHz clock ocillator of DDS VFO
DK7IH 6 band QRP SSB TRX 2019 – 400 MHz clock ocillator of DDS VFO

A voltage divider will reduce the 3.3 V to 1.7V that is acceptable for the clock input of the AD9951 chip.

The DDS circuit is common for frequent readers of this blog:

DK7IH 6 band QRP SSB TRX 2019 - DDS VFO
DK7IH 6 band QRP SSB TRX 2019 – DDS VFO (Click for full size image!)

The low pass filter has been left out because when examining the output signal of the DDS it turned out to contain only very little quantum of harmonics. The max. frequency of this VFO will be 29.7 MHz + 9MHz which equals to 38,7 MHz.

Thanks for reading and stay tuned! 😉

Peter (DK7IH)

An experimental HF 6-band SSB transceiver – Part 1: Basic outline


An SSB radio for the HF bands will be presented. Featuring 20 Watts of output power, full DDS frequency generation, covering 6 major frequency bands (1.8, 3.5, 7, 14, 21 and 28 MHz) within the short wave amateur radio spectrum. The rig also features colored LCD and front panel backlight.


Project description

In this upcoming series of articles a relatively complex project will be discussed. It is some sort of „remake“ of my last multi-band QRP SSB transceiver that has been entitled the „Gimme Five“-Transceiver and that was finished in 2015. „5“ in that case stands for the 5 major (i. e. „classical“) RF bands: 80m, 40, 20m, 15m and 10m the radio covered. This new project (called the „Midi6“, because it is not a “Micro” or a “Mini” transceiver 😉 ) covers one band more, the range has been extended to 160m.

The basic features of this construction are:

  • Dual DDS frequency generation (AD9951 as VFO, AD9834 as LO),
  • Colored LCD (CP11003) with resolution 240×320 pixels,
  • Microcontroller ATMega128,
  • Single conversion superhet receiver, interfrequency 9 MHz,
  • 5 stage high quality transmitter, Pout=20W, , featuring a microcontroller driven regulated gain stage to ensure absolute constant output on all bands,
  • Integrated 2-tone oscillator for testing and tuning,
  • Front panel full backlight,

“Experimental radio” means that there is enough space inside the cabinet to change boards and test new ideas in the same space. Also certain components like the SSB-filter have been  made as “plug-in” components to enable quick change of the part. Also the connector between the various transmitter and receiver stages have been done by “jumpers” and header strips so that resistors and capacitors can be changed quickly to experiment with other values.

The radio has been realized with standard veroboards (0.1″ pitch), SMD components and been put into a homemade aluminum cabinet using 2 layer sandwich construction inside the cabinet.

Here a snapshot of the operational transceiver. Cabinet size, by the way, is 7.5 x 16.5 x  19.5 centimeters (2.95 x 6.5 x 7.68 inches). These dimensions are in the range of other multiband QRP transceivers like the Elecraft K2 (larger) or the Icom IC703 (a bit smaller).

The “Midi6” – An experimental HF radio for 6 amateur bands and SSB modulation. By DK7IH (Peter)

Stay tuned for the next article(s)!


73 de Peter (DK7IH)

Interfacing colored LCD ILI9341 with 8-bit Microcontroller

For my current project, a compact sized multiband transceiver, I wanted to have a colored LCD module as display. On the web I found the ILI9341 LCD. This display has got up to >200000 different colors (depending on the respective mode you chose) and a resolution of 320×240 pixels. It can be driven in various parallel and serial (SPI) modes, therefore it is very versatile. Price for the LCD is about 10 US$ (11€).

First I developed code for a 4-line SPI interface. The display worked, but I found that it was much too slow. A lot of data has to be transferred because due to the higher resolution of the LCD I chose a 12×16 pixel font. That is very much for a small microcontroller (I am using an old ATMega128) clocked to 16 MHz via serial transmission

But I loved the colors and the luminance of the LCD. After a brief research I found that there is also a PCB available for parallel driving. This is sold as a “CP11003” display. The ATMega128 has plenty of ports and that made me think of driving it in parallel mode.

This display has 16 data connectors (DB0:DB15) of which 8 can be used for driving it in parallel mode. As common for parallel bus type LCDs these are the higher 8 bits of the data bus, thus DB8:DB15. DB0:DB7 are not used and therefore not connected.

As control lines there are “RS” (Data or command indicator), “WR” (write operation indicator),”RD” (read operation indicator) and “RES” (reset) are used for control.

CS (chip select) can be connected to GND when the LCD is the only device connected to the 8-bit bus.

ILI9341 LCD TFT display - 8bit parallel bus mode
ILI9341 LCD TFT display – 8bit parallel bus mode

Software development was easy using the GNU C compiler vor AVRs. (I still don’t use Arduino libraries! ;-)) The code can be found after this article.

Final hint: The module also has a touchscreen integrated but that is not in use here!

73 de Peter (DK7IH)

Code for ili9341_par_8bit