A very compact SSB transceiver for 40 Meters with 50 watts of output power (Overview and block diagram)

In my last article I talked about my ideas fo a new transceiver project beyond the QRP level. First pictures of cicuitry were also shown. In the meanwhile the transceiver has been finished, some minor changes had to be made and now it’s time to go to the details.

All construction objectives (compact size, sufficient output power to establish even DX contacts on 40 meters, good stability, good receive performance, rigidness for outdoor use) have been met so far as I can say. I had the rig with me, when I was on vacation on the Island of Jersey (GJ/DK7IH/P) from 12th to 19th of August this year. It was big fun operating the rig. Lots of stations were calling during the two days when I was on 40 meters. ODX was HL1AHS, OM Kun from Seoul. So, this was very nice for 50 watts and a vertical antenna made of a fishing rod.

First, to give an overview, let’s have a look on the completed transceiver. Cabinet size is 7.5 x 16 x 6 centimeters.

SSB transceiver for 40 Meters with 50 Watts of output
SSB transceiver for 40 Meters with 50 Watts of output
SSB transceiver for 40 Meters with 50 Watts of output
SSB transceiver for 40 Meters with 50 Watts of output power (by DK7IH)

As you can see, the rig is very compact in size. The block diagram gives you an overview what is inside. Receiver section is on top, DDS can be found in the center and the transmitter is sited at the bottom of the diagram. As you can see, it’s again not rocket science and SDR-virus could not strike as well. 😉

SSB transceiver for 40 Meters with 50 Watts of output (Block diagram)
SSB transceiver for 40 Meters with 50 Watts of output (Block diagram)

The next posts will describe the rig in details step by step. Proceed with the receiver’s front end.

73 de Peter

An ultra compact QRO transceiver for 40 Meters with 50 to 70 watts output power

On one hand sunspot cycle is on the decline. Conditions on the higher bands tend to deteriorate gradually. On the other hand I wanted a very compact transceiver for outdoor (particularly holiday) activities. Besides this and due to the fact that I prefer monoband operation when on tour, the potentially ideal band had to be found. Based on these prerequisites I made up my band to go to 40 meters for this project.

Some interesting concepts for QRP-transceivers for this band can be found on the web. The “Santerre” and the “ILER40” should be mentioned. These operate with power levels of about 5 watts which I thought should not be enough in most of the situations. My opinion is, that on 40 meters it’s not the best decision to operate on the standard QRP watt level, e. g. like the mentioned before and my other rigs have been designed for. With high probability you’re about to get lost in the naturally higher band noise and QRM that is around on 7 MHz. Thus, 50 to 70 watts possibly should be a more suitable power level to operate on.

Basic concept

From the electronic point of view this transceiver doesn’t involve very much new stuff. The 4-stage transmitter with push-pull driver and final from my multi-band rig with emitter degeneration circuitry in every stage to improve linearity but without negative feedback in this circuit. Some NE612/SA602-mixers in receiver and transmitter, MC1350 as the rx’s if-amplifier, LM 386 as audio amplifier, busines as usual. DDS with AD 9551 for frequency generation. No fuss, no SDR-stuff. “Old school” homebrewing. Not more, but not less.

The challenge this time was to increase package density once more to an achievable maximum. The maximum size I wanted to have was the size of a carton of cancer sticks, also known as “cigarettes”.

Another problem of the project was to get a high power rf amplifier with an output level very much beyond standard QRP and avoiding any unwanted coupling, parasetic oscillations etc.  even when components are very densly packed. A clean signal is a must, not of the package size.

Construction principles

The center of the construction is made of the aluminium carrier of the 50 to 70 watts final that is in the center of a three layer arrangement consisting of

  • receiver board
  • rf power amplifier
  • rf board with SSB generator, tx mixer, pre-amp, pre-driver and driver (push-pull).

The parts of this assembly:

The main frame carrying all the other stuff:

Dissambled mounting frame of QRP transceiver for 40 meters (2016 by DK7IH)

Dissambled mounting frame of QRP transceiver for 40 meters (2016 by DK7IH)

