❌

Normal view

There are new articles available, click to refresh the page.
Before yesterdayVK3HN

nanoBeacon: a simple personal CW beacon

4 October 2021 at 12:20

There are times when you wonder if your receiver and antenna are really working as they should. The band is dead, or empty, it’s the middle of the day, the D-Layer is sponging up every radio frequency excitation. Perhaps you can hear a few signals, but they are fleeting β€” and you need a steady and predictable signal source for a proper test. An RF signal generator will give you a steady carrier, but there are times when you’d prefer to have a true CW beacon to tune onto. This simple, general purpose multiband CW beacon can be run up on the frequency (or frequencies) of your choice, is powered on a 9V transistor radio battery, and can moved to attenuate to the desired signal level, for radio receiver system testing purposes.

This beacon transmits a hard-coded message in morse code on any frequency supported by the si5351 (10kHz to 160MHz). The code targets an Arduino Nano, Uno or bare ATMega328P and an si5351 breakout board. No display is necessary. You can add one, and controls, if you like. The code includes a simple CW keyer for manual sending (not used, but left in place for this application).

Any number of frequencies in the HF and VHF range can be specified by adding them to an array of transmit frequencies. The beacon iterates over the array and transmits the message on each frequency in sequence. The beacon’s CW speed is configurable. Sidetone is available as a 5v square wave on the D7 output. There is no support for switched low pass filters but this would be easy to add.

The Github repository is here.

Scratch-built 8-band HF SSB/CW transceiver (EI9GQ) – Part 2 – Receiver completion

2 October 2021 at 13:10

There’s a reason why most homebrew transceiver kits and scratch-built projects are monoband and single mode β€” theres a chance you’ll finish it, or at least, get it working for a while. Building a multiband HF transceiver is a big job, as any homebrewer who has attempted it will tell you. It may take years.

My build of Eamon EI9GQ’s transceiver is no exception. It was started in 2018, the first rush of enthusiasm resulting in a working superhet receiver on 160 to 40m, and boxed up in a custom solid aluminum case. This video shows it off circa 2018.

With a heap of work ahead, and a list of unresolved minor problems, other projects took priority, and the rig ended up spending the next four years in a carton (with all my notes, schematics, assembly and PCB sketches, and unused components). Until recently.

Schematics

It’s my normal practive to include kicad schematics, but in this case the EI9GQ designs are copyright RSGB. So go and buy Eamon’s book from the RSGB Bookshop, or on Amazon, you won’t be disappointed.

Resumption

E-mail discussions with another keen maker (Neville ZL2BNE) about his build of this transceiver gradually tickled my interest to resume. Nev was making good progress, had his rig transceiving, and was working QRP DX. I dug mine out of its carton and fired it up β€” it had all the appeal and problems that I remembered from 2018. I resolved to kick it along the road for a bit, to see how much interest I could reconstitute. Upon resuming, a number of issues needed addressing, some easy, some repetitive, some more difficult but not impossible. Here are those that I can remember…

Firstly, the 9MHz IF amplifier oscillated with the manual AGC turned up, and was generally unstable. To fix this, I put a 5k5 resistor in parallel with the drain tuned circuit β€” a well known technique for taming high gain stages. I figured that of the three identical 15 to 20dB gain stages, it made sense to damp down the gain of the first stage. This did the trick, and all three stages exhibited a nice resonance peak using the trimcaps, and overall stability.

Three stage IF amplifier module (EI9GQ).

The next thing was to calibrate the si5351, a simple job I’d never bothered to do, resulting in the display showing odd and fractional frequencies for the property resolved SSB stations in the 2018 video. If you want to know how this is done, go to your si5351 library’s README file, it is quite easy to do, and once done, lasts for years, or for ever.

Next problem was the LCD backlight. The large font 20Γ—4 LCD I had chosen for this rig was a bit of a novelty back in 2018. I liked that it’s huge characters could be read from half a room away. I used to joke with myself that I’d still be using this rig in my 90s, when all the compact rigs with fiddly little OLED displays were beyond my failing eyesight. And the four lines of 20 characters gave me extra display space for luxuries like a UTC clock and metering. But that big display had an equally oversized backlight which could light up a darkened room, but drew more than half an amp. Although this rig was intended for the shack bench, I was not used to my receivers pulling over an amp.

I decided to multiplex the LED array with a simple PWM LED dimmer, which uses one half of a 4093 quad gate as a variable duty cycle oscillator running at around 70kHz, driving an IRF540 FET switch. This worked a treat and the dim potentiometer was mounted right on the front panel. It controls the backlight from off to 90% on, when it drawn around 500mA.

LED (backlight) dimmer module.

The next mini-project was an AM detector. I was not interested in full AM transceive capability– I have other homebrew projects for operating VK legal limit AM β€” but I did want to be able to enjoy decent AM reception using the high quality 6kHz filter in this receiver’s set of three KVG crystal filters. I chose an infinite impedance AM detector, successfully used in a prior AM receiver project.

