CW Sidetone Oscillator

My 40m transmitter doesn’t have any frills at all. It is CW only and so far I’ve been listening to its signal on the receiver that I’ve been using with it. This works fine as the transmitting aerial is completely separate from the receiving aerial and the transmitter power is only around one watt.

So I’ve added a sidetone oscillator to the transmitter so that I can hear what I’m sending for when I do proper transmit/receive switching with one aerial.

I looked at PIC-based and LM386-based solutions, but decided on the circuit in chapter 1 of “Experimental Methods in RF Design” by Hayward et al (EMRFD). The circuit is based on a 555 timer. It beats other circuits I looked at because it is simple to build, uses through-hole components and is plenty loud enough for my ageing ears. Although it’s a square wave oscillator it sounds fine. I may add an LPF as the harmonics are louder than the fundamental.

I didn’t have all the components specified in EMRFD so I substituted others that seem to work fine.

Here’s the circuit and layout as ‘designed’ in EAGLE.

Sidetone Board

Sidetone SchematicThe circuit works as follows. The morse key is attached to the JP1-KEY pin and when the key is keyed it grounds R2 making Q1 switch on. The 555 timer is configured as a multivibrator triggered through D1. The square wave output goes to JP2-HEADPHONE pin.

I will replace R7 with a trimmer pot as the current value makes the output too loud even for me. 

Tuning a loop with nanoVNA

One of the aerials I use is a small transmit loop. These loops have a really narrow bandwidth which is good and bad. Good in that you get much less noise, bad in that you have to keep retuning. If you stick to one frequency such as with some digital modes it is ok as you don’t have to retune too much. Other modes such as SSB and CW are less easy to use with a loop.

You can tune the loop by transmitting into it and tuning the loop until the SWR is good. This is a bit anti-social as you can be transmitting for quite some time as you tweak the tuning. I used to use a noise bridge which works quite well as long as your ears don’t get tired. The nanoVNA offers easier, more visual way of tuning. 

nanoVNA loop tuningThe nanoVNA sweep is quite slow so you need to have a fairly wide sweep span so that you can see the dip in SWR when you are tuning the loop. So you set the centre frequency and then the span and then tune until you see the dip disappearing off one end. Then you fine-tune the loop and end up with the dip at the centre frequency. The loop is now tuned as in the photo above.

This works fine with the nanoVNA GUI, but as I am nearly always running a Mac when I’m on the radio I wrote a Matlab script to do the tuning. The script is run and sets the centre frequency and span for you.

Here’s a sample tuning transcript (user input in green):

>> ajfTuneLoop
connect: Serial-/dev/tty.usbmodem4001
status:  open
press RETURN when loop is connected to ch0
Frequency to tune to (MHz) ? 7.074
tune loop for dip at the marker, press RETURN when tuned ok
close
>> 

The script is ajfTuneLoop.m.

The nanoVNA and MATLAB

The nanoVNA is a cheap but usable vector network analyser. It is good value and very useful for all sorts of RF design and radio ham activities.   I suggest you buy a nanoVNA from a reputable dealer as there are plenty of clones which don’t work as well as the original. The model I have has a tiny screen which I can read adequately but it isn’t as comfortable as reading a computer screen. The NanoVNA is a touchscreen device so you need to tap on tiny text to do anything. Again, this is possible but far from comfortable for those of us with ageing eyes. There’s also a bit of screen reflection.

nanoVNA

The nanoVNA can be driven from a PC using a program called nanoVNA-saver which is pretty good. Unfortunately it runs on Microsoft Windows and as I don’t have a PC running Microsoft Windows I have to run it in a VirtualBox VM on my Mac Mini. This works but is a bit clunky and to be honest my Mac mini is a bit long in the tooth and struggles to run virtualised Windows 10 at a reasonable speed.

There is a cross-platform solution based on Python which looks promising. It uses Homebrew on MacOS which clashes with MacPorts which I use. I tried to make it work under MacPorts but fell into the usual maze of incompatible library versions causing the make to fail. So I gave up as I want to play with electronics and not software building. [Update: Rudi, DL5FA kindly helped with this and it looks like the Python Virtual Environment will help when I’ve got the time to try again.]