The aluminium plane centered will keep the PA 50 to 70 watts board. This one is equipped with two MRF455 rf power transistors made by Motorola.

Power amplifier for QRO transceiver 40 meters (by DK7IH)
Power amplifier for QRO transceiver 40 meters (by DK7IH)

Above and below this board the receiver and transmitter boards are mounted to a three layer package.

Receiver board for 40 meter QRO transceiver (by DK7IH)
Receiver board for 40 meter QRO transceiver (by DK7IH)
 Transmitter board for 40 meter QRO transceiver (by DK7IH)

Transmitter board for 40 meter QRO transceiver (by DK7IH)

These 3 boards are stacked and plugged into the front unit that you can see underneath. The front subassembly is formed of

  • the front panel with user controls, microphone socket and LCD
  • the DDS system and
  • the relay switching board.
Front unit of 40 meter QRO transceiver (by DK7IH)
Front unit of 40 meter QRO transceiver (by DK7IH)

Both construction groups are joined in an angle of 90° by a set of plugs and sockets so that they can be put apart easily and fast for service or improvements. All boards are made of 5×7 cm “FR4” material Veroboards.

QRO transceiver for 40 meters fully assembled (by DK7IH)
QRO transceiver for 40 meters fully assembled (by DK7IH)

In the center of the right board package you can see the PA amplifer, capable of delivering 50 to 70 watts SSB signal, on top the rx board, at the bottem the transmitter board.

Thermal considerations

An important issue for a high power transceiver is the transmitter’s final amplifier. Particularly thermal conductivity should be kept in mind. In this case one problem, I thought, might occur because the power transistors are not mounted directly to the rear panel of the transceiver where heat can be lead to the outside easily. Here, the two MRF455s are sited in the center of the sandwich construction holding the 3 main rf boards. But as this transceiver is for voice operation only with its comparatively low duty cycle of 10 to 20%, this was not considered as an unsolvable problem. But thermal aspects must be kept in mind, anyway.

Practical solution

As you can see, the final transmitter stage is based on an aluminium sheet metal of 2 mm thickness. Under the board there is a second layer also of 2 millimiter thickness aluminium. By the rear end it is joined to a solid piece of square shaped aluminium rod that itself is connected to another two thick layers of alumium which are srewed to the rear panel holding a heat sink. For this heat sink I’m currently searching a more massive one.

Practical outcomes

The thermal test was a longer QSO with Dave, M5AFD . During this longer QSO with transmission times of up to 3 to 4 minutes each the center alu panel got a temperature of 60° to 65° centigrade. Thermal stress? Not worth mentioning yet!

Current state

So far I’ve done about 50 QSOs on 40 meters with this rig, gradually improving some things. Later I will publish the detailed scheme as soon as it is finished. By now prospects are good to bring this compact QRO transceiver with me on a holiday trip to Jersey Island planned this summer.

Stay tuned! 73 de Peter (DK7IH)


Read next chapter of transceiver description

The semi-automatic antenna tuner – Version 2

People frequently reading my blog know that I love to improve the things presented here. This is revision one of my semi-automatic antenna tuner for QRP. I found that the reading of the SWR value on the LCD is a little bit uncomfortable. So I decided to use an “old-style” analogue meter. This one has been pulled from a home stereo amplifier.

Semi-automatic antenna tuner V2 (C) DK7IH
Semi-automatic antenna tuner V2 (C) DK7IH

The problem with the installed directional coupler is that the amount of energy and so the induced voltage is a reverse function of coupled frequency. Thus an operational amplifier has been added to amplify the DC voltage from the directional coupler. A 50k stereo potentiometer regulates negative feedback an so reduces the op’s gain.

Semi-automatic antenna tuner V2 (C) DK7IH
Semi-automatic antenna tuner V2 (C) DK7IH

Thanks for watching! 73 de Peter

DX with QRP – It really works!

This afternoon I was sitting at my desk doing something in the computer. The QRP-transceiver was tuned to the 20 meter band (14249 kHz). Suddenly I heard ZL1SLO with a fair 58 report. The band was clear, no big pile-up, no “big guns”, so I gave him a call. And, beleive it or not, he answered to my call an gave me a 57/58 report. Not bad for 10 watts ouput power and a simple dipole. 😉