AM detector and CD4046 audio routing switch.

This mod necessitated making a PCB to overlay the existing product detector and audio preamp, with a plug-in board containing the AM detector, it’s own preamp, a miniature relay to steer the incoming IF signal to either detector, and a shared 4046 quad bilateral analogue switch which selects the product or AM detector’ s output, and additionally does receiver muting and Sidetone routing when in CW transmit mode. This assembly worked well. One hickup β€” I originally left the BFO powered up in AM mode β€” and even though there was no direct BFO coupling anywhere, there was more than enough stray coupling to resolve sideband. This was fixed by switching the BFO board’s DC power off in AM mode.

The next task involved coming up with a mechanism to select one of the three KVG (ex TelRad) filters. These high quality 9MHz crystal filters were common on eBay a few years back, and are a feature of this receiver. These filters came in a set of three. In a slight departure from superhet convention, a separate filter is used for USB and LSB, with a 6kHz AM filter in the middle. The BFO runs permanently on 9Mhz. I wanted to have filter selection under software control, so that the correct sideband filter would be selected for the current band. One of the front panel pushbuttons was used for a mode control β€” pushing it cycles thru the sidebands and an AM setting. A small daughter board was added to the filter assembly containing a PCF8574 demux IC on the I2C bus. A few additional lines of code implemented a simple control function.

9MHz IF crystal filter selector (PCF8574 on vertical daughter board).

The 2018 receiver’s front end board included space fo r an RF amp block, with a pair of miniature relays to bypass it. The original PCB was layed out for a MMIC which probably would have worked fine but in the end I built up one of EI9GQs broadband RF gain blocks using a parallel pair of MPSH10 transistors for around 20dB of gain. The EI9GQ amp was built on an overlay board sized for the available space.

A few minor additions followed. A 41MHz Low Pass Filter was added on the VFO buffer input. On the highest band (28MHz) the VFO is 9MHz higher, on 37MHz. This low pass filter cleans up any VFO harmonics, probably low anyway, but a safety precaution.

40MHz LPF on input of VFO buffer.

The diplexor was added, a balanced tee arrangement, with series and parallel 9MHz tuned circuits arranged to pass through 9MHz energy, but sink all other frequencies into 50 ohm resistors. This ensures proper termination of the receiver mixer and keeps unwanted mixing products, particularly at the image frequency, out of the first IF amplifier.

9MHz diplexor (yellow toroids), handmade DBM receiver mixer to right.

One of the nore repetitive jobs (which just has to be done!) is making and tuning up the remaining Band Pass Filter modules. Three mire were built, for 17, 15 and 10m, using the EI9GQ design. This gave eight bands, 160, 80, 40, 30, 20, 17, 15 and 10m. My approach to the last three boards was mostly as I’d used in 2018, other than improving the use of right angle 0.1β€³ header pins inserted through a row of holes drilled through the PCB for mechanical strength.

BPF rack (160, 80, 40, 30, 20, 17, 15, 10m).

Band Pass Filter board for 10m.

Next job was a small board mounted on the rear panel next to the two SO239 sockets. This board has the transmit-receive relay, and a second relay that switches between two SO239 for an Antenna A/B switch. Three 7812 regulators supply the three supply rails, 12v always on, 12v receive, 12v transmit. All three unregulated DC supplies are available on headers as well, to avoid heavy current being drawn thru these regulators, such as the transmitter PA and the LCD backlight.

T/R relay, antenna selector and 12v regulator PCB (relays underneath).

The rear panel has two antenna sockets (for A and B antennas, switched from the front panel), a panel XT60 socket for DC 12V, and a set of 3.5mm and RCA sockets for connections (external muting, paddle, external speaker, and an auxiliary RCA, as yet unassigned). These 3.5mm switched stereo sockets are very useful pieces but unfortunately are not long enough to go through a 3mm aluminum panel. The best solution is to mill out a recess larger than the socket, but that requires a milling machine that I don’t have. So the workaround was to cut a rectangular hole in the 3mm rear panel, and bolt on a 1.2mm aluminum plate to hold the sockets. Its easy to paint and label this small piece.

Rear panel.
Small PCB for the 3.5mm sockets, with connectors (3.5mm sockets underneath).

Preview of the Exciter

To turn the EI9GQ receiver into a transceiver I needed a microphone amplifier, balanced modulator, transmit mixer, T/R switching, a PA stage and LPF set. Back in 2018 I built Eamon’s LM324-based microphone amplifier (a design out of EMRFD) and another hand made diode balanced modulator. All of these mixers use 1N5711 Shottky diodes individually matched to within a millivolt on the diode test setting on my digital multimeter. The transmit mixer is another hand made diode ring mixer, this time an unconventional triple balanced mixer.

20181001_1749025860798062490402852.jpg
Microphone amp (with header for a compressor), balanced modulator, transmitter triple balanced modulator. Vertical dividers will host MPSH10 gain stages before and after transmit mixer.