MATLAB to the rescue! — alex_m has created some MATLAB scripts which allow you to interrogate and control the nanoVNA from MATLAB. Thanks Alex! So if you have MATLAB this may be useful. If you don’t you may be able to convert much of this to Octave but it does use the MATLAB RF Toolbox so you may end up doing a lot of work.  Alex’s scripts produce LogMag, Smith Chart and TDR Step Response graphs. 

Here’s a graph showing my 40m LPF characteristics made using Alex’s scripts.

40m LPF LogMag

I’ve written a couple of scripts based on Alex’s work which I think makes using the nanoVNA easier. Both scripts need an edit to configure the serial link to the nanoVNA. You’ll need Alex’s code too.

The first script ajfCalibrate.m calibrates the nanoVNA for a particular sweep on the S11 port. You have to do this before every measurement that changes the sweep values, so you do it a lot. Here’s how it looks in the MATLAB console. The inputs are in italics.

>> ajfCalibrate
connect: Serial-/dev/tty.usbmodem4001
status: open
Sweep start (MHz)? 7
Sweep stop (MHz) ? 7.2
Calibrating...
press RETURN when S11 is open
press RETURN when S11 is shorted
press RETURN when S11 has 50 ohm load
Save [0-4]? 4
close
>>

The second script ajfVSWR.m produces a chart of VSWR against frequency. Most radio hams are happier with this than the LogMag chart preferred by RF designers. 

I used ajfVSWR to measure my small transmitting loop tuned to the 40m FT8 frequency. As expected it shows the narrow bandwidth in low VSWR that is the drawback of small transmitting loops. 

40m FT8 VSWR

The graph can be zoomed in MATLAB and have data cursors added to show more details.

40m FT8 VSWR 2

The VSWR could be lower. I think I left a metal step-ladder in the attic which is affecting the loop.

ajf? My initials.

X-Phase — More theory

The advert is from Practical Wireless February 1987.

In my last blog I tried to explain how a QRM Eliminator works. Here’s some more information.

Suppose the signal you are trying to hear is a sine wave (shown in blue). The signal as received (shown in red) will have some noise added as it travels to you.Original noise

The QRM eliminator allows you to pick up the noise with your noise aerial and phase shift by 180º. As shown in this chart.

Noise

If you add the blue and red signal together you’d get a zero signal. So if you mix the inverted noise with the noisy signal as received you’ll recover the original signal.

Recovered

Of course reality is different and the recovered signal won’t be as clean as that. Also if you don’t match the noise and main signal amplitudes properly, you’d then get something like this.

Recovered loud

These charts were made with MATLAB using this script.

X-Phase QRM Eliminator

I bought an X-Phase QRM eliminator a while back, tried it out with a receiver and was quite impressed with its performance. It’s only recently that I’ve connected it to a transceiver because without care it is easy to damage the unit when transmitting.

QRM eliminators have been around for many years. I was recently looking at an old Practical Wireless from 1989 and S.E.M. were selling one then in the adverts at the back of the magazine. (And, yes, we used dots in abbreviations back then). If you were to be picky you might say it should be called a QRN eliminator, but it isn’t. I quite like the idea of an actual QRM eliminator though I’m not sure how you could implement it. 

Advert for QRM Eliminator

A QRM eliminator works like this: signals from the main aerial are mixed with signals from a noise aerial. The signals from the noise aerial can be shifted in phase. The idea being that you mix the main signal with the noise signal 180º out of phase. If the signals are the same you’ll just get a zero signal. But if the main signal comprises a good signal and some noise signals and the noise signal is predominantly the noise signals, you’ll end up with just the good signal. Of course, to make this work you need to be able to make the noise signals from the main and noise aerials be the same amplitude so the QRM eliminator has controls to adjust the gain of each. As you want the signals to be 180º out of phase there is also a control to adjust the phase.

front of X-Phase

The three blue knobs in the photo are these controls.

There are several QRM eliminators on the market. I got mine from Poland on eBay from the seller urbania2. The unit is solidly built in a neat aluminium box with pleasant to use control knobs and strong connexions on the back. 

The instructions are in a quaint mixture of Polish and English but I found them understandable enough as a circuit diagram is included.