vy 73 de Peter

Improving spurious emissions performance in QRP transceiver DDS VFO: Replacing AD9850 by AD9951

The next step in improving my homemade QRP multiband transceiver was to reconstruct the DDS VFO. This was not urgently neccessary but after some months of continously operating the rig I was not 100%  satisfied with the spurious performance of the AD9850. The AD9850 is a DDS device with only a 10-bit digital-analog-converter (DAC). These ones tend to put out still a quite high number of spurious emissions aka “birdies”.”Birdies” then are detected in the receiver causing unpleasant beep tones.

The AD9951 DDS module (some general information)

Analog Devices (AD) also offers more professional DDS-chips with a better performing 14-bit DAC. The AD9951 is such a device.  It is offered for about 25 USD by mouser.com and other vendors. It is also used in commercial ham band transceivers thus we can deduce that performance is improved compared to the cheaper DDS devices made by AD.

The AD9951 needs multi supply voltages, i. e. 3.3V and 1.8V. Digital inputs are 5V-compatible if 3.3V as D_VDD_IO input voltage is applied. The device can be clocked up to 400Mhz. If you use a clock generator with lower frequency, an internal clock multiplier can be used. But this deteriorates phase noise to a certain degree. For my VFO which works in the range only from 13 to 20 MHz I use a simple standard 5V 120MHz clock generator and I do not use the internal clock multiplier. To make the clock oscillator’s output 1.8V compatible a simple voltage divider has been applied.

Note that performance concerning phase noise of the DDS also depends on the voltage of the clock generator. The lower it is, the more the phase noise performance will deteriorate. To calculate exact configuration of your voltage divider keep in mind that input impedance (1.5 kΩ according to datasheet) and input capacitance (3pF) are paralleled. Input capacitance causes reactance depending on the input frequency given by the following equation:

Output circuit

As usual for me the DDS output consists of a balanced-to-unbalanced broadband transformer followed by an rf amplifier. For the latter one I use the MAV-11 broadband amplifier made by Minicurcuits.

This the circuit of my improved DDS device:

AD9951 based DDS VFO for QRP multiband transceiver (Peter Rachow, DK7IH, 2016)
AD9951 based DDS VFO for QRP multiband transceiver (Peter Rachow, DK7IH, 2016)


The first impression when I connected the AD9951-DDS to my HP 8558B spectrum analyzer was that the signal looked different compared to a AD9850 generated signal. I’m very sorry, but so far I’ve got no photos but I’m planning an article that will deal with DDS comparisons which will have photos of the spectrographic analysis of the various signals. But it was visible on the first sight, that the signal looked much cleaner than a one produced by a DDS with 10-bit-DAC.

OK, there were much lower sidetones to the main signal on the spectrum analyzer. Measurements are one side of the medal, but how would the DDS perform in the receiver? It approved to have improved when I installed the new DDS into the transceiver and listened to the bands. “Birdies” have vanished to nearly 100%, only some very weak spots are discernable. And the receiver noise also seems to have lowered by a certain degree. But I don’t have measured that so far. Measurements are still to be done. OK, let’s check it out the following days (20 meter is very quiet today!) and then I will be able to say if and how the 14-bit DAC.

So, if you want to get the best performance (low number of spurs, low phase noise) out of the AD9951, here are some basic hints:

  • Stay away far from the Nyquist-Frequency of the chip! Basically this is one third (33%) of the clock rate. I recommend to lower this down to one fifth. So, if you use a clock rate of 100 MHz, don’t let the DDS produce more than 20 MHz!
  • Don’t use the internal clock multiplier! Use a clock generator with the highest possible frequency!
  • Use a clock generator that will put out 1.8 Volts pp!
  • Keep ground leads on your pcb as wide and short as possible!
  • Decouple AVDD, DVDD and DVDD_I/O effectively!
  • Set DAC_RSET to a value that DAC current stays lower than 10mA. 3.9k is a recommended value.


Practical implementation