20181001_1747587661781804783749700.jpg
View of component side of the last gain stage, 2xMPSH10s.

The PA chain after the transmit mixer will be MPSH10 x 2, 2N5109 and a pair of RD16HHF1s for about 10 watts 160 to 10 meters. The LPFs will be by Eamon, derived from the original W3NQN designs, each filter on its own plug-in board, relay-switched at either end, filter selection via another PCF8574 on the I2C bus. There will be six LPFs (for 160, 80, 40 and 30, 20 and 17, 15 and 10 meters).

What’s next?

If you’ve made it this far, thanks for reading, feel free to leave a comment, and stand by for the third and final post on this transceiver project, which will address completing and commissioning the SSB and CW transmitter stages.

20 meters, 200mW & 12,000 miles: WSPR magic!

1 October 2021 at 08:33

Weak Signal Propagation Reporter is a global radio propagation monitoring and reporting network comprised of thousands of low power beacons operating on the amateur radio bands. WSPR beacons can be detected from the lowest of Medium Wave frequencies (137kHz) all the way through the HF spectrum (all the bands from 160m to 10m are popular) to the VHF bands, 50 and 144MHz. WSPR receivers decode the tiny beacon packets and upload them to a central database, at WSPRNet.org, where anyone can literally β€˜see’ the propagation paths that are currently open.

Equally, you can go back and revisit the radio frequency propagation conditions during any previous time window. Running a WSPR beacon from your home allows you to β€˜watch’ the propagation paths open, peak, and close each day under the influences of solar radiation, sunspots, and other ionospheric conditions. Arduinos and a few common accessory boards that can be had for tens of dollars make a beacon accessible to just about any experimenter (with an amateur radio license).

WSPR beacon in an Arduino Uno prototype case.

I’m late to the WSPR party. I’ve wanted to try a beacon project for a few years. A while back, I took a copy of the ZachTeck script and experimented with it and a Ublox GPS, but after getting the NMEA strings decoded from the GPS unit at roughly one second intervals, the rest of my code was over-engineered and bloated, and did not fit into the small memory constraints of the Arduino Nano. I put is aside.

Recently, I did a much needed upgrade to my Arduino IDE and libraries. The thought occurred to me that improvements to both IDE and libraries may give me a fighting chance of getting that old WSPR script fitting. When I opened it up, and started to work through it, I saw some obvious ways of reducing memory usage. I had too many String objects (memory-hungry). And my code was writrten to parse each NMEA message string and tokenise it. This allowed me to get to discrete data fields a long way down the messages, like the number of detected satellites. In a simple WSPR beacon, all you really need is the UTC timestamp at the very start of a number of the NMEA messages. I ditched the superfluous stuff and got it uploading, and more to the point, not hanging!

WSPR dataset applications

WSPR is brilliant for teaching you about rare and exotic places that you feel compelled to Google when they turn up on your map in the morning, places like Orlygshafnarvegur (TF4AH, Iceland) or Fuerteventura (EA8BFK on the Canary Islands).

The database of historical propagation across the HF spectrum is widely used by amateur researchers to learn about propagation and has some more serious applications as well. Experimenters have used the data to support ideas or research questions about how symmetrical propagation is at opposite sides of the globe in the same period, and to test antennas. More seriously, a theory was proposed that impressions in the WSPR dataset may indicate the path of the lost flight, Malaysian Airlines flight MH370.

Script

The script is here: https://github.com/prt459/WSPR_GPS_Beacon

Schematic

The schematic is so simple it really doesn’t need a kicad. The Ublox 6M GPS connects to Arduino D2 and D3 for serial data transfer. It also needs GND and +5V. The si5351 breakout board uses I2C and so goes to Arduino A4 (SDA) and A5 (SCK). Connect the si5351’s CLK0 to whatever low power HF amp you like. Mine is from Experimental Methods in RF Design (EMRFD), Fig 12.32, but I could have chosen any number of similar two-transistor stages.

WSPR works on truly tiny power levels. If you connect the bare si5351 clock output to an antenna, you will get decodes! (You should add a Low Pass Filter if this is anything more than a quick test). So use a single 2N3904, or anything with gain, up to a full 5 watt QRP PA with an IRF510 or Mitsubishi RF FET, which is a β€˜big gun’ in the WSPR world. Mine uses a 2N3904 and 2N4427 in common emitter feedback configuration, delivering around 10 volts peak to peak into 50 ohms, followed by a W3NQN Low Pass Filter for the band of interest.

200mW QRP PA.

Gallery

20 meter European WSPR decodes from the beacon in Melbourne Australia. 12,000 miles on 200milliWatts!
More European decodes, and a spot from Auld Blighty!
And a decode in the USA in the same timeslot, about an hour before sunset.

Acknowledgements

Thanks to Harry from ZachTek for making his code open source. And to Jason Milldrum NT7s for his si5351 and JTEncode libraries.

SPRAT #192

After publication of this project in the RSGBs SPRAT #192 Autumn 2022 a number of builders commented below the post or contacted me with build reports and questions.

