I’ve been making a few improvements to my QO-100 Node Red Dashboard whilst waiting for the 2.4Ghz hardware to arrive. I’ve added the ability to split the RX and TX VFOs so that I can tune away from the TX frequency for working split stations or for tuning to slightly off frequency stations. I also added a series of tuning buttons to the top of the GQRX side of the dashboard to enable easy tuning using the trackball connected to my Kubuntu PC. This worked well but, I really missed having a real VFO knob like a conventional radio.
As I had a Griffin Powewrmate USB VFO from a previous SDR radio I added it to the flow as well so that I had a physical VFO knob for the SDR receiver. Details on how I got it working using evtest and a simple BASH script are in the Griffin Powermate article.
M0AWS QO-100 Node Red Dashboard Flow
The Node Red flow is looking a little busier with the addition of split mode and the Griffin Powermate USB VFO which has really enhanced the useability of the solution. It’s very impressive what can be achieved with Node Red with a little imagination. You really don’t need to be a heavy weight programmer to make things work.
M0AWS QO-100 Node Red Dashboard as of 07/06/23
I also put together some code to calculate the S Meter reading from the dBFS data the GQRX SDR software generates. It’s not 100% accurate but, it’s close enough to be useful.
On the IC-705 side of the Dashboard I also now display the 2.4Ghz uplink frequency so that it’s available for logging.
So with the QO-100 Dashboard ready to go live I have now started putting together the 2.4Ghz transmit path of the ground station. I have the 2.4Ghz transverter and matching 12w amplifier from DXPatrol, the IceCone Helix 2.4Ghz antenna from Nolle Engineering, some LMR-400-UF and connectors from Barenco and an appropriate water proof enclosure from Screwfix to fit all the kit into however, I’m now being held up by one simple little SMA male to SMA male connector that I need to connect the transverter and amp together.
M0AWS Waterproof enclosure from ScrewfixM0AWS Laying out the 2.4Ghz TX kit in the enclosureM0AWS LMR-400-UF coax from Barenco
The SMA connector has been ordered but, is taking a month of Sundays to arrive! Hopefully it’ll arrive soon and I’ll finally get on the QO-100 satellite and start enjoying the fun.
I’ve been gradually building my QO-100 ground station over the last few months and have had the receive path working for some time now. One of the things I really miss with the Funcube Dongle Pro+ (FCD) SDR is a real VFO knob for changing frequency.
My QO-100 Node Red dashboard is configured so that I can have the FCD track the uplink frequency from the IC-705 but, sometimes I use the FCD without the IC-705 in the shack and so a physical VFO would be handy.
Many years ago when I lived in France (F5VKM) I had a Flexradio Flex-3000 SDR, a great radio in it’s time and one that gave me many hours of enjoyment. One addition I bought for that station was a Griffin Technology Powermate VFO knob. It worked extremely well with the PowerSDR software for the Flex-3000 and I used it for many years.
Many years later I’m back in the UK and much of my equipment is packed away in the attic, including the Griffin Technology Powermate VFO.
I decided to dig it out and see if I could get it working with GQRX SDR software. Sadly I couldn’t get it working with GQRX however, I did find a way of getting it working with Node Red and thus could add it to my QO-100 Node Red Dashboard and then control GQRX with it via a simple Node Red flow.
Griffin Technology Powermate VFO
Plugging the Powermate VFO into my Kubuntu PC it wasn’t immediately recognised by the Linux O/S. After a little searching I found the driver on Github. I added the PPA to my aptitude sources and installed the driver using apt.
Once installed the default config for the Powermate device is to control the default audio device volume. To make the device available for use as a VFO knob you need to change the configuration so that the default setting is disabled. To do this is relatively easy, just edit the config file using your favourite command line editor (Vi/Vim in my case) and add the following entry.
vi /etc/powermate.toml
# Entry to control HDMI volume with Powermate
#sink_name = "alsa_output.pci-0000_01_00.1.hdmi-stereo"
# Set powermate not to work with volume control
sink_name = ""
As shown above, comment out the default “sink_name” entry (Yours may be different depending on audio device in your PC) and add in the Powermate “sink_name” entry that effectively assigns it to nothing.
Once this is done, save the file and exit your editor and then reboot the PC.
Next you’ll need to install a small program called evtest.
sudo apt install evtest
To check the evtest program has installed correctly, plugin your Powermate VFO to any available USB port and run the following command in a terminal.
evtest /dev/input/powermate
Turning the Powermate knob you should see output on the screen showing the input from the device. You should also see BTN events for each press of the Powermate device.
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x77d product 0x410 version 0x400
Input device name: "Griffin PowerMate"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 256 (BTN_0)
Event type 2 (EV_REL)
Event code 7 (REL_DIAL)
Event type 4 (EV_MSC)
Event code 1 (MSC_PULSELED)
Properties:
Testing ... (interrupt to exit)
Event: time 1685816662.086666, type 2 (EV_REL), code 7 (REL_DIAL), value -1
Event: time 1685816662.086666, -------------- SYN_REPORT ------------
Event: time 1685816662.318638, type 2 (EV_REL), code 7 (REL_DIAL), value -1
Event: time 1685816662.318638, -------------- SYN_REPORT ------------
Event: time 1685816662.574615, type 2 (EV_REL), code 7 (REL_DIAL), value -1
Event: time 1685816662.574615, -------------- SYN_REPORT ------------
Event: time 1685816663.670461, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1685816663.670461, -------------- SYN_REPORT ------------
Event: time 1685816664.030421, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1685816664.030421, -------------- SYN_REPORT ------------
Event: time 1685816664.334389, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1685816664.334389, -------------- SYN_REPORT ------------
Event: time 1685816665.334255, type 1 (EV_KEY), code 256 (BTN_0), value 1
Event: time 1685816665.334255, -------------- SYN_REPORT ------------
Event: time 1685816665.558230, type 1 (EV_KEY), code 256 (BTN_0), value 0
Event: time 1685816665.558230, -------------- SYN_REPORT ------------
Event: time 1685816666.030161, type 1 (EV_KEY), code 256 (BTN_0), value 1
Event: time 1685816666.030161, -------------- SYN_REPORT ------------
Event: time 1685816666.182151, type 1 (EV_KEY), code 256 (BTN_0), value 0
Event: time 1685816666.182151, -------------- SYN_REPORT ------------
At this point you’re ready to stop evtest (CTRL-C) and then create the following little BASH shell script that Node Red will run to collect the O/P from the Powermate USB device.
#!/bin/bash
###############################################
# Griffin Technology Powermate control script #
# for Node Red. #
# #
# 04/06/23 - M0AWS - v0.1 #
# #
###############################################
VAL="1"
echo "STEP-1Hz"
/usr/bin/evtest /dev/input/powermate | while read LINE
do
case $LINE in
*"(REL_DIAL), value 1") echo "$VAL"
;;
*"(REL_DIAL), value -1") echo "-$VAL"
;;
*"(BTN_0), value 1") case $VAL in
"1") VAL="10"
echo "STEP-10Hz"
;;
"10") VAL="100"
echo "STEP-100Hz"
;;
"100") VAL="1000"
echo "STEP-1Khz"
;;
"1000") VAL="10000"
echo "STEP-10Khz"
;;
"10000") VAL="1"
echo "STEP-1Hz"
;;
esac
;;
esac
done
Once the BASH script is copied and pasted into a file called powermate.sh you need to make it executable by using the following command.
chmod 700 ./powermate.sh
If you now run the shell script in a terminal you’ll see a similar output to that shown below from the device when used.
As you can see above the shell script outputs a positive or negative number for VFO tuning and changes the VFO step size each time the Powermate is depressed.
Getting this output from the BASH shell script into Node Red is really simple to achieve using just 3 or 4 nodes.
In the Node Red development UI create the following nodes.
Griffin Powermate Node Red Nodes
The first node in the flow is a simple inject node, here I called it trigger. This sends a timestamp into the next node in the flow at startup to set the flow running.
The Griffin Powermate node is a simple exec node that runs the script we created above.
M0AWS Powermate exec node
Configure the node as shown above and connect it to the inject node that’s used as a trigger. Note: Change “user” in the Command field shown above to that of your username on your Linux PC)
Once done create the third node in the flow, a simple switch node and configure as shown below.
Switch Node for Powermate
The switch node has two outputs, the top one is a text output that is fed into a text field to show the current step size of the Powermate device and the lower output is the numeric output that must be fed into your VFO control flow so that the VFO value is incremented/decremented by the amount output by the Powermate device.
I’ve found the Griffin Technology Powermate USB device works extremely well with Node Red and GQRX that I use for controlling the FCD SDR radio and it’s now part of my QO-100 ground station build.
M0AWS QO-100 Dashboard with Powermate Step Display at bottom
As shown above you can see the Powermate Step size at the bottom of the dashboard, this text changes each time the Powermate device is depressed and will set a step size of 1Hz, 10Hz, 100Hz, 1Khz, 10Khz in a round-robin fashion.
The next stage of the build is the 2.4Ghz transmit path. I now have all the necessary hardware and so this part of the build can finally commence.
Over the long bank holiday weekend I started putting together my QO-100 ground station. To start with I’ve concentrated solely on the receive path. I’ll start the transmit path once I have the receive path operational at a satisfactory level.
A few weeks ago I purchased a 1.1m off-set dish antenna and a Bullseye LNB. These have been sat in my garage waiting for the weather to improve so that I could start the build in the dry.
QO-100 Dish MountThrough wall bolt
Fortunately we’ve had a mini-summer for the last 2 days and so I started work on getting the dish mount built. Using some timber from the local saw mill I made a braced 3m tall post which I screwed to the side of the cabin to provide a stable fixing platform. I used a couple of threaded bars to bolt through the walls of the cabin to ensure a solid fixing.
Next I mount the metal dish bracket to the top of the wooden post taking the total height up to around 3.2m above ground. This gives plenty of head clearance down below.
Next I assembled the dish and and attached it to the metal dish bracket at the top of the wooden post.
QO-100 1.1m dish mounted on the 3.2m AGL fixing
Attaching and cabling the Bullseye LNB was an easy job. I used some high quality coax cable that I purchase from the Satellite Superstore when I purchase the dish. I also had to set the LNB skew to -17.8 degrees. The marking on the LNB are tiny and go up in fives and so it’s pretty much impossible to get exactly -17.8 degrees so I turned it to 15 and then a tiny bit. It was as close I could get it!
Next I needed the information on where to point the dish. Fortunately there is a great web app on the BATC website where you can move a pin on a map to your location and all the information you need to align the dish is automagically calculated for you.
Armed with this info I set about aligning the dish. Getting it as close as possible I lightly locked off the dish and continued getting the coax in to the radio room so that I could connect it to my Funcube Dongle Pro+ (FCD) SDR receiver. Since the LNB needs a 12v DC feed I had to put inline a “Bias Tee” unit. This unit allows you to inject 12v onto the coax going up to the LNB but, stops it from coming back into the receiver. I used a Bias Tee that I purchased from Amazon with the Bullseye LNB.
Bias Tee mounted under the station desk
Connecting the coax to my Funcube Dongle Pro+ I was really pleased to see that I was receiving signals from the satellite perfectly well. I decided to take my laptop up onto the roof of the cabin and see if I could improve the reception further. To my amazement with very tiny changes in elevation and azimuth I was able to improve the QO-100 beacon signal by a further 10dB.
Being pleased with the dish alignment I started to tighten it so that it couldn’t move in the wind. Unfortunately this caused the dish to move a tiny amount which reduced the signal strength. I loosened the bolts off again and realigned the dish once more. This time when I tightened the clamps I did it a bit at a time on each bolt working my way round them so that the dish didn’t move. Doing it this way I still lost 1dB off the QO-100 beacon signal due to tiny amounts of movement but, decided I could live with the 1dB reduction.
QO-100 dish successfully mounted & aligned with HF antennas in the background
Below is a very short video clip showing a German station talking on the QO-100 satellite. As you can see the signal is nice and strong and extremely clear. I did find that the output from the LNB was actually too much for the FCD SDR and so I reduced the LNA setting in GQRX to 0dB. This reduced the background noise level considerably as the receiver was no longer being overloaded and made the signals much more prevalent above the noise floor.
Short video clip showing signal clarity from the QO-100 Satellite
I’m really pleased at the performance of the receive path and have now ordered the 2.4Ghz hardware from DXPatrol and Nolle Engineering so that I can build the transmit path.
I have also made some improvements to my QO-100 Node Red Dashboard so that I can work split on the satellite using my IC-705 and FCD SDR.
QO-100 Node Red Dashboard with ‘Split’ capability
Once the 2.4Ghz hardware arrives I’ll update the blog with progress.
I’ve been chatting a lot recently on Matrix about antennas for the amateur satellites.
Since I’m currently working on building a ground station for the QO-100 satellite a group of satellite enthusiasts having been talking about the other satellites that are in orbit around this little planet of ours.
The ISS FM voice repeater on 145.990Mhz is very popular and is one of the easiest satellite stations to get into apparently. Many are using Eggbeater antennas to get an all round radiation pattern.
I’ve never looked into building or modelling such antennas and so I decided to have a go at modelling one and use it as an opportunity to see how it works.
All the modelling has been done with the antenna at 5m above ground level.
2m Band Eggbeater satellite Antenna with 8 Radials
Each loop has a circumference of 2.17m and each of the 8 radials is 0.5425m long and 5cm below the eggbeater elements. I’ve modelled the antenna using 5mm diameter conductors as this should make them resistant to wind etc. I am planning on using 5mm copper tubing for the build.
2m Band Eggbeater Satellite Antenna 3D Far Field Plot
The 3D far field plot shows a typical radiation pattern for such an antenna with a very good low angle gain for working satellites on the horizon and multiple high gain lobes as the radiation angle increases. At 5 degrees the RF is horizontally polarised, ideal for shooting directly out at the horizon. This is mainly due to the phasing of the two elements. At the higher angles the RF is vertically polarised thus giving the ability to receive both horizontal, vertical and some circular radiation at a good range of angles. There is however, a very slight null directly above the antenna and so signals to satellites directly above will be attenuated slightly compared to the other two high angle high gain lobes. This will also be the case on receive.
2m Band Eggbeater Satellite Antenna 2D Far Field Elevation Plot
With 5.42dBi gain at 5 Deg this antenna has a real good shot at the horizon with the maximum gain of 6.65dBi being at the much higher angle of 65 Deg. Overall this antenna should work well for all satellites from the horizon up to almost directly above the antenna.
2m Band Eggbeater satellite Antenna SWR Curve
With an SWR of 1.5:1 across most of the 2m band this antenna will match perfectly to 50 Ohm coax feed. It’s really important to remember that when building this antenna the loops must be fed with a phase angle difference of exactly 90 degrees. If this isn’t accurate then the radiation pattern is affected quite drastically and spoils the overall performance of the antenna.
Details on how to create the 90 Degree phase shift between the two elements using 2 pieces of 50 Ohm coax can be found in the excellent article by ON6WG.
Over the years I’ve built many multi band vertical HF antennas including multi-element quarter wave verticals like the DXCommander configuration, multiple end fed vertical dipoles all on the same pole and a host of other configurations. As with all multi band antennas there’s always a compromise, on some bands it performs well and on others it doesn’t, it’s the nature of the beast.
For some time now I’ve been using a multi band vertical antenna that has over the last year performed incredibly well on all bands from 80m to 10m. Don’t get me wrong, it’s not perfect however, it has out performed every other multi band HF vertical I’ve tried to date even though it’s by far the simplest antenna design and according to the antenna modelling software I have it shouldn’t be as good as it is.
So what is this magical multi band HF vertical I speak of? Well it’s nothing more than a piece of wire 13.4m long taped up a 12.4m vertical Spiderpole with 1m of wire tucked down into the top of the Spiderpole.
Obviously this is not going to be resonant on any band without some sort of impedance matching circuit at the bottom of the wire. Originally this antenna was my end fed half wave vertical antenna for the 30m band that was fed via a 49:1 Unun. This antenna worked incredibly well on the 30m band allowing me to work DX globally with ease but, it was a single band antenna and I wanted a multi band solution.
I decided to remove the 49:1 Unun and replace it with a home brew LC circuit made up of a coil made from 5mm copper tubing and a large air spaced variable capacitor I had laying around from an old ATU project I built many moons ago.
This simple LC arrangement at the bottom of the wire worked incredibly well and tuned the wire from 80m to 10m with a perfect SWR on each band using nothing more than a ground rod and 4 x 12m radials. Performance was surprisingly good on all bands 80-10m giving me the ability to get some DX stations that I’ve never been able to hit before. The only drawback to this solution was the fact that I had to go out and manually tune the antenna every time I wanted to change band. Not so much of a problem in the summer but, in the winter in the pouring rain and howling wind it’s no fun at all. (I resolve this issue further down in the article!)
Multi Band Vertical HF Antenna using a 12.4m Heavy duty Spiderpole at the end of the garden
Performance on the HF bands is incredibly impressive with this antenna. Modelling it on EzNEC software it shouldn’t be that great on bands above 20m however, it seems to defy the modelling software as it performs amazingly well on 17m, 15m and 12m, better than any other vertical antenna I’ve made for those bands. How this can be I do not know, normally my antenna builds match closely what the modelling software shows but, in this instance it doesn’t and I’ve really no idea why.
Multi Band Vertical HF Antenna showing loop at top and wire tucked down into pole
Always wanting to put things into perspective here’s some details of the contacts I’ve made on each band showing how well this antenna has performed over the last year or so.
Firstly the 80m band, I’ve not used this band much over the winter months as I’ve got into the higher bands however, the map below shows all the stations worked on 80m using this antenna.
Stations worked on the 80m band from the M0AWS QTH
There are 51 contacts in total, not a big number by any means however, there are some good distances made with contacts into North America, South America and Indonesia. I’m sure I could had done better if I’d spent more time on this band, something to aim for next winter perhaps.
Next is the 60m band, a band I really like and have enjoyed over the winter months. The antenna performs incredibly well on this band even though we have very limited access to 60m here in the UK. With 288 contacts in the log with a good spread of distances I’m really pleased with how this antenna performs on this band.
Stations worked on the 60m band from the M0AWS QTH
Moving up in frequency the 40m band is the next one on the list, this is a great band and one that I’ve loved for many years. I’ve spent countless hours on CW on this band in the past and worked some great DX. The performance of this antenna on the 40m band is excellent, if I can hear the DX normally I can work them regardless of where in the world they are located. With 226 contacts in the log spread globally over the winter here in the northern hemisphere I have no complaints about performance of this antenna on the 40m band.
Stations worked on the 40m band from the M0AWS QTH
Moving up onto the 30m band I have to admit this is probably my favourite band of all. I’ve spent so many hours on CW working some of the best fists I have ever heard on the air I’ve grown to love this band not just for the DX available but, for the quality of operator found on this narrow piece of the RF spectrum. Needless to say since the antenna is a half wave on the 30m band performance is stunning, out performing any other 30m band antenna I have ever made. It’s even better than the 30m Delta Loop antenna that I built and used when I lived in France.
With 467 contacts in the log on the 30m band you can tell this is my goto band and one that offers access to some of the best DX in the world.
Stations worked on the 30m band from the M0AWS QTH
The 20m band is a band that I never really used until I moved back to the UK from France. Living in France I had acres of land and so I was very much into the low bands, 160m to 30m and never ventured above this part of the spectrum. Now living back in the U.K. with a typical U.K. sized garden the low bands are much more difficult to get onto and so my interests have moved up in frequency somewhat.
Getting onto the 20m band I was amazed at how easy it is to work DX stations compared to the low bands, it’s simply a case of if you can hear them you can work them, there’s no real challenge to be honest. Because of this the band is always super busy with people shouting over the top of each other to get the DX. Not to be put off, I’ve made a surprising 412 contacts on 20m covering the globe. This antenna works incredibly well on this band and you really don’t need anything else to work DX on 20m.
Stations worked on the 20m band from the M0AWS QTH
Next is the 17m band, one of the WARC bands that I’ve never really ventured onto until now. I have to admit I really like this band, when it’s open it’s normally open to the world all at the same time. With an almost undetectable background noise level you can hear the faintest of signal on this band. This is one of the bands that according to the EzNEC modelling software this antenna shouldn’t be any good on but, I have to say that it’s performance is beyond anything I ever imagined. I’ve worked my longest distance yet on this band and with this antenna, ZL4AS at 11776 miles, a distance I haven’t achieved yet on any other band. The 17m band really is a great band, I’d actually say it’s better than the 20m band even though there is considerably less spectrum available. With 220 contacts in the log it’s been a fun band to use.
Stations worked on the 17m band from the M0AWS QTH
Continuing the theme of the WARC bands, the 15m band is another one that I’ve only discovered in the last 12 months. It’s only now that I realise what I’ve missed out on due to my addiction to the low bands for so many years.
I’ve only made 76 contacts on the 15m band, not a lot at all really. This is mainly due to the fact that I get easily side tracked by the 17m and 30m bands most of the time and the radio VFO never gets as far as 21Mhz. Performance of the antenna is good on 15m, I would say not as good as on the 17m band but, it’s no slouch by any means.
As you can see on the map below, I may of only made 76 contacts on the 15m band but, they are spread right across the world proving that this antenna’s DX-ability on 21Mhz really is rather good.
Stations worked on the 15m band from the M0AWS QTH
Finally we arrive at the top of the WARC bands, the little 12m band. Once again this band is very much like the 17m band, super low background noise level, when it’s open you can work huge distances with very little power but, often there is quite deep QSB that can make getting that elusive DX a bit more challenging.
With only 66 contacts in the log once again I’ve not spent a huge amount of time on this band but, it hasn’t disappointed. With global coverage from this antenna on 12m once again I am astounded at how well it works. With software modelling saying it should be terrible on 24.9Mhz with nothing but super high angle radiation, it really shouldn’t be a good antenna for DXing on this upper WARC band but, it is and I have no idea as to why!
Stations worked on the 12m band from the M0AWS QTH
Finally we arrive at the 10m band, another band that I have never got into even though many refer to it as the magic band. This is the band that I’ve made the fewest contacts on, not because the antenna doesn’t work at the dizzy heights of 28Mhz but, because I hardly ever get the VFO dial past the lower bands due to the level of DX available. I really should make more effort to get the best out of the 10m band, especially now the summer is coming.
With a measly 19 contacts in the log I should be ashamed of myself for not doing more on this band as it is very often open and busy with traffic. Since I’ve not really used the antenna that much on the 10m band it’s hard to say how well it performs however, I have had contacts into North and South America and so it shows potential.
Stations worked on the 10m band from the M0AWS QTH
As you can see, the performance of this antenna is self evident from the log entries, it works superbly even though the modelling software says it shouldn’t above 14Mhz. This is now my main antenna here in the U.K. and I’ve only made one change to the initial setup and that is to add a CG3000 remote auto ATU to replace the home-brew LC tuning circuit.
CG3000 Remote Auto ATU housed in a plastic box
With the CG3000 auto ATU in place I no longer have to venture out into the cold, wet garden in the winter months to change band, it’s just a case of sending a continuous 10w signal into it and leaving it to tune in less than 2 seconds. The CG3000 is a Pi Network ATU so it handles both high and low impedance loads with ease. A Pi Network ATU is one of the best you can have, I’ve made my own in the past and had excellent results.
So in summary, 13.4m of wire vertically up a 12.4m pole with 4 x 12m radials, a ground rod and a CG3000 Auto ATU will give any HAM station the ability to work DX on all bands from 80m to 10m without ever having to leave the shack to tune it.
Since I got the CG3000 off of Ebay for a bargain £170 and the 12m heavy duty Spiderpole for under £100 the total cost of the antenna is considerably less than many commercial offerings available and yet performs as well if not better.
If you want to get this antenna onto the 160m band then you just need to add a small coil into the mix at the bottom of the wire to increase the inductance in circuit. The CG3000 will then happily tune the entire 160m band. It’s best to remove this coil though for all the other bands otherwise performance is reduced.
Please be aware that the performance of this antenna will not be anywhere near as good if you use the ATU in your radio at the end of a coax run. This is because the coax becomes part of the antenna and the radiation pattern is all but destroyed. You will be extremely disappointed if you use the antenna in this fashion. The ATU must be at the end of the wire and connected directly to ground and the radials to get the performance that I have experienced.
Finally, if you have an Icom IC-705 and AH-705 remote auto ATU you can use the AH-705 ATU in place of the CG3000, you will get the same results as I have with the CG3000.
I have used my AH-705/IC-705 combo quite a few times with this antenna with excellent results although, the big antenna can sometimes result in the receiver of the IC-705 getting overloaded especially on the lower bands. This is easily resolved by reducing the RF Gain on the radio.
I’ve now completed the GQRX Receive and Icom IC-705 Transmit dashboard in Node Red. It was a fun project to put together and needed some javascript coding to get the functionality I wanted but, I got there in the end.
M0AWS QO-100 GQRX/IC-705 control dashboard
The dashboard looks fairly simple but, there is a lot behind the scenes to get it to this stage.
On the left is the Icom IC-705 transmit control panel. It shows the transmit frequency, power output and SWR reading. The SWR is so that I can check that the input into the 2.4Ghz transverter doesn’t have any connectivity issues. The “S0” will actually display the S Meter reading when the IC-705 is being used as a normal transceiver rather than being in QO-100 Duplex mode as shown above where the GQRX app and Funcube Dongle SDR are being used as the receiver.
The GQRX side of the dashboard shows the downlink frequency which tracks the uplink frequency of the VFO on the IC-705. This will ensure that the Funcube Dongle Pro+ SDR receiver will always be on the correct downlink frequency relative to the uplink frequency, thus I should always be able to hear my own signal coming from the QO-100 satellite.
Once taken out of QO-100 mode the two radios can be used independently on any of the HAM bands and can be switched using the buttons on the dashboard.
I also coded in a simple memory facility where a frequency can be stored in Node Red and recalled later on both the transmit and receive sides.
Looking at the dashboard it all looks simple and straight forward however, if you look at the Node Red flow it becomes obvious that this isn’t the case.
QO-100 Dashboard Flow in the Node Red Editor (Click for larger image)
There’s a lot to the flow to get the information from the receiver and transmitter so that it can be presented on the dashboard. There’s also some code to convert between Rigctl protocol used by the GQRX application and XMLRPC used by the IC-705 via FLRig and WFview. I had to also code around a bug in the Node Red XMLRPC node whereby you have to add 0.1 onto the VFO frequency for it to be passed onto the radio otherwise the information is never sent. This was a real pain of a bug to find but, with a little experimentation I found the problem and managed to code around it. The strange thing about this is that the 0.1 added onto the frequency isn’t actually passed onto the radio via the XMLRPC node, it just has to have that on input otherwise it doesn’t work at all. A very strange bug and hopefully one that will be fixed by the node developer in future releases.
All that is left to do now is add the temperature sensors dashboard to complete the dashboard. These haven’t arrived yet and so I’ve not been able to create the necessary flow to collect the data from them.
Hopefully this coming week the weather will improve and I’ll start getting the dish antenna up and the get the receive side working.
UPDATE: Further development of my QO-100 Dashboard has taken place, you can read all about it here.
Whilst I’ve been waiting for the weather to improve so that I can get my QO-100 dish antenna up I’ve been working on my QO-100 Node Red dashboard.
The idea of the dash board is to bring together the operating of the receiver and transmitter into one control centre so that the two separate devices are able to communicate and behave as if they were actually one device, like a transceiver rather than being individual components.
Ideally I would like to have the transmitter and receiver talking to each other such that when the VFO on the transmitter is incremented/decremented the receiver VFO also moves by the same amount.
By doing this the receiver VFO should always be in the right place on the 10Ghz band to hear my 2.4Ghz uplink signal and of course, any station coming back to my CQ calls.
So far I’ve only been working on the receive part of the Node Red flow, it’s certainly been a lot of fun getting it put together.
I control my Funcube Dongle Pro+ (FCD) using GQRX SDR on my Kubuntu PC. This software is working extremely well with the FCD and I’m happy with the level of functionality it offers.
GQRX SDR has the ability built in to control the SDR via remote TCP connection using RIGCTL protocol. Currently there isn’t a RIGCTL node available for Node Red so I have written a number of Javascript function nodes that provide the appropriate functionality in conjunction with a standard Node Red TCP node. This is working extremely well on the local LAN in the radio room and is proving to be very stable and responsive.
M0AWS QO-100 Node Red Flow – Receive Section
The flow for the receive section of the dashboard looks fairly complicated but, in reality it’s really not too difficult to get to grips with. The receive flow provides the facility to switch bands, switch modes, change receiver filter band width, display a realtime signal strength meter, receive +/- clarifier in 10/100/1000Hz increments and put the receiver into QO-100 mode where the SDR VFO is tuned to 739.550Mhz whilst the dashboard VFO shows the QO-100 downlink frequency in the 10Ghz band. This is all working very well and I’m happy with the initial result.
M0AWS QO-100 Receive Dashboard in QO-100 mode
I now need to start work on the transmit side of the QO-100 dashboard and get communications between my IC-705 transceiver and the FCD SDR working via Node Red. This could be a little more challenging as it will involve communicating with the IC-705 via WFView over wifi.
For a couple of weeks now I’ve been playing with Node Red to add functionality to my digital mode applications.
To get to know how it all works I initially used Node Red to create a series of dash boards for my servers and virtual machines to show realtime information on CPU temperature, CPU load, memory usage and storage etc.
Node Red Flow to collect information from a virtual machine (VM)
This worked very well and I was soon able to generate the information I needed in a palatable format. This was a great way to get to know Node Red flow building and introduced me to using gauge and graph nodes in flows.
The resultant Node Red Dashboard for one of my Virtual Machines
Once I had mastered creating dashboards for servers/virtual machines (VMs) I then started to investigate using Node Red to plot data from WSJT-X on a map.
I currently use the PSKReporter website to see stations that I hear on a map as WSJT-X sends the data to the site automatically however, this information is always 5mins or more old. For some time I’ve been wanting to see the information realtime as it is received and so I was hoping to be able to achieve this via Node Red.
Node Red has nodes available for a multitude of applications all easily installed via the Manage Palette menu in the flow editor.
I installed the WSJT-X Decode and World-Map nodes and set about building a flow to capture the data and plot it on a world map.
Building a Node Red Flow to decode WSJT-X data and plot it on a World Map
Putting the building blocks of the flow together is fairly straight forward and easily achieved using the excellent flow editor built into Node Red.
I configured WSJT-X to make the decode data available via UDP on port 2237 and then started the flow by creating a UDP node that connects to WSJT-X using the same port. The data immediately started flowing and I could see the information via a debug node.
I can’t stress enough how useful debug nodes are in Node Red. You can add debug nodes onto any output on any other node to capture the data as it flows. This gives you the ability to check what you’re getting is what you expected and also to see the format the data is in. The debug data is displayed in the debug panel on the right of the flow editor in realtime and gives you a great view of what is going on in your flow.
I decided to start with capturing the data for stations calling CQ as this was easily identifiable in the JSON object coming out from WSJT-X.
Passing the output from the WSJT-X-Decode node into a switch node I added a rule that filtered out data containing “type: “cq” and passed it onto the next switch node that created a payload consisting of the station callsign, maidenhead grid square and type so that it could be passed onto the next node for processing.
The next node in the flow is a function, this is where it gets a bit tricky. To be able to plot data on the map we need the Lat/Lon coordinates of the station making the CQ call. Since WSJT-X uses maidenhead locator data I needed to convert this to Lat/Lon coordinates before passing the data to the map node to be plotted.
Since Node Red is written in Java all the functions have to be written in javascript. The problem here is that I am not a javascript programmer and so this meant I’d need to learn yet another programming language. Unfortunately Node Red doesn’t allow functions to be written in C, Rust, Go or Python, all languages that I know well and after retiring from over 40 years in the UNIX/Linux/IT world my enthusiasm for learning yet another programming language has wained somewhat.
Being so close to having a working solution I pressed on and after much head scratching I finally put together some javascript that converts the maidenhead locator information in to good old fashioned Lat/Lon coordinates. I’m sure a seasoned Javascript developer wouldn’t be impressed with my code but, it works and does what I need and so I’m happy with it for the time being.
WSJT-X FT8 stations calling CQ on the 60m Band plotted on a Node Red World Map
Once I had the location information converted it was just a matter of passing the data to the world map node in the correct format for it to be plotted realtime.
As you can see on the screenshot of the map above, it worked extremely well with stations popping up as they were decoded by WSJT-X.
I now need to refine the data sent to the map so that it shows the frequency the station is calling on, the time they made the CQ call and the mode (FT8/FT4 etc) being used.. I would also like to add the distance from my QTH to the station calling CQ to round the information off however, this will mean writing another javascript function which, I’m not sure I want to dive into just yet.
I also need to add into the mix stations that aren’t calling CQ but, who’s callsign and grid square are passed on from WSJT-X. This will mean I will then be able to add to the map those stations that are actively working other stations and maybe I might even be able to show a line between the two stations that are in QSO.
This has been a fun but, steep learning curve however, it will certainly add some great functionality into my radio room and enhance my radio HAM addiction even further.
After much reading and viewing of youtube videos I have finally settled on the parts that I want to use to build my QO-100 Satellite ground station.
Initially I’m only going to build the receive path of the QO-100 station. From the articles and blogs I’ve read online all the experienced Amateur Radio satellite Op’s recommend getting the receive side sorted first and then moving onto the transmit path.
I need to stress here that I have no experience of radio above 433Mhz (70cm), a band that I have only used a handful of times. 99% of my Amateur Radio life has been spent below 30Mhz and so this is going to be a very new experience for me.
So, what am I going to purchase for the receive path?
I’ve settled on a 1.1m off-set dish from the Satellite Super Store that should give me plenty of gain if I manage to get it pointed successfully at the bird.
I’ll pair a Bullseye 10Ghz TCXO LNB with the dish to give me a high stability receive path that shouldn’t wander too much up and down the band with temperature changes throughout the seasons.
1.1m Off-Set Dish for QO-100
The Bullseye LNB gets extremely good reviews from the HAM Satellite community, although it is a little on the expensive side compared to many others available. Since I only want to do this once I’ve gone with the more expensive option in the hope that it gives me the stability I’m looking for.
Since we’ve never had satellite TV here at home I’ve only just learnt that LNBs require a voltage feed since reading about other peoples QO-100 station builds. Most LNBs can be used for either horizontal or vertical polarisation and are switched by feeding with either 12v or 18v respectively. The LNBs also use this same voltage feed to do the frequency down conversation and some amplification of the received signal.
At the moment I’m only looking to get onto the narrowband part of the QO-100 satellite service and so I will need to feed the LNB with around 12v to ensure vertical polarisation is achieved. The easiest way to do this is to inject the 12v feed up the coax cable to the LNB.
Bullseye 10Ghz TCXO LNB
To achieve this I will need to purchase a little circuit called aBias Tee. This relatively simple circuit consists of a capacitor and inductor combination that stops the 12v from going back into the receiver whilst at the same time stopping the RF from going back into the power supply.
Bias Tee units are relatively cheap to buy online and I have decided to get one from Amazon that has been recommended in a number of blogs posts I have read during my research.
Broco Bias Tee
With these parts ordered I now need to source the materials to mount the dish up above head height in the garden with a clear view of the sky in the direction of the satellite.
Getting the dish up high enough to be above head height will be important for when I get the 2.4Ghz uplink path in place. At these frequencies it’s important to ensure that no one is able to walk across the front of the dish whilst I’m transmitting. I’m hoping to get the dish up about 3m in the air in such a fashion that it is rigid enough to stop the dish moving around in the wind. I must admit I’ve not done any wind load calculations for the 1.1m dish so I’ll have to see how it goes over time. Fortunately where I want to put the dish is fairly well sheltered from the north wind that often howls through here so, hopefully it won’t be an issue.
Having just completed building my new radio shack I thought what better way to break it in than to do an all night radio session chasing the DX.
All nighters aren’t anything new for me, I did many an all night session low band DXing when we lived in France (F5VKM). Back then I had a massive cellar, part of which was a very well fitted out radio shack. With some very large antennas in our field out back I was truly spoilt with some great times on the 160m band in the dark winter months.
Now back in the UK and only just getting back into the hobby after a long break things are somewhat different. I now only have a typical small UK garden and only vertical antennas. Better than no antennas though!
The new radio shack is small compared to my super spacious setup in France but, it’s perfectly formed with all facilities.
For my over night radio session I decided to use my trusty Yaesu FTDX10, it has the best receiver I’ve ever used and is built to withstand the long haul operation.
Antenna wise I decided to use my 30m band EFHW vertical that can be tuned on most bands from 80m and upwards. I use a CG3000 remote auto tuner to match this antenna to the 50 ohm coax feed and it does a great job.
Being comfortably setup in the shack I tuned up on the 30m band and had a listen to see what shape the band was in.
Stations heard on 30m 10/11-07-22
Using FT8 I worked a bunch of European, Russian/Asiatic Russian stations with ease, the band was in fairly good shape albeit localised around Europe and Russia. Wanting to work stations a little further afield I decided to move up on to the higher bands. 12m is a band I really like but, always seem to miss when it’s open.
Tuning up on the 12m band using the same vertical that I was just using on the 30m band the FT8 section was packed with signals. At last, I’ve tuned up on the band when it’s open!
I suddenly noticed Bobby, VP8ADR down in the Falkland Islands in the WSJTX waterfall and gave him a call. He had a fair few people calling him and so I joined the list. In no time at all Bobby answered my call and we exchange SNR reports of -8dB both ways. This was surprising as later on one of the FT8 Facebook groups Bobby stated he was using 200w into a Hexbeam during our QSO, I was only using a measly 18w into my Vertical, I would had expected a much lower SNR report. Clearly Bobby’s setup was doing all the work!
Right after the QSO with Bobby I immediately went on to work PY7ZC, LU8YD, PY2ATI, LW6EQC, PY2EBD and PY2THO all in quick succession. With the Falklands, Brazil and Argentina in the log so soon it was looking like it was going to be a fun packed night.
Next up on the waterfall was 9Y4DG in Trinidad and Tobago and 8P6ET in Barbados, two really nice locations to get into the log and new ones on 12m for me.
Having worked all the DX I could hear on 12m and not wanting to just spend hours working endless European stations I tuned down onto the 17m band using the same vertical antenna. This antenna really does work well on bands it’s not designed for.
First 3 stations in the log on 17m were all from Japan, JR3NZC, JQ6RUP and JA5BDZ. With all 3 stations being well on the way to 6000 miles away this was a good start. The propagation strangely swung to the west and I got YV5DRN from Venezuela in the log.
Not seeing any other stations that I wanted to work I retuned back onto 30m again and found it was open to South America and the Caribbean.
In no time at all I had YV4CLF in Venezuela, HK2AQ in Colombia, NP4TX and NP3XF in Puerto Rico and PY7ZC in Brazil all in the log.
Being in complete darkness I decided to tune down on to the 60m band, one of my favourites, to see if there was much going on. Sure enough there were a few stations active on the limited space available.
First station worked was a new one for me FP/KV1J on St. Pierre and Miquelon Island just off the coast of New Foundland. I have to admit I had no idea where this little island was and confess to having to look it up on google maps.
I then went on to work a few East Coast USA stations all with good SNR reports for this time of year.
Stations heard on the 60m band 11-07-22
Having worked all the notable DX on 60m I tuned back onto the 17m which was now wide open to the world.
I stayed on this band for the rest of the night well into the morning grey line and beyond working some great DX including some new ones for me.
I worked many East Coast USA stations but, stations of note were 6Y5HN in Jamaica and AK6R, K6EU and K6EI in California on the West Coast USA. It’s rare for me to get into the West Coast USA for some reason.
UA0SDX in Irkutsk Siberia was also a nice one to get in the log. This is a town I was going to be riding my motorcycle through on my Mongolian trip before COVID19 and the war in Ukraine broke out and stopped the trip from happening.
It was good to get an Ozzy call in the log too, VK6EI on the West Coast of Australia came in at a strong -15dB SNR giving me a surprising -14dB SNR report, incredible considering I was using just 22w into my vertical antenna.
Well after sunrise the DX was still pouring in and I worked KL7TC in Fairbanks Alaska, a new one for me that made me very happy as I’d been trying to get into Alaska for some time but, never seemed to time it right. Today was my day!
Another station I was really pleased to get into the log was V31MA. I’ve tried to get a QSO with this station many times but, have never succeeded until today. I called for about 20mins and eventually got a reply putting a huge smile on my face. -16dB SNR sent and -19dB SNR received, I was happy that I finally have Belize in the log.
The last station worked was RA0FF way over on the far East Coast of Russia, the complete opposite direction to Belize. Located in Yu-Sakhalinsk right on the Russian coast opposite Japan and at 5270 miles, this is my longest distance Russian station worked so far and one I was very happy to have in the log. I always get good take off towards Russia whether it be directly east or over the North Pole to the far eastern parts of the Siberian wilderness.
I had a great night chasing the DX on the HF bands and being retired didn’t have to worry about going to work after such a long night. I highly recommend that you try an all nighter at least once in your HAM radio career, you get the opportunity to work stations that you’d normally not hear during the day time hours.
You can see the full list of stations worked on the over nighter on my WSJTX Log page.
More soon …
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.