The DDS is mounted to a small piece of veroboard using a 48-lead breakout-board for TQFP48 ICs:

DDS module with AD9951 mounted on a small veroboard (C) DK7IH 2016
DDS module with AD9951 mounted on a small veroboard (C)  DK7IH 2016

Flexible wiring is used to connect the board to the microcontroller. Shielded cable is mandatory for connecting the rf feed to tx and rx mixers.

Underneath you’ll find some code snippets to set the frequency of the AD9951 device. The code has been copied 1 by 1 from my SSB transceiver’s software. Thus modification for your purposes might be neccessary.

After inspiring discussion with a reader of my blog I’ve changed the routines to optimize code concerning performance. The major objective was to avoid intense use of floating point functions because they are slow. Instead I used bitshift operations widely. But there is one floatingpoint calculation left:

fword = (unsigned long) frequency * 35.790648;

The floatingpoint constant 35.790… results from a division of 0xFFFFFFFF by f_clock which is given by the equation of the tuning word (see datasheet of AD9951). This could be converted to a bitshift operation too, if you use a programmable clock oscillator tuned to 134,217,727 Hz. Then the multiplication factor is 32 which can be easily achieved with another bitshift operation.

Thanks for reading!

Peter (DK7IH)

Setting the AD9951’s frequency output

void set_frequency(unsigned long frequency)
    //PORT usage
    // FQ_UD:  PD0 (green)
    // DATA:   PD1 (white)
    // CLK:    PD2 (blue)
    // RESET:  PD3 (pink)

    unsigned long fword;
    int t1, shiftbyte = 24, resultbyte;
    unsigned long comparebyte = 0xFF000000;
    //Calculate frequency word
    //Clock rate =  120002500
    //0xFFFFFFFF /  120002500 = 35.790....
    fword = (unsigned long) frequency * 35.790648;
    //Initiate transfer to DDS
    PORTD &= ~(1); //FQ_UD lo
    //Send instruction bit to set fequency by frequency tuning word
    //Calculate and transfer the 4 bytes of the tuning word
    //Start with msb
    for(t1 = 0; t1 < 4; t1++)
        resultbyte = (fword & comparebyte) >> shiftbyte;
        comparebyte >>= 8;
        shiftbyte -= 8;       
    //End transfer sequence
    PORTD |= 1; //FQ_UD hi

//Send one byte to DDS 
void spi_send_byte(int sbyte)
    // PORT usage     
    // FQ_UD:  PD0 (green)     
    // DATA:   PD1 (white)
    // CLK:    PD2 (blue)     
    // RESET:  PD3 (pink)     

    int t1, x = 0x80;          
    for(t1 = 0; t1 < 8; t1++)     
        //SCLK lo         
        PORTD &= ~(4);          //Bit PB2 set to 0
        //Set respective bit to 0 or 1         
        if(sbyte & x)       
             PORTD |= 2;  //SDATA Bit PB1 set to 1         
             PORTD &= ~(2);  //SDATA Bit PB1 set to 0         
        //SCLK line set to 1 // = set clock line to RISING edge to store bit in frequency word         
        PORTD |= 4;  //Bit PB2 set to 1                  
        x >>= 1; //Shift bit to divide x by 2     

Resetting the AD9951-chip:

(A reset must be performed once immediately after your program was started and before you

transmit the first instruction to the AD9951 DDS chip)

void reset_ad9951(void)
    //PORT usage
    // FQ_UD:  PD0 (green)
    // DATA:   PD1 (white)
    // CLK:    PD2 (blue)
    // RESET:  PD3 (pink)
    PORTD |= 0x08; //Bit PD3 set 
    _delay_ms(1); //Hold reset line hi for at least 20ns. 
     PORTD &amp;= ~(0x08); //Bit PD3 erase 

(C) 2016 DK7IH (Peter Rachow)

A semi-automatic antenna tuner for QRP use

After I had finished my 5 band multibander for QRP SSB operation I had 2 choices becoming QRV on the hf bands – either to build up something like an antenna farm (which would have caused severe problems with my familiy 😉 ) or to build a multi band antenna capable of being used on all short wave ham bands. In order to survive the next months with more or less stable health I have decided to take the latter alternative.