First, the 12v DC series decoupling resistor was not labeled in the published schematic, it can be anything between 47 and 100 ohms (see corrected scheatic below). Β 

Schematic errata.

Secondly, Ian McCrum did an LTSpice model of the PA which revealed that I omittedΒ  a resistor from the original design in EMRFD (in parallel with the 100n coupling capacitor between the stages) which forms part of the biasing of the PA transistor. If omitted, the PA works, but with reduced power.Β  Adding the resistor increases the RF power output to around 0.5W, although this will vary depending on drive level, the PA transistor, and the DC supply voltage. Thanks Ian for taking the time to LTSpice this QRP PA.
Β 
Steve K8SDK got more power out of his PA by increasing the si5351 drive level from 2MA (my value) to 4, 6 or 8MA.Β  There is a general understanding and some analyses that report the si5351 clock phase noise gets dirtier as you go up in drive level,Β and for this reason I left it at 2MA.Β  But with sub 1 watt power levels and a LPF on the output I don’t think it would make any practical difference.

On the question of WSPR beacon power, I don’t think 0.5W is preferable to 0.2W under curent band conditions. With 0.2W the decodes at DX WSPR receivers get marginal and the spread of the band opening can be seen as the grey line moves across the globe. Higher beacon powers can result in saturation which looks like a more rapid β€˜lighting-up’ of the remote receivers on the map, and the subtleties of propagation can be lost. This is another way of saying that you should really use a minimum power necessary to get decodes at the far end. However my preference for low power is a personal preference, and some may need slightly higher power to overcome antenna losses.

Several people reporting having to use the set_correction() call with the second parameter (around line 320). I added a comment note immediately above the call in question:

// NOTE: There was a library change to the signature of this method. If you get a compiler error, try this:
// si5351.set_correction(19100, SI5351_PLL_INPUT_XO);

I did it this way to allow for compatibility with subsequent versions of the NT7S si5351 library. But a few people got the compile error and did not trace it back to the offending source line, or perhaps read the comment. I should have just made this change in the repo code to make it foolproof for all comers.

Neil G0ORG emailed with a question about si5351 calibration, his calibration attempt resulted in a value of 149850 for the call to set_correction().Β  I personally have not seen a calibration offset that large, however, the tiny crystals on the Adafuit and clone breakout boards must vary considerably. Neil reported that this offset pulled his si5351 outside the WSPR passband β€” we are not sure what went wrong with the usual calibration process for this to happen, bit Neil got his beacon back on the spot by experimentally reducing this large offset value.

Stephen G3ZNG had problems compiling the sketch, and after a bit of investigation discovered he had a previously installed JTEncode library. Upgrading the library fixed the problems and Stephen reported his beacon was working.

Chris G4BMW had the same problem. When he installed JTEncode v1.3.1 and Si5352 v2.1.4 it worked. Chris then discovered that GPS units do not always work inside, and had to move his unit next to a window to give the GPS receiver a sniff of the overhead statellite’s signals.

John G8CHP emailed me a photo of his completed WSPR beacon in a sandwich box. John reports spots in western Canada from his QTH on the east coast of the UK. John used a QRP Labs QLG1 GPS unit, mainly because it was on hand, and a 2N3866 for the PA.

Jonathan G5LUX got his beacon working on a breadboard, and it worked first time.

Aaron K5ATG emailed to discuss his build options, saying that most commercial WSPR beacon products are reasonably pricey for what they are, and my design is made from just a handful of commonly available components, most of which he already had.

Nigel, G4ZA emailed me to say that he had also come up with his own homebrew WSPR beacon, and that Harry’s code (Zachtek) saved him a ton of work too.

Steve K8SDK used three FETs (presumably in the conventional Class E PA configuration as used in many QRP CW PAs) (see comments below post).

And finally, Dave AA7EE has done a superlative job of building his own WSPR beacon using my script, and of course, his blog write-up is amusing, informative and a celebration of the finest amateur radio homebrew spirit. Dave set up his beacon on 10m but had si5351 stability issues which he describes in detail. He solved the drift problems with patience and experimentation, eventually settling on 20m. His post shows remarkable QRPp WSPR results. Thanks Dave for the acknowledgments peppered throughout your post. (See also Dave’s comments below).

A number of builders commented below the post, please read for further discussion. As well, I did receive other emails so if I have missed you please leave a comment below.

Beautiful and thoroughly photographed and documented build by Dave AA7EE.

Working beacon by G5LUX

Nicely packaged beacon built by John G8CHP.

Universal VFO Controller (ATMega328 & si5351)

30 September 2021 at 12:58

