SP-X, a pocket rig for the CW activator in a hurry!

I’ve long been interested in compact and fairly minimal SSB and CW rigs with good performance. I’m not into bells, whistles or menus. Menus are for restaurants! When hiking, walking or bouncing around summits I want to minimise things that are not absolutely necessary, things that can go wrong. Less is more when it comes to a transceiver for portable work.

The first place to reduce unnecessary complexity is your mode. In Australia, a number in the SOTA crowd have slowly adopted CW as the mode of choice . This makes sense for operating QRP with sometimes compromised antennas. The CW trend has been assis ted by increasing and enthusiastic bunch of ZL activators who appear to use CW almost exclusively.

In recent activations it has been common to spot on 20m CW and be rewarded with 3 to 5 ZL chasers, all reliable reports between s3 and s5. Then, a spot for 40m CW should bring forth equal numbers of ZL and VKs. CW exchanges are formulaic, businress-like transactions with 73 GL and dit dits to conclude. No long social obligations concerning handle, rig, wx. A CW activation is efficient and fast. You can bag 7 or 8 chasers in minutes. Reducing your qualifying time let’s you keep moving, or, gives you more time to enjoy the mountain top experience.

There’s another noteworthy feature of CW activations. They nearly always use the same frequency. 7032, 14062 kHz. And on a SOTA activation, the standard procedure is that you spot with one of the apps, call CQ SOTA, and the chasers line up to work you. You hardly ever touch the dial. In fact, you hardly even need a tuning dial 🤔!

That got me thinking. How minimal could a CW multiband rig get? In a dedicated SOTA CW rig, do you really need to be able to tune around the band, or could you get by with fixed ‘channels’?


The concept for this project is that of a CW ‘appliance ‘, a device that you pull out of your pocket, plug in the antenna and paddle, choose your channel (aka band) and hit the keyer button to send CQ and get the activation started. The appliance would need to cover at least 40 and 20m, the two VK/ZK SOTA CW watering holes, and one or two additional higher HF bands, where short antennas offer interesting variety as Cycle 25 rises.

Five watts should be plenty. An inbuilt top-facing speaker with a headphone jack will suit all listening situations. Small and light goes without saying, as does the option to operate on an external 3S or 4S LiPo pack, possibly even strapping the battery to the rig.

It will need to be physically sturdy without being too heavy — 3 to 400 grams seems like a good target weight.


A simple, dedicated CW rig shouldn’t require a complicated receiver. A single conversion superhet is in order. I studied various designs by Steve Weber KD1JV, particularly his MTR5B and SodaPop. The Mountain Topper range are very well regarded, even romanticized by some owners. The MTR5B is a dual SA612 receiver with 4.915kHz IF. The more recent SodaPop uses a pair of JFETs in each mixer, but is otherwise similar. I also looked at the receiver in the Elecraft K1, also an SA612 design.

I’m a fan of the SA612, with a decent bandpass filter and a resonant antenna ahead, proper impedance matching and a bit of extra IF gain downstream. I have not had any problems with these receivers with basic but decent antennas on mountains or at home. What some northern hemisphere hams do not realise is that the bands in VK and ZL are more or less empty when compared to what we see on USA and Euro SDRs. Pull up a session on 80 or 40 anytime on my local receiver and see what I mean. Also, VK hams are capped at 400 watts which eliminates the ‘kilowatt around the corner’ problem we hear talked about. And our lower population density limits the Broadcast breakthrough suffered by some who live in densely populated areas. So we are lucky here, living in a region with a low density of hams, although it has its drawbacks as well.

I also looked at receivers using diode ring mixers such as the Bitx, but these receivers require higher oscillator injection levels that necessitate non trivial buffering and level setting over the rig’s intended frequency range. Gilbert Cell mixers have useful conversion gain and avoid this complexity to some degree.

I also looked at the QCX, which uses a higher performance quadrature detector. It’s an option in a compact and portable analogue receiver if you use Hans’ polyphase kit to do the audio phase shifting for a single signal audio output. Also the mixer requires a 4x VFO as input to the usual 74AC74 divider, not really a problem with an si5351 but I’ve not tried it before.