Browsing my good old antenna handbook by Rothammel I came across an untuned multiband dipole. This is known sometimes as a “doublet antenna“. It’s a simple dipole, fed by an open wire feed line which has to be matched to the transmitter for each band of operation. The length of one branch of this antenna is about a quarter wavelength of the lowest operating frequency which makes it a half-wave dipole for in my case 80 meters. On the internet I found lots of users of this antenna speaking positively about its performance, so I decided to give it a try. Antenna construction is very simple and the doublet antenna does not spoil the optical impression of your ground property seroiusly.

But one major shortcoming of this antenna should not be ignored: The “doublet” antenna can not be operated directly from coax line, it has to be matched for each band seperately to the desired frequency with its specific impedance to come as close as possible to the 50 ohm of the transceiver. Open wire feed line must be used because there is always a high VSWR on the feedline due to the fact that the dipole is not tuned to the operating frequency. But as losses are low in double wire line even if SWR is high, this is not a problem. Be sure that more than 95% of your transmit power will reach the antenna.

Due to the fact that my antenna installation requires only 5 to 6 meters of feedline from my roof window to the antenna’s feed point, I first built a ladder line from flexible cable and homemade acrylic spacers. But this tended to be a little bit service-unfriendly. Always whenI tried to pull back the antenna for modifications, the line (the spacers to say more detailed)  got entangled in the roofing-tiles. So I bought commercial 450-Ohm Wireman line that does not show this problem.:

Double Zepp (Doublet) antenna - Multiband with tuner and 450 Ohms feed line
Double Zepp (Doublet) antenna – Multiband with tuner and 450 Ohms feed line

After having installed antenna and feedline, I first I built a simple L-match tuner for test purposes. If this antenna had not worked with me I would not have lost much time and money. But no need to worry. After having set up the antenna and the tuner I was quite satisfied. Performance was beyond my expectations. But with using this setup more often, I found out that retuning after having QSYed was not that nice. I had written down the settings for capacitor und inductance on a piece of paper so that they could be recalled relatively quickly. But it was not overwhelming conveniant. Thus my idea was: If you have the settings for each band on a paper table, why not putting them into a microcontroller and let the micro do the tuning?

The basic concept of the tuner

The tuner is an L-Match tuner that can match high Z antennas. Long antennas tend to have higher impedances than usually the 50 ohm transceiver’s output. Integrated into the tuner is also an SWR measurement circuit (directional coupler from old CB radio) so that an external SWR meter is not neccessary. The tuner is tuned manually. After matching has been achieved, the values for L and C are stored by pressing a button and can later be recalled by bandswitch. Retuning is easy. Just press buttons for L+, L-, C+ or C-, retune and store the modified settings. After that: Have fun in a QSO!


There are 6 coils in the tuner, switched (shortened) by 6 relays. The inductances are doubled (more or less) from one coil to the successor, so that in combination nearly each inductance between 0.5 uH and 39 uH can be switched. It turned out that this concept works fine. The single inductances are:

20uH, 10 uH, 5 uH, 2.5 uH, 1 uh, 0.5 uH

Coil data: Each coil except the smallest one is wound on a T80-2 Amidon toroid. Use 0.3 mm diameter copper enameled wire. The winding data:

  • L1 (20uH):  60T.
  • L2 (10uH): 43T.
  • L3 (5uH):  30T.
  • L4 (2.5uH): 21T.
  • L5 (1uH):  13T.
  • L6 (0.5uH, wound on T50-2 core): 10T.

Output transformer

Another coil must be wound because the antenna has an unbalanced circuit inside (1 coil, 1 cap). The feed line on the other hand is balanced, so this has to be kept in mind. To convert the unbalanced output of the tuner circuit to the balanced feeder line, I use a 1:4 balun at the output of the coil chain (T1 in circuit diagram). Wind 12 turns bifilar of 0.8 mm twisted (about 3 twists per cm) enameled copper wire to a FT114-43 Amidon core using this pattern.