This board is a universal radio project controller, with an ATMega328P(U) microcontroller and lots of options. The intention was for it to become a basic building block in transceivers, receivers, transmitters, signal generators, anywhere you need either a digital controller, one to three clocks, or both. The board has headers for the common si5351 breakout board, available from Adafruit or as a .CN clone, and a 16Γ—2 HD7044 Liquid Crystal Display using the standard 14+2 parallel data header (+2 for backlight). It brings out all of the available digital IOs (D2..D13), analogue inputs (ADC) A0..A5), as well as headers for a 12V supply, and access to the regulated 7805 5v output, access to the LCD backlight in case you wish to take control of this in software, and an FTDI-compatible USB-to-serial programming board.

More features

However it doesn’t end there, as the point of this desgn was to incorporate as many of the additional components that have so often been relegated to small boards hanging off front, side and rear panel sockets and switches. So there are these additional headers:

  • a header for 1, 2 or 3 pushbuttons for general control purposes, intended to be mounted on a front panel for channel selection, VFO control, VFO step etc (additional buttons can easily be added in desired)
  • a header for a paddle and 1, 2 or 3 keyer memory pushbuttons (again, more may be added)
  • a header to take digitally generated and filtered sidetone (with an on-board level setting trimpot) off to a transcever’s audio stage
  • a header for a mechanical or optical emcoder (tuning), including a line for an integrated pushbutton.

The ATMega328 MCU’s I2C SDA and SCL, ground and 5v are additionally available on an I2C header, for all kinds of extensions via sensors that talk I2C or those on breakout boards. This feature opens up the possibility of using any of the OLED displays instead of the LCD, as OLEDs interface via I2C. Another option is to use an LCD with I2C backpack which would free up 6 additional digital IO lines.

In fact there is no reason to have a display if you don’t need one, this board could control a headless WSPR beacon, Automatic ATU or Satellite Tracker if needed. The possibilities are fairly much as endless as you get from an Arduino Uno.

The board was designed using EasyEDA and fabricated including assembly at JLCPCB. The design process was a part time project that lasted about 6 weeks. The first batch of five boards was done and delivered in about two and a half weeks from ordering, with DHL delivery.

Clock buffers

The three si5351 clocks are each buffered on-board, delivering a solid +13dBm (20mW) into 50 ohms, perfect for driving an L7 mixer (via a pad) or a transmitter pre-driver or driver. The buffers are 74LVC1G126 , fast single buffer/line drivers with 3-state output and a Schmitt-trigger on the input for handling any variation in the si5351 clock rise and fall times as frequency increases. The buffers are permanently powered and will only draw curent if the clock is enabled.

Gallery

Schematic

The schematic is here.

Wiring diagram

Firmware

My VFO_Controller script now has a new compilation target, UNIVERSAL_VFO_CONTROLLER, which, if #defined, includes the code for the pushbuttons and other features of this particular board. Get it here:

https://github.com/prt459/Arduino_si5351_VFO_Controller_Keyer

First use: a 20mW QRPp transmitter!

The first real use of the board in the shack was as a QRPp transmitter. Just power it up, connect a resonant antenna to CLK#1 output, plug in a paddle, and it’s ready. Adding a 2N2222 or BS170 (and a Low Pass Filter) should get to half a watt, an additional IRF510 for a full five watts, so simple!

Credits

The schematic is derived from Ashar Farhan VU2ESE’s Raduino. A number of ideas for improvements were made by David VK3KR. The use of si5351 clock buffers and selection of 74LVC1G126 devices was first done by Glenn VK3PE.

First run boards are being evaluated by David and Peter VK3TPM. Once the bugs are ironed out (and there are a few!) a second run will be done, verified, and then the PCB design will be opened up to anyone who would like to spin up their own pieces.

Digi-chirp! Digital synthesis of β€˜nostalgic’ CW

21 August 2021 at 11:38

The bottom ends of 80, 40 and 20m are not what they used to be. For starters, the busiest part is the digital segment where computers talk to computers – listening to this segment is like eavesdropping on a bunch of dialup bulletin boards having a party in 1983. Then there’s the CW segment. When there are CW signals to listen to, all are frequency stable, chirp and click-free, generated by more computers from deep inside rigs that are more computer than radio. These shining examples of digital CW perfection have traded efficiency and quality… for personality.

In 1979 as a teenager I spent countless hours scanning these frequencies on my FT200, and the sounds from those days are indelibly printed on my memory. The CW segments were a managerie of good, average and bad sounding fists, warbles and tones. There were the regular VK DX men with polished 599 emissions, frequency stable and chirp free, some with curious hand-keyed idioms and flourishes. There were JAs by the dozen, banging out formulaic patterned QSOs, and Eastern Europeans, some on their creaky old ex-WW2 equipment that had to be heard to be believed β€” sloppy, chirpy, drifty, and gloriously messy CW. And of course the Americans with their kilowatt CW reaching out half way around the globe, some with the self-assurance of a military comms man, armed and dangerous.

It was possible back then to tell where a station was from before hearing the callsign by the combination of signal quality and the operator’s fist. The key to this ability was variety. The CW segment was a rich technical and cultural melting pot of sounds and styles, like the marketplace in some kind of global village populated only by fanatical radio enthusiasts, the ham equivalent of the bar scene from Star Wars 4. In those days, sending a CW CQ gave me butterflies–you could be answered by absolutely anyone, or anything!