The best path to realising one of these would be to buy Hans’ High Performance Receiver and Polyphase plugin kits. The resulting assembly is only 80mm x 50mm, so with a VFO (no BFO necessary because it’s base-band) there are some good options for a partially scratch built multiband version of the QCX. Interesting. I’ll leave that concept for another time.


Page 1 is the transceiver core:

Page 2 is the Arduino Nano, si5351 and controls:


Construction methods followed my established combination of stacked (hand-drawn and etched) PCBs housed in an aluminium sheet and angle case. The transceiver was designed as two self contained modules, the VFO/BFO and Controller (Arduino Nano and si5351), and a second housing receiver, BPFs, transmitter and LPFs.


This module was designed and built first. It followed the common pattern of an Arduino Nano, si5351 breakout board, 78-series voltage regulators, a discrete clock buffer on the CW clock (CLK0), sidetone filtering and some switching components. The module consists of two PCBs — a single sided hand-made base board is bolted flat against the aluminium base plate with side controls mounted directly on the board. Front panel controls are mounted against a double-sided hidden front panel PCB with perpendicular bracing pieces. Two 8-pin 0.1 inch DIL header sockets at either end support the daughterboard on top which houses the Nano and some logic.

A vertical line of three miniature pushbuttons at the left hand end of the front panel implements the transceiver’s frequency control. The middle button is the channel button — push it, and you move to the next channel. A channel is a semi-fixed frequency in one of the four supported bands — 40, 30, 20 and 17m. Each of the six channels has its own LED on the front panel. The mapping of a channel to a band and frequency is fixed in the firmware (but is easy to change).

The upper and lower buttons ‘bump’ the channel (VFO) frequency up or down by 100Hz. So to move 1kHz from the default channel frequency, you need to pump one of these buttons ten times, counting as you go. After a few seconds, the current frequency is written to EEPROM and will persist over a power-down.

So, if you have ‘tuned’ the rig away from a channel (such as 7032kHz, the 40m SOTA CW calling frequency) how do you get it back? Easy! You hold down the channel button for a second and it reverts to the hard-coded frequency. If you wish to change any of the channel frequencies, you edit the Arduino script and upload it to the Nano, whose USB is accessible through a slot cut into the transceiver’s left side panel.

Receiver and Transmitter module

This module uses an upper and lower PCB pair, with transmitter on the bottom and receiver on top. In a departure from my usual T/R relay to switch antenna and DC power, both are done electronically. In fact the receiver is permanently on, so there is no need for a separate +12 volts (receive) line. The RF switching arrangement is copied straight from Steve Weber’s MTR5b, and is almost the same as is used in the QRPLabs QCX.


The receiver is a standard superhet with SA612 Gilbert Cell receive mixer and product detector and a 5 pole homebrew crystal filter. The design is almost identical to VK2DOB’s MST3, and KD1JV’s MTR5B (which doesn’t have the additional IF amp stage). I built my crystal filter at 4MHz but only because I didnt have any 4.915MHz low profile crystals in the junk box. My filter exhibits steep skirts and a bandwidth of about 300 Hz. Just about right for CW.

I added an additional gain stage after the mixer which makes a difference to receiver liveliness, remebering that the 5 pole narrow crystal filter is a point of significant attenuation.

Band Pass Filters

In previous projects I have strictly adhered to tight bandpass filters, one per band, and always using hand wound inductors on T37 or T50 toroids. Favourite filter designs have been those of Eamon EI9GQ from RSGB RadCom, and Diz W8DIZ of kitsandparts.com, both easily reproduced filters. This time I tried something different — a different filter design using electronic switching and surface mount inductors.

The filters are taken from the hardware portion of the RS-HFIQ project, a modern baseband SDR. They are much broader in bandwidth than I’ve used in the past, as the sweeps show. This means that the Gilbert Cell SA612 receiver mixer will be exposed to more out of band RF energy coming down the antenna, which could result in overload. Let’s see.

The filters are electronically switched using a 2N7002 FET between the filter earthy end and real ground. Pin diodes (from Minikits) do the switching. This saves a relay and relay driver.

The 40m BPF rendered in surface mount components occupies about 12mm of width on the board, and is dwarfed by the connecting ribbon cable wires. A T37-6 further illustrates scale.

CW transmitter