I have done some quick tests on 20m with the unit and it seems to be able to reduce the background noise by about 3 S-points as shown on my TS590S transceiver. I also made some measurements using received FT8 signals. This showed an increase of about 4dB in the signal strength of CQ signals as reported by JTDX over 15 minutes with the QRM eliminator being on each even minute and off each odd minute. None of this testing was particularly scientific though. I was using a 4m length of loudspeaker wire as the noise aerial, just lying on the floor of the shack.

connexions at back of TS590S

I mentioned that it’s easy to damage the unit when transmitting. It has three wires. Red and black are for the DC supply, and the yellow wire is for the PTT. When grounded the eliminator passes the main signal straight through avoiding the damage.

This Is how I connected my TS590S. The EXT-AT connector on the TS590S provides a nominal 13.8V DC. So I used pins 1 and 6 to power the Eliminator. I got the EXT-AT plug from an eBay supplier asia_uk.

TS590S EXT AT Connection

The remote connector on the TS590S isn’t particularly well documented, but connecting the yellow wire from the Eliminator to pin 4 works, but only if menu 53 on the TS590S is set to 2. Pin 2 on the remote connector, the common terminal needs to be grounded so I connected it to pin 3 on the EXT-AT seeing it was spare. I got the required 7-pin DIN plug from RS Components.

TS590S Remote Pinouts

SignaLink Jumpers for FT290R

Here’s how to set the jumpers in a SignaLink USB when connecting a Yaesu FT290R.

FT290R Front

I found the jumper instructions on the Tigertronics website just a little too general, so this may save some time.

WARNING: I now think these are wrong. Please see my post of 27th July 2021.

Signalink jumpers for FT290R IMG 1043

The SignaLink works fine with PocketPacket on a Mac mini. ‘Use Vox for PTT’ was set in the PocketPacket Audio Modem preferences. The SignaLink delay knob was turned fully anticlockwise.

Using this setup I could receive and decode signals from a local packet test GM7RYR-10. I transmitted to the ISS packet digipeater but didn’t see any of my packets digipeated. However, I received my packets locally on my Yaesu FT60 and decoded them on a Raspberry Pi via Direwolf by WB2OSZ and Xastir.

PTT for FT290R

I bought an FT290R (thanks Bob!) a few months back and have finally got around to trying it with packet. The PTT circuit I used for the FT60 Raspberry Pi 3B+ works fine so all it needed was to connect up a plug for the front socket as shown here.

Scribbled Pinout

I tested it with Direwolf and Xastir and it seems to work fine. Here’s an audio clip FT290R Packet Audio.flac of a packet being sent from the FT290R. I recorded it using Audacity from my Alinco DJ-C6.

I had hoped that the extra power (25W) from the FT290R would allow the ISS to hear my packets but I’ve had no joy in the couple of passes I’ve tried so far. I can hear packets fine, but the ISS doesn’t digipeat the ones I’ve sent. I changed the APRS path to just ‘ARISS’ having read this aprs.fi blog but that didn’t help either. Perhaps the ISS needs to be at a higher elevation. Or perhaps my rather ramshackle Cebik Moxon aerial needs tweaked.

Cebik Moxons, SDRplay and satellites

There was a pass of the AO-91 satellite over my location today and I listened to the ham radio operators operating through it.

I used my home-built Cebik Moxon aerials which are located in my attic and the nice SDRplay RSP2.

Cebik Moxon in attic

Here’s a screenshot of SDRuno displaying the AO-91 signals for those of you who don’t think the Doppler effect is real.

Doppler on Waterfall

You can easily see the received signal changing frequency as the satellite hurtles past.

This is what it sounds like. 

AO-92-12.09-Wednesday-May-8-2019-20190508-1209.m4a

It was recorded using Audio Hijack Pro from a Microsoft Remote Desktop session of SDRuno on a Dell XP workstation. Apologies for the over-driven audio — I was concentrating on receiving rather than recording.

SDRplay Macs and Linux

The Good News

I bought an SDRplay RSP2 recently and have been enjoying using it a lot. The RSP2 has three antenna connections and covers from 1kHz to 2GHz. It is amazingly good value. SDRplay provide a nice receiver application called SDRuno. The SDRplay website has links to reviews of the RSPs and they must be pleased with them.

RSP2

The Bad News