Peak chirp is at 4m 20s.
Nice clicky and drifty 2 transistor transmitter, from 13 mins.

The loss of analogue CW struck me again when reading the comments under Peter VK3YE’s video on a two transistor CW transmitter, in which he tries different values of the VXO to PA coupling capacitor. 1nF gives ample drive but pulls the oscillator when keyed. 470pF gives lower drive but less chirp. The CW sound was evocative. Several viewers commented that they would always answer a chirpy CQ because it was likely to be a boat anchor or homebrew rig, something more exotic, perhaps something to discuss during the QSO. The thought of a chirpy CW signal being irresistible to some, a feeble flickering flame to which the morse moths are helplessly drawn, began to form.

Using digital technologies to simulate analogue predecessors for continuity or nostalgia is not unusual. Society has recognised the impact of the digital transition on those of us who are living through it. Melbourne Trams sound a digital facsimile of a 1920s bell, a sound synonymous with the city’s central shopping district for 120 years. Electric vehicles include computer controlled devices to generate a petrol engine’s sound to alert pedestrians, or in the case of the new Dodge, maintain faith with the rusted on fan base.

So, why not do the same for CW? It occurred to me that the power of microcontrollers and multisynth PLL clock generators could easily make this happen. It was a simple coding task to modify my keyer code to make small frequency shifts during dot and dash formation for chitp, and to consistently increment or decrement the oscillator’s base frequency to simulate drift. Time constants were #defined as labels for tuning. With a bit of experimenting, a reasonable approximation of both chirp and drift was found.

These first simulation attempts may be overly simple, as a typical analogue oscillator’s chirp does dot pull the frequency as a linear function of time, but rather, might pull hard, then ease off as the oscillator and subsequent amplifier stages settle down. The corresponding mathematical function is probably a complex polynomial. The same with drift. Most of my analogue oscillators have drifted in one direction, then reached some kind of equilibrium, thereby stabilizing. I’m not a big boat anchor guy, but I wouldn’t mind betting that certain old transmitters have their own chirp and drift signature. How else would you recognize them when you hear them?

I leave more sophisticated simulations of bad CW as an exercise for the reader. Same for the many ways you could use this CW party trick. For example, why not arrange for a switch that disengages the chirp and drift. You could call a chirpy CQ to attract attention, then when you snare someone, turn it off for computer-perfect CW. The options are endless.

If you are brave enough to use this, I ask only three simple things: use digichirp mode sparingly, don’t drift out of the band or segment, and don’t blame me for your bad signal quality reports!

Chirp gallery

Here’s a rogue’s gallery of dubious CW signals. Enjoy!

Super-Chirp from 2 mins.
Play from 9m30s for a chirpy keyed Heathkit VFO.

SP-9: A Compact Five band SSB/CW QRP Transceiver

27 February 2021 at 12:18

β€˜Summit Prowler 9’ is a homebrew five band SSB/CW 5 watt transceiver designed for and tested on the summits near Melbourne Australia. This project further developed my interest and ideas on the right mix of features and design choices in a moderately compact case that any keen radio builder could reproduce in the home workshop with modest equipment. The transceiver project was completed over an 18 month period to April 2021.

Schematics

Page 1 is the receiver:

Page 2 is the transmitter:

Page 3 is the microcontroller, PLL and associated control pieces:

Listening to G4 station on 20m.

VFO/BFO/Controller

The VFO, BFO, CW keyer and all control functions are provided by my usual Arduino Nano and si5351 combination. This module is built sandwich style. The front double sided board supports front panel encoder, encoder switch and three pushbuttons, all soldered directly to wide pads. The reverse side hosts a carrier oscillator buffer for CW and its DC supply switch, the T/R relay driver FET, and a PCF8574 decoder and five filter relay driver FETs. It also mates with the second board via 0.1β€³ headers.

This board hosts the Arduino Nano, si5351 breakout, a VFO buffer (MMBT3904), R/C sidetone filtering and a 7805 voltage regulator. The module is conveniently self contained and can be built and tested standalone.

Front view of the VFO, BFO and Controller module showing the SSD1306 OLED, LED-illuminated pushbuttons and mechanical encoder.
Rear view, self explanatory. Hidden in the middle board are a 5V regulator, MMBT3904 VFO buffer, carrier oscillator DC switch and MMBT3904 buffer ( for software-generated CW).

Receiver front end

The front end is almost identical to that developed for an earlier transceiver project, SP7. It consists of a switchable, AGC controlled dual gate MOSFET RF amplifier, a Minicircuits JMS-1 double balanced mixer,Β  a balanced tee diplexor and a post-mixer Class A amplifier stage (2N2219A). Fifty ohm pi attenuator pads are used for impedance stabilisation and level-setting to the L7 mixer and the IF amplifier that follows.Β 