The transmitter portion reproduces those of Steve Weber’s MTR-5B and SodaPop as well as Hans Summers’ QCX, and uses three BS170 JFETs in parallel driven by a high speed logic gate to deliver up to 5 watts of RF to the Low Pass Filters. Once the drive level was padded to ensure at least 4 volts was hitting the BS170 gates, it worked as expected.

This is a Class E switching configuration, so unlike a more conventional Class A or AB RF power stage there is no bias, meaning it draws no current at all between dots and dashes, and is around 90% efficient.

On the bench the transmitter was drawing 300mA at 14V for 3 watts of RF (remember the Digital VFO and Controller draw 80mA). Observant readers may notice that the driver logic gate is a 74HC00 NAND, not the usual 74HC02 NOR, only because the NAND gates were on hand. No drive problems have been observed as a result of this substitution.

Low Pass Filters

Continuing the spirit of simplicity and to save space, two LPFs are used to cover the four bands (40 and 30m, 20 and 17m), a common technique in QRP rigs. These are 7 element W3NQN filters. Remember that a resonant antenna plays a vital part in the transmitting system’s overall spectral purity.

Solid state TR switching

In another break from my past practice of using miniature Telecom relays for transmit/receive switching, the series JFET used in KD1JV’s designs was tried. An almost identical arrangement is used in the QCX. No appreciable received signal loss was experienced, and the JFET appears to be an effective blocker for RF power from the transmitter at the 5 watt level.

Receiver muting

Despite using a solid state analogue switch (TS5A3157) in series with the audio signal path, getting a silent CW break-in switch (from receive to transmit then back again) proved to be a major headache. On my PCB the TS5A3157 switch was inserted between the two op amp audio stages. This resulted in an annoying click going both into and out of transmit. No amount of bypassing or fiddling with signal levels made much difference.

I checked for DC levels around the input of the TDA2003 IC and found a DC offset of about 1.4V on pin 1 (input), which is always blocked with a series 2uF capacitor. Nothing unusual there. I wondered if this series 2uF electrolytic was charging or discharging, bur reducing it to 0.1uF made no difference.

Next, I build a small vertical board with a second 3157 switch, right next to the TDA2003, with just a series 100n capacitor from its output to the volume control, which itself was isolated from DC with 100n capacitors. That made no difference.

It is strange how you can get fixated on things like this. The rig was useable as it was, with what some might call an acceptable click on change-over. But I wanted a noiseless changeover, and the quest turned into a series of experimentation and debugging sessions that stretched far beyond what I’d expected.

I now regard noiseless T/R switching in a CW rig with an audio power stage capable of driving a loudspeaker to be a non-trivial problem. As I was studying the KD1JV (MTR, SodaPop) and G0UPL (QRPLabs/QCX) designs I realised that they both support headphones only, not loudspeakers. Could it be that lower volumes made this problem less pronounced?

The problem is as follows. You want a noiseless transition from CW receive to CW transmit and back again. It has to happen quickly to make even ‘semi-break-in’ work. But in transmit mode, you want the sidetone to come through in your speaker. So you cannot disable or mute the audio power amplifier stage, otherwise you lose the sidetone. As well, you want to have the sidetone come via the volume control, so that turning the volume up or down affects both receiver audio and sidetone.

I reluctantly decided to ditch the solid state audio switch (which was making an annoying click on both transitions) and replace it with a relay at the input of the volume control and audio power amplifier, switching the audio source between receiver noise and sidetone. Mercifully, this resulted in a silent Rx to Tx transition, but, when the transmitter dropped out, a nasty click! This was particularly annoying as I’ve successfully made noiseless TR switching with TDA2003s and a relay in two other rigs.

Finally I added a second relay to mute the audio power amp for a short period (after the last character had been sent and just as the rig reverted from transmit to receive). A second digital control line coming from the Arduino, and some orchestrated timing in software was needed.

Eventually, I achieved silent T/R switching, and it is a pleasure to use. How to mute the audio amplifier’s transmit to receive click more elegantly? If the audio IC I’d chosen had a mute pin, that would suffice. But the TDA2003 is an old car radio audio amplifier and has no mute. So I took the brute force action. Normally closed, this relay opens for a few hundred milliseconds and silences the click from the power amp. This arrangement is shown above for all to see.