Hint: On the picture below there is a balun transformer that I previously had installed. It was a Guanella balun but it did not perform satisfyingly. Tuning could not easily be achieved on 10 and 15 meters.


The tuner uses a motor driven air dielectrical and butterfly shaped capacitor with max. 220 pF capacity. The advantage of a butterfly type is that it needs only 90° to turn it from minimum to maximum capacity. The motor (a 5V dc version) is connected via a 240:1 gear drive by TAMIYA. The drive has two outlets providing one axle at each side of the drive. To one of the axles I connected the capacitor, the other one connects to a potentiometer to report the current swing angle to the microcontroller.This allows precise feedback of the capacitor’s current position which is essential for setting it to the desired value. The value of this variable resistor does not really matter since it is only a simple voltage divider. Anything between 5k and 100k should fit. Make sure that you use a piece that is easy to turn to minimize friction. To connect the axles I used PVC tubing with an inside diameter of 3 mm.

This is the setup:

Semi automatic antenna tuner for QRP (C) 2016 by Peter Rachow (DK7IH)
Semi automatic antenna tuner for QRP (C) 2016 by Peter Rachow (DK7IH)


Here’s the schematic of the tuner:

Semi automatic antenna tuner for QRP (C) 2016 by Peter Rachow (DK7IH)
Semi automatic antenna tuner for QRP (C) 2016 by Peter Rachow (DK7IH)

Right at the 50 Ohms input where the transceiver is connected you can see a 120 kOhm resistor. The purpose of this one is to keep static electricity away from your rig. Antennas with open ends (like the “doublet”) can build up high voltages particularly when strong rainfall coincides with heavy winds. The raindrops build up an electrical potential during their way through the clouds. I once have seen sparks of 1 to 2 cm of length in my shack when I brought the feed line wire of the antenna close to a grounded metal cabinet.

First impression of performance

I have been using the tuner for three weeks by now. My antenna has got a total length of 40 meters, height is from 10 to 12 meters above ground. Feed point is approximately centered. The antenna with this tuner allows operation on all the 5 bands of my QRP multibander. Signal reports are usually good. On 20m I receive 5 and 9 reports very often. Transmit power only is 10 watts. On 40m and 80m the same is true. Even 15 meters, usually not so fine on a 40 meter long doublet, works fine. 10 meters has not been tested yet due to band conditions.

Maximum distance so far was to W2YP (East coast NY) with my rig having 10 watts output on 25th February receiving a 57 report.


I used a simple plastic box that is available for eletrical installations. RF leads are on top:

Semi automatic antenna tuner for QRP (C) 2016 by Peter Rachow (DK7IH)
Semi automatic antenna tuner for QRP (C) 2016 by Peter Rachow (DK7IH)


I’m currently doing some improvements concerning software. If you are interested in the software, please drop me a mail: peter.rachow(at)web.de !

Enhancing the tuner

This tuner mainly for matching long wire antennas which have a comparatively high Z in relation to the 50 Ohms of a radio tranceiver. If you also want to match low Z antennas (shorter than 1/4 wavelength), the capacitor must be put to the opposite of the coils:


If you would like to have the capacitor in place for switching between hi an low Z antennas another relay will do the job. The microntroller has still plenty of usable ports.

Thanks for reading!

Peter (DK7IH)

Errata: Schematic of 14 MHz handheld transceiver revised

OK, I admit it: Drawing schematics is not among my favourite hobbies. 😉 But it’s a must if you run an amateur radio blog. 😉 Sadly, I sometimes make mistakes. And I appreciate that attentive readers sometimes find the things I’ve lost sight of. Two minor changes thus had to be made in the schematic of my portable handheld rig for 14 MHz: REF pins at the AD9835 are now connected correctly to ground and the ATMega328 is now correctly power supplied. Thanks to Hellmuth, DF7VX, for his annotations!

Revised schematic of QRP SSB handheld transceiver for 14 MHz/20Meter by DK7IH (Peter Rachow)
Revised schematic of QRP SSB handheld transceiver for 14 MHz/20Meter by DK7IH (Peter Rachow)