The switchable RF amplifier is a conventional broad-band NTE332 dual gate MOSFET stage, but departs from that used in SP7 in that the switching is done with SA630D BiCMOS RF switch from NXP (2014). In an earlier rig (SP7), this amplifier stage was switched using a front panel toggle. This time, I decided to use an Arduino digital output to switch this stage for the 20m band only.

MOSFET RF amplifier test, demonstrating times 6 voltage gain or 15dB into a 50 ohm resistor.Β 
Diplexor test rig.
Diplexor bandwidth.
Diplexor sweep, showing -1.37dB at 9MHz, and a 2MHz -3dB bandwidth.

The mixer (a JMS1) is a double balanced mixer; with the LO and IF used, these appear to exhibit around 5 dB conversion loss. The post mixer amplifier stage has a fairly flat gain of about 15dB. The band pass filters (see below) show a loss of about 2dB. So overall gain is as follows: -2 (BPF) -5 (mixer) -2 (diplexor) +15 (post mixer amp) = 6dB overall gain. Add about 10dB with the RF preamp switched in.

IF filter and amplifier

Unlike previous transceiver projects, I had no crystal filter in mind for this rig. Peter DK7IH has been using these tiny 8-pole 9MHz SSB filters from Germany. They look ideal, but the delay involved in landing one in Melbourne was unknown. So I layed out the IF board with space for a 9MXF24D, but make up a simple 4-pole experimental filter using on-hand 9MHz matched crystals from Minikits. The board is encased in brass sheet sides and top β€” as the crystal filter sits at the front of an 80dB gain stage, good shielding is essential.

Simple four pole 9MHz crystal filter, sweep shows it centred on 9001kHz, -40dB bandwidth about 2.2kHz, roughly 5dB of passband ripple; not great but good enough to develop and test this transceiver.

Various AGC-controlled IF amplifiers were considered; the design by Eamon EI9GQ was chosen on the basis of overall gain, dynamic range and size. Three pairs of BF246A RF JFETs arranged in a cascode fashion each behave like dual gate MOSFETs with signal on the lower FETs gate and AGC on the upper FETs gate. The stages increase gain with increasing AGC voltage, just like a dual gate MOSFET.

As built, the IF strip had way too much gain and oscillated on tuned circuit peaks ( at or around 9MHz). The first stage’s tuned circuit was damped down with a parallel 5k6 resistor. The board measures 95 x 38mm.

IF amp test rig.
30dB gain.
IF amplifier.
Cascode BF246As.
IF board. In test, 100mV at output of crystal filter yields 3V-pp or 30dB gain.

When the tiny 9MHz 9MXF24D filter from our friends at FunkAmateur arrived it was dropped in and resulted in a noticeable improvement in the passband.

Product detector, audio and AGC

These receiver stages occupy an irregular 95 x 50mm board. The product detector is an SA612, which is followed by a low pass RC filter, a discrete audio preamp and a NEC uPC2002 audio amplifier.Β  A two-transistor AGC circuit occupies a small vertical double sided board that doubles to screen the audio power amplifier.Β Β  The transmit-receive relay occupies the right side of the board for antenna and DC switching.Β 

Receiver back end board.
AGC on vertical divider.
Clockwise from top: SA612 product detector, T/R relay, 7812 regulator, AGC (vertical), upc2002 audio power amplifier.

Five-band Band Pass Filter module

This board contains five individual Band Pass Filters, relay switching for each, and transmit- receive switching to allow the selected filter to be used in both receive and transmit modes.Β 

Band Pass Filter module, from left, 20, 30, 40, 60 and 80m. Relays at the top select one of the five filters. Relays at the bottom do T/R switching.

The filters are by Eamon EI9GQ (Radcom homebrew columnist).Β  Each filter uses four adjustable parallelΒ  LC tuned circuits with coupling. This module is obviously critical for the spectral performance of the transceiver, and is probably the most design and labour-intensive.

EI9GQ BPF sweeps.

The filters are fairly consistent, 400 to 500kHz wide at the 3dB points and with insertion loss between 3 to 5dB. This figure is higher than EI9GQ reported (1.5 to 2dB). I used regular 1206 X7R 50v ceramic caps. One DPDT relay was used to switch each filter.

The 80m filter initially came up with a good shape but insertion loss of 8dB. I breadboarded it and found that using the regular shiny blue leaded 50v ceramic caps in the four resonant tuned circuits brought the insertion loss down to < 2dB. From subsequent discussions with Nick N1UBZ and David VK3KR, I learned that X7R surface mount capacitors are not great for RF. Minikits stocks caps with a better dialectic, I should use these in future. That said, the difference is 3dB which may be accommodated in the receiver’s overall gain distribution.

Receiver tune-up

Connecting these boards together was straight forward, and yielded band noise and signals. As a result of independent module testing and getting the IF gain about right, no major changes were necessary to get it working well on all bands. The receiver has plenty of gain, and on 80m rides on the,AGC line to keep tamed.

Transmitter

To get this bunch of boards to transmit required four more modules: a microphone amplifier and balanced modulator,Β  a transmit mixer, the driver and PA chain, and a five-band software-selectable Low Pass Filter.

Exciter board, before the addition of brass shielding.

Mic amp and balanced modulator

The three transmitter stages were laid out on a single board. These modules reproduced those used in SP7 and are copied from SSDRA p202/203. The mic amp uses a FET for a high impedance microphone preamp and an op amp for gain. The LM1496 in balanced modulator configuration has a tuned output at 9MHz.

Transmit mixer

Another LM1496 configured as a transmit mixer with broadband output, and followed by a broadband gain stage (MPSH10).

Drive

The broadband driver uses a BFU590GX. This is a fairly hot little RF amp transistor that is good to microwaves. It is my attempt to employ a modern replacement for the 50 year old 2N5179. The first one blew up on the test bench, not sure why, I may have let a clip lead go astray. The stage delivers 250mW into a 50 ohm load flat to 30MHz, depending on drive.

The pre-driver is a BF961 dual gate MOSFET. This device was chosen for a reason. In other rigs, drive drops off on the highest band, in this case, 20m. I arranged two trimpots, diodes and a switching transistor into an OR gate so that each trimpot sets the gate 2 bias. Trimpot 1 sets the pre-driver gain on the lower bands. Applying 5 volts to the transistor base brings trimpot 2 into the circuit which can be set to lift the bias for the higher bands. A digital line from the Arduino provides the 5v.

PA and 5-band LPF module

The 5 watt power amplifier stage uses a single Mitsubishi RD16HHF1 RF FET. The circuit was copied from one developed by Glenn VK3PE, and is commonly used. It includes a p-channel DC switch to control the 12 volt rail and the gate bias, allowing the entire PA to be enabled or disabled via a 5 volt control line, such as an Arduino digital line. It is important to drop the gate bias when receiving, as this can be set as high as 250mA.

Five watt PA and LPF module.

Three W3NQN LPFs were made to cover the five bands β€” 80 and 60m, 40 and 30m, and 20m. Each filter is switched via a pair of Telecom relays. Diodes on the five-band select bus ensure the dual band LPFs are shared appropriately.

LPF sweeps.

Testing

RF power output was measured on a 13.7 volt DC supply as: 80m 6.2 watts, 40m 7.8 watts, 30m 7.6 watts, 20m 6.3 watts.

Output waveforms, DC supply 13.7V, 50 ohm load, on 80, 40, 30, 20m.

A spectrum plot was done using the SDRPlay RSP1A running the supplied spectrum analyser software. The rig was connected to a dummy load, with 23dB of attenuation in series with the analyser, delivering around -20dBm to the RSP1A. The test revealed 50 to 55dB suppression of the second harmonic on 30 and 20m, and 34 to 35dB suppression on 80 and 40m. This directly equates to how three LPFs were cut to cover the five bands. Space permitting, a dedicated LPF on each band would achieve better than 50dB harmonic suppression.

Transmitter spectrum on 80 and 30m, second harmonic -35dB and -57dB respectively. Other results: 40m -35dB, 20m -50dB.

Case

The case is made from stock aluminum, hand cut and worked, with pop rivest and M2 and M2.5 bolts, barrel-head and countersunk. The case has two angle pieces running along either side as bearers for top and bottom PCBs. This scheme created receiver (top) and transmitter (bottom) compartments, and allowed open access to the PCB components and tracks for testing. The Arduino controller, si5351 breakout and control components are mounted on a pair of boards that sit parallel and behind the front panel. The front panel is made from 3mm angle, painted black, with Decadry white lettering and several coats of protective clear enamel. The labels on the right side panel are Decadry (black) applied direct onto the cleaned aluminium surface, with clear enamel top coats.

Aluminium case details, 235mm long, 100mm wide, 40mm high.

Wrap-up

This project was an exercise in scratch building a compact 5 band SSB and CW QRP transceiver using approaches and circuit blocks I’d used before. As with anything, doing it for the 2nd or 3rd time is always easier and the results better.

I addressed a number of omissions or weaknesses that bugged me from earlier rigs, including a fully integrated loudspeaker, convenient location and spacing of controls (for me at least), a β€˜true’ RF PA transistor (RD16HHF1) to ensure 5 watts on the higher bands, a smooth and functional AGC, loud audio, a rigid microphone connector, and a case that offered top and bottom zones for receiver and transmitter. SP9 met my expectations and has given me an ideal SSB and CW rig for a wide range of backpack or portable outings.

Why include 60m in VK? In the planning, I included 60m in good faith, as there was much anticipation amongst VKs at the time. This project was well advanced before the Australian Communications and Media Authority announced the refusal of the amateur radio community’s request for access to the band. At some stage in the future I may replace the 60m filters to get 17 or 15m. That task has been left for a rainy month.

If you got this far, thanks for reading this homebrew radio story. Please feel free to discuss any aspect of this project, by leaving a comment below. 73 from Paul VK3HN.

❌
❌