Case and finishing

The case measures 70mm wide, 132mm deep and 32mm high, and is made from hand worked aluminum angle and 1.2mm sheet for the base. A top cover is from 1mm sheet.

The front panel is finished with all purpose metal primer, three enamel coats (colour is called ‘aluminum ‘ and is an appealing silver-grey). Lettering is rub-on DecaDry. Two coats of clear satin enamel spray seal the panel. The side panel is labels applied direct to the aluminium angle piece, with a satin clear top coats.

On the Summits

After a few weeks of bench testing it was time to try the little rig in the field. Two nearby SOTA peaks, Mt Vinegar VK3/VC-005 and Mt Gordon VK3/VN-027 in the Yarra Ranges acted as a proving ground and offered 10 activator points in total. Both are miles from residential areas and offer the chance to play radio in a noise-free environment.

After a 90 minute drive followed by a 90 minute (at times strenuous) walk from Acheron Way up four wheel drive tracks to the summit, we were on-air on Mt Vinegar at around 1.25PM local time. Antenna was a linked dipole for 20 and 40m on a 9m pole. Starting on 20m, two of the regular New Zealand chasers called in, ZL1BYZ and ZL1TM, weak but workable, 539 reports coming back. VK2IO provided a third 20m QSO. Moving to 40m, four chasers (VK2IO again, VK2WP, VK5IS, and VK5HAA) called in with reports ranging from 419 to 559.

The rig performed well as expected, although the audio output level (or receiver gain) on 20m seemed a touch low.

From here we moved on to Mt Gordon VK3/VN-027 on the outskirts of Marysville, a drive-up four pointer with a comms and fire watch tower, and a great view of the Cathedral Ranges to the north. 20m yielded just the one QSO with ZL1BYZ (thanks John, you are amazingly reliable!). A QSY down to 40m caught VK2GAZ, VK5HAA, VK2LI, ZL3MR, and VK2IO again, with all R5 reports ranging in strength from 2 to 5. Now, later in the afternoon (we finished around 5PM), both 20 and 40m were more lively and the receiver correspondingly louder.


Back on the bench a few fixes and improvements were made. The hole on the side panel was widened to stop the CW keyer message button sticking. The single 2N3904 IF amplifier stage, originally using a resistive collector load and a series coupling capacitor into the cyrstal filter, got a 10 turn FT37-43 bifilar transformer on its output which improved its overall gain by some dB. A number of minor firmware changes were made. The top plate was cut and this greatly improved the speaker volume. Never judge an un-baffled loud-speaker.

Size and weight

Comparisons with the tiny and much loved Mountain Toppers are enlightening. The MTR-5b (the inspiration for SP-X) apparently weighs 6.4Oz or 181 grams. That’s light! I believe this is sans batteries. SP-X weight 332 grams, a lot more. About 27g is attributable to the speaker which the MTF-5b doesn’t have.

The MTR-5b is 4.27″L x 3.2″W x 1.34″T. I make that 10.8 x 8.2 x 3.4 cm or 301 cm3. SP-X is 14 x 7 x 3.2 or 313cm3 — about the same volume.

To get the weight (and size) down further, you’d need to ditch the homebrewer/maker-parts (the Arduino Nano and si5351 breakout) and use exlusively surface mount components on a purpose-designed and fabricated PCB. This represents a big step from a prototype like SP-X to a product that can be produced and sold in a run. There are examples all over the crowd funding sites. It’s the logical next step but it requires different skills and it’s not really my game. Kudos to Steve Webber for his achievement!

Closing comments

SP-X, like all my projects, are prototypes without complete revisions and iterations to follow. I’ll never go back and build a second version of SP-X with the workarounds and mistakes corrected. As a consequence I’ll live with a few re-worked stages (such as the receiver muting fix). A more considered solution to the muting problem might involve a comprehensive end to end design of the audio stages from detector to loudspeaker. Perhaps you’d have two digitally controlled potentiometers on the I2C bus to act as faders between the two audio sources and an audio power IC with muting that you knew could be trusted to switch silently. Maybe there is a simpler way of doing this in a rig with a 5 watt audio stage. Feel free to let me know in a comment!