My shack is full of computers accumulated over the years. However, as far as Microsoft Windows machines are concerned I only have an ageing Dell Precision 380 running Windows XP and a VirtualBox VM on a Mac Mini running Windows 10. My W10 VM isn’t fast enough for SDRuno and the audio stutters. The XP machine is usable as long as the sample rate is kept low and you decimate a lot.

On Macs and Linux computers SDRplay only provide an API/HW Driver, although they do provide a full image to boot a Raspberry Pi from. The software for Mac and Linux is CubicSDR which just about does the job but does not have all the features of SDRuno. I prefer GQRX  and have managed to get it working on macOS but the Hi-Z antenna connexion only works intermittently. It’s all quite unsatisfactory. It’s frustrating to have such good hardware spoilt by the lack of easy-to-install software. You get sucked into handling a morass of libraries with differing versions and it’s time-consuming if not impossible to find out which versions you need to use.

The Raspberry Pi image works well as long as you connect an HDMI display. I prefer to run my Raspberry Pi through Microsoft Remote Desktop so I don’t have multiple monitors, keyboards and mice on my desk. But with Microsoft Remote Desktop CubicSDR does not display well at all.

I only hope that SDRplay comes out with SDRuno on other platforms other than Windows. 

In Other News…

So I’m currently using the Dell XP computer with SDRuno run through Microsoft Remote Desktop as the best solution for me, even though it isn’t supported. Don’t worry, my insecure Dell XP is only connected to my LAN and is not connected to the Internet.

The blue arrow points to the low sample rate and high decimation needed on the Dell XP.

Screen Shot 2019 05 08 at 15 17 58

But it works well enough, it just doesn’t use the capabilities of the RSP2.

Screen Shot 2019 05 08 at 15 18 16

SDRplay Safety

 

I bought an SDRplay RSP2 SDR recently. I had been looking for a multimode VHF/UHF transceiver but couldn’t find one within my budget. The transceivers that get listed on eBay go for silly prices and I’m not sure I want to pay the asking price for a new model. 

So I’ve decided to concentrate on receiving signals from satellites rather than transmitting, hence the purchase of the RSP2.

One of the specs of the RSP2 is the maximum signal it will tolerate at its aerial inputs. It says 0dBm which by my calculations says the voltage at the input must be under 0.22 Vrms to be safe. This sent alarm bells ringing as my Cebik Moxon aerials share the same attic as my small transmit loop aerial.

So I made some measurements.

I measured the voltage seen in the shack from the Cebik Moxons when transmitting 10W to the magnetic loop. The measurements were on my HP 54615B scope with a 50Ω termination.

No RF 800µV
TS590S tune (10W) 191mV at 14.2 MHz
TS590S tune (10W) 288mV at 7.07 MHz

So my RSP2 is unsafe in its current location and configuration. I must not transmit using my HF rig if I have the RSP2 connected to my Cebik Moxon aerials.

My first thought was to put a high pass filter on the Cebik Moxons to block 6m and below. I’m sure this would work but there would be some insertion loss.

But I have an Moonraker M-100 masthead preamp which has a 24-2300 MHz filter. This wouldn’t block 10m and 6m, but I don’t transmit on those bands using the small transmit loop and if I did the radiated power would be quite small as the impedance mismatch would be high.

So I made some more measurements with the M-100 in the shack. I know these won’t give the same effective gain at the receiver as measurements made with the M-100 in the attic, but it’s close enough for a start. The dial on the M-100 is laughable as the gain you get at each position bears only a passing relationship to the actual gain. The most you can say is the more clockwise the dial the higher the gain. Hence the ‘on dial’ below.

• Zero gain (on dial)
No RF 18mV
10W 14.2MHz 32mV
10W 7.07MHz 39mV

• gain +10 (on dial)
No RF 18mV
10W 14.2MHz 25mV
10W 7.07MHz 53mV

• gain +20 (on dial)
No RF 19mV
10W 14.2MHz 559mV
10W 7.07MHz fuzzy on the scope so I assume the signal is distorted somehow

• gain at 12 o’clock
No RF 18mV
10W 14.2MHz 50mV
10W 7.07MHz 16mV

This looks promising as the preamp gain should be set to just retrieve the loss from the cable and this should end up being 12 o’clock or lower.

The next step is to install the M-100 in the attic and re-measure. I’ll probably use a bias-tee arrangement so I can power it from the shack.