I’m very happy with how this little rig turned out. It is compact, light, useable, simple, and as versatile a portable QRP CW station as I’ll ever need. I’ll be happy to trust it to get me the four QSOs on any VK3 activation in the future. It simplifies and lightens the rest of my load, particularly the battery which is half the weight of its predecessor. If I built it again I’d fix the receiver muting and probably try to accommodate a LPF for each band. Other than that, I’d build it as it is.

And channelised SOTA CW is a breeze — who needs a tuning knob and display anyway?!

Tagged , , , ,

6 thoughts on “SP-X, a pocket rig for the CW activator in a hurry!

  1. jackmargolis says:

    Nice work, Paul. You have plenty of good ideas that I can use for the basic QRP rigs that I’m building. I plan to operate FT-8 on 20m and CW on 40m, if my vertical will work there.

    I’d like to look at your Arduino .ino file for this rig and see if I can compile it. I’ve been tied up with various VFO designs on different displays that have RIT, etc. for CW and other features for FT-8. Now I’m back at the RF, Audio, and Power sections and cutting holes in Aluminum.

    Thanks and 73’s Jack Margolis W6VMJ in Colorado. Land of may 14 foot mountains.


    • Paul Taylor says:

      Hi Jack and thanks for commenting. It often a touch unfair but understandable that SOTA summit points are relative to the geography. I cannot imagine SOTA in a State with 14,000 foot mountains, that’s over 4000 m. Anything over 1500m is 10 points here, and I think it is a lot lower in the UK and Ireland. If you try my script let me know, it may need a bit of support, which I’m happy to provide.

      73 VK3HN.


      • jackmargolis says:

        There are over 50 “fourteeners” in Colorado. There is, however, some argument over the definition of a peak when the saddle between two of them doesn’t dip over a certain amount.



  2. Victor says:

    Thanks for the article Paul,
    I have a question about IF amp stage – what’s the output impedance? I would like to use a factory built crystal filter, and its impedance is 360 Ohm. What would be your suggestion in this case? Thanks


    • Paul Taylor says:

      Hi Victor, thanks for cooenting.

      The 2N3904 IF amp I used is a very common arrangement, it uses a 10T bifilar inductor in the collector which provides an appropriate collector load and an output impedance of around 50 ohms. In many designs you see 50 ohm pads inserted after such stages to ‘tune’ the gain (so that tells you the impedance at that point).

      If your crystal filter impedance is 360, you need a 50 to 360 impedance transformation step-up. That’s a 1:7 impedance ratio. Z is the square of turns so the turns ratio is 1:sqrt(7), let’s say 1:3. An actual transformer could be 3T:9T on a FT37-43 (or 4T:12T) but the best number of turns will be dependent on your intermediate frequency. Use an inductive reactance calculator to work out the reactance the primary and secondary (its effective resistance) will exhibit at your IF and make sure that matches the amp and filter. Alternatively you could use an L-match. Toroids.info now helpfully has a calculator for that.

      Charlie Morris ZL2CTM explains matching to IF filters in a number of places.

      Note that I did not bother matching 50 ohms of my IF amp stage output to my filter’s input impedance of around 200 ohms. As a result I may be dropping a small amount of energy in the resulting impedance mismatch but in my experience, not a lot, particularly at the relatively low IF of 4MHz. Remember my rig was packed tight so I wasn’t looking to add more components if they were not necessary. But best to properly match all of your impedances from antenna to detector, then you can be confident that signal is being passed between stages without unnecessary losses.

      73 Paul VK3HN.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Shack of VK2KMI

Ham Radio Blog of VK2KMI

Ham Historian

A passionate amateur looks at Melbourne history


My journey of repairing and recycling anything I put my hands on that I believe is still useful. Not just hardware, but including software with relevant content and issues in the field of Cyber Security, Vulnerability Scanning and Penetration Testing.

Amateur radio with VK1DA

Amateur Radio, Computing and other activities of Andrew VK1DA/VK2UH

G4YDM Ham-Radio and SWL news

Radio craft, homebrew, QRP/SOTA, AM


Radio craft, homebrew, QRP/SOTA, AM


Amateur radio experiences with VK1DA

Tj Lab



Amateur Radio and unrelated technologies

Paul Gacek


%d bloggers like this: