Building MB7IBW 2m AllStarLink Internet Gateway

I’ve recently built another AllStarLink node to compliment my personal 70cm band SHARI node as I thought since I have a full duplex dual band handheld it would be great to have another node that I could connect to FreeStar or HUBNet at the same time as monitoring the Matrix node.

Rather than build another personal node I decided this time I would build a public node, obtain a callsign from the RSGB and make it available to the HAM’s locally on the 2m band.

This would make it possible for me to monitor both nodes at the same time using my Wouxun KG-UV9K full duplex dual band handheld whilst providing the local HAM community with access to the AllStarLink network.

Initially I thought I may be able to use my old Retevis RT85 handheld and AIOC board for the 2m node but, after a little testing it soon became apparent that it overheats during long overs (which are common on AllStarLink) and so, I needed to find another solution.

AIOC connected to the Retevis RT85.
AIOC connected to the Retevis RT85.

Chatting about this in the main Matrix HAM Radio room Steve, M0XVT sent me a message saying he had an old Key KM-4000 converted PMR radio that had been reprogrammed for the 2m band that he was looking to sell and that it might be ideal for the new node. Wasting no time, we came to an agreement and I was soon the proud owner of a converted PMR transceiver.

Key KM4000 2m Band PMR Radio
Key KM4000 2m Band PMR Radio

The KM4000 transceiver has a standard output of 15w, 10w more than I needed for the gateway and so I had to reduce the output. A quick search on the internet and I found the Thames Valley Repeater Group website that had all the information required to turn down the output.

I also had to reprogramme channel 1 to the frequency and CTCSS tone allocated to me by the RSGB so that in the event of a power outage when the radio came back on it automatically jumps to channel 1 which would be correctly setup for operation.

Unfortunately the software for programming the radio is only available for windows and so I had to build a virtual machine running windows 10 to be able to reprogramme the radio.

Once this was done I rewired the AIOC USB audio device to work with the KM4000 radio and built the AllStarLink node on a spare RaspberryPi 4.

For an antenna I made a simple end fed vertical dipole from some RG58 coax and mounted it 8m up on one of my Spiderpoles in the garden. Running a coax feed out to the antenna I did some tests into the Parrot to get the audio levels setup and checked that the DTMF codes were interpreted correctly and that the node switched connections without error.

MB7IBW Internet Gateway hardware at the M0AWS QTH
MB7IBW Internet Gateway hardware at the M0AWS QTH

Once this was done I had a few test conversations with stations on the Matrix node and FreeStar to ensure all was fine and then set the gateway status to “Operational” on the RSGB website.

This worked fine for a while with myself and some local stations using the node regularly but, then the hot weather arrived and things started to overheat. The transceiver was getting incredibly hot in the 30c+ summer temperatures and the power supply was also running extremely hot and so I decided to add some cooling.

Cooling the PSU was simple, it has a perforated top panel to which I strapped a cooling fan. This worked great and brought the temperature of the PSU down considerably.

The radio wasn’t so easy to cool. It has a solid case cover top and bottom and so cooling wasn’t going to be a simple affair.

I decided to remove the covers and drill some holes into them to allow airflow through the unit and strapped a fan to the top cover to pull the hot air out. This worked well however, on both transmit and receive I now had a warbling sound on the audio that was caused by the motor of the fan when powered up.

I found that lifting the fan up away from the case of the radio the warbling audio disappeared and things were back to normal and so, I decided to design a cooling tube to fit to the top of the radio to allow full airflow from the fan but, with the fan raised up away from the radio to resolve the audio problem.

Jumping into my CAD software I quickly designed a cooling tower to fit on the top of the radio that would allow the fan to sit far enough away from the radio so as to not affect the audio whilst at the same time pulling the hot air out of the radio and drawing cooler air in through the bottom of the case.

I sent the design through to my Bambu Lab A1 Combo 3D printer and set the print job running.

Key KM4000 Cooler
Key KM4000 Cooler

The cooler worked great with the radio staying cool to the touch and no longer overheating and reducing O/P power.

It’s amazing how much dust and dirt is in the air from all the farming activities going on at the end of our garden and how much of it is sucked in by the cooling fan. Regular cleaning is a must!

The MB7IBW Internet Gateway has been on air since mid June 2026 and has worked well. It spends most of its time connected to either FreeStar or HUBNet with connections to the Matrix Node when we have our nets.

Details on Frequency, CTCSS etc can be found under the MB7IBW menu above.

Sadly the initial interest from local HAMs has now wained and I am mostly the only user of the gateway. I was hoping more people would use it and bring some life to the 2m band, I guess time will tell.

It’s been a fun project and was interesting to go through the callsign allocation process with the RSGB representative. It was much easier than I thought it would be.

I now have all the parts to build another Internet Gateway for the 4m band. Hopefully that may attract some more interest. It’s certainly worth a try!

More soon …

Bring your old handheld to life with an AIOC

I’m sure there are many radio amateurs around the world today who have an old handheld radio sat on the shelf that works perfectly but, has been replaced by a new, shiny, all singing, all dancing model that gets used on a daily basis. I for one have fallen into this trap with the recent purchase of a very nice Wouxun KG-UV9K full duplex 2m and 70cm handheld.

On my shelf there is a cheap Retevis RT85 that gave sterling service for a number of years and even today is ready to continue that service, if only I had a need?

Well now I do!

Currently I have an AllStarLink node running on a RaspberryPi 3b connected to a SHARI device that operates on the 70cm band. This node works great and gives me the ability to chat with people all over the world from my trusty handheld. It does of course also give me access to the weekly Matrix AllStarLink Net that happens on our Matrix node ( 642332 ) every Thursday evening at 20:00 UK time, a great way of bringing the Matrix HAM Radio community together regardless of propagation.

For some time I’ve been wanting to bring another AllStarLink node online so that I can have a connection to HUBNET/FreeNet whilst keeping my current node connected to the Matrix node for our regular daily chats. Since my new Wouxun handheld is a full duplex unit it makes sense to bring a new node up on the 2m band as I can then monitor both at the same time easily. I do have a spare SHARI node however, it’s a UHF only unit and I don’t want another node on the 70cm band. This is where the old Retevis RT85 comes in to play.

The All In One Cable ( AIOC ) board is a very neat little CM108 compatible sound card and serial interface that is sold by Steve, KM9G of YouTube fame ( Temporarily Offline ) that plugs into any handheld radio that has the now pretty much standard Kenwood ‘K’ type mic connector.

AIOC board from Steve, KM9G.
AIOC board from Steve, KM9G.

The AIOC board really is tiny but, beautifully put together. The four large solder pads on the top and more on the underside are positioned such that the TRS plug solder lugs line up perfectly for soldering. Attempting to do this by hand would be impossible as it’s critical that the spacing between the two connectors matches that of the spacing of the sockets on the radio.

AIOC Solder Jig.
AIOC Solder Jig.

Searching online I found a very handy soldering jig on Github that enables you to hold both the TRS connectors and AIOC board in the perfect position for soldering.

Downloading the .STL file I quickly printed off a solder jig on my Bambu Lab A1 Combo 3D printer and fitted the components into place ready for soldering.

Everything fitted rather snugly into the jig and I soon had the board and connectors soldered together. Test fitting to my Retevis RT85 I found the TRS plugs lined up perfectly and it slid into the sockets with ease.

I then thought about designing a case for the AIOC board so that the bare circuit was nicely protected but, quickly searched online and found that NA6D has already designed a case and made the .STL available publicly for download on Printable.com. I quickly grabbed a copy of the file and punted it off to my 3D printer to get to work on.

3D print NA6D AIOC case.
3D print NA6D AIOC case.

Once the print was complete I fitted the AIOC board and snapped it together ready for testing.

Now that the AIOC was production ready I moved on to getting the latest version of AllStarLink onto my RaspberryPi 4 that I had taken out of my RadioBerry based shortwave receiver that I am going to upgrade to a Hermes Lite 2 in a later project. The RaspberryPi 4 is perfect for AllStarLink 3, a 64bit app and operating system.

Using the RaspberryPi Imager I pulled the image down onto an SD card and slipped it into my Pi4. ( Instructions on how to do this are on the AllStarLink website here )

Booting the Pi4 for the first time I found that it went through a number of reboot and configuration cycles before it was ready for use.

Once ready I went through all the normal configuration of the Pi4 namely, static IP assignment, timezone config, security, port forwarding etc etc.

Having configured an AllStarLink node for myself and only just a few days ago for another HAM I was pretty familiar with the setup. Wanting to make sure there were no “gotcha’s” I also watched a couple of KM9G’s videos on Youtube to make sure I wasn’t missing anything.

Using the asl-menu command line app as user root I set about configuring Asterisk to work with the AIOC board. Much to my frustration I could not get Asterisk to recognise the AIOC board as an available sound device. I checked and double checked all the settings ensuring that I had selected “AIOC” in the available devices menu but found that Asterisk constantly errored saying it could not find the selected audio device. This went on for a whole day without success and so, I decided to put it to one side and come back to it later, a method I found that often worked.

A couple of days later I revisited the problem and had decided to take a different approach. Rather than continue going through the asl-menu app I decided to drop down to a lower level and go through the asterisk config files in the /etc/asterisk directory.

It wasn’t long before I found a file called res_usbradio.conf. Inside this file was the config for the AIOC board however, it was all commented out which meant it was disabled.

I’m guessing here but, I imagine this is what should get enabled when selecting AIOC in the available devices menu in the asl-menu command line app but, for some reason it doesn’t happen.

[general]
;usb_devices = 1209:7388    ;comma delimited list of usb
                            ;descriptors to allow.
                            ;format vvvv:pppp in hexadecimal
                            ;vvvv=vendor id, pppp=product id
                            ;
                            ;1209:7388 = AIOC (all in one cable)

Above is the disabled configuration which is easily edited to enable the AIOC device as shown below.

[general]
usb_devices = 1209:7388    ;comma delimited list of usb
                            ;descriptors to allow.
                            ;format vvvv:pppp in hexadecimal
                            ;vvvv=vendor id, pppp=product id
                            ;
                            1209:7388 = AIOC (all in one cable)

Once the updated file had been saved and I restarted Asterisk using systemctl the AIOC burst into life and Asterisk recognised it immediately. The Retevis RT85 switched between TX and RX and I was ready to check out the audio.

Setting the volume levels for both RX and TX via the command line tuning app I connected the node to my already existing node. Sure enough the two nodes connected without error and I was able to send and receive audio between them via the AllStarLink net.

Connecting the new node to the parrot I checked the audio levels to ensure it sounded ok and then connected it to the Matrix node where I had a brief chat with Ben, M8TKK.

All that is left to do now is to 3D print a case for the Pi4 so that it isn’t left naked and at risk of being shorted out on conductive surfaces and it’ll be ready for service.

I also plan to build another AllStarLink node using a 4m band handheld and another AIOC board and then will apply for MB7Ixx callsigns for the two new nodes. This will hopefully help to bring some life to the 2m/4m bands locally and introduce HAM’s both to the weekly Matrix Net and HUBNet/FreeStar via AllStarLink.

More soon …

There’s always someone listening!

I had a fun day on the radio yesterday. It started with the Matrix QO-100 Satellite Impromptu Net at 16:00 BST on 10489.873Mhz. A net that started off as an impromptu event that over the last couple of years has become a weekly staple. Hardly impromptu at all but, we liked the name and so stuck with it.

During the Impromptu net I noticed that my 2m radio was burbling away in the background and that a lot of European repeaters were coming through so, as soon as the net had finished I quickly switched over to my trusty Wouxun KG-UV980PL and started tuning around the 2m band.

2m was alive with repeaters from France, Belgium, The Netherlands and the UK, often beating against each other on the same frequency.

Being near the East Coast and closer to Belgium than I am to many parts of the UK I jumped onto the ON0WV repeater in Bruges. Being S9+ with me I called a few times but, no one came back to me so, I moved on.

Tuning across my Norwich Repeater memory slot I heard two French stations chatting, it was obvious they weren’t on GB3NB as the bell between overs was not the normal chime.

I quickly opened RepeaterBook on my iPhone and searched for repeaters on the same frequency, there are many!

Eventually I worked out that it was ON0HT so I quickly set about loading the repeater settings into the next available radio memory channel. I loaded a few others from The Netherlands at the same time as I was hearing more than normal from that part of the world.

2 French Operators on the ON0HT repeater in Belgium close to the French border.

Having the correct settings in place for the repeater I was now able to call in and have chat with the two stations.

Jean-Claude F5JOX and Didier F6DKO were surprised to hear an English station call in but, were most welcoming. We had a chat for a few minutes exchanging details and commenting on the great conditions. Sadly the conversation was eventually brought to an end as there were so many repeaters on the same frequency it became impossible for me to hear them clearly so, I gave them 73 and went tuning around.

The 2m band was absolutely full of UK and EU repeaters with many beating against each other on the same frequency. Wouldn’t it be nice if there was more of a split between the UK repeater frequencies and the EU allocation. Would certainly make it easier to use the EU repeaters in lift conditions.

Later in the evening Roger G8VLR, Steve M0XVT and I were having one of our Impromptu Nets on the 60m band. Often there are others from the Matrix that join in too but, on this occasion there were just the 3 of us.

I’m acutely aware that we often have listeners to our on air chats as I quite often get emails from SWL’s and licenced HAMs commenting on how much they enjoy our conversations. Yesterday evening was no exception as it turns out that we were once again attracting listeners albeit, unbeknown to us at the time.

Later in the evening Alan, G1SQB sent me a message via the Matrix with a YouTube link to a recording of us on the 60m band from that very same evening made by @KevinOReillyswl.

Yes, that’s yours truly waffling on about satellites as normal.

Kevin O’Reilly is clearly a very active SWL as he has many interesting videos on his Youtube Channel that are worth a look.

I must confess that I’ve never heard of the MLITE-880 receiver before but, after running a search I found it to be quite a popular radio in the SWL community.

There’s a very good review on swling.com that’s worth a read.

The short video above shows it to be a surprisingly good shortwave receiver in a very compact, portable package that’s ideal for listening whilst out and about on camping trips or other outdoor activities.

A big thanks to Kevin O’Reilly for posting the video and letting us see how we sound on the other end.

More soon …

ISS Astronaut talks to UK students

Students at the Simon Langton Grammar School for Boys in Canterbury, Kent UK, today had the opportunity to talk to astronaut Jack Hathaway, KJ5NIV, aboard the International Space Station (ISS).

Checking the ISS pass data I could see it was going to be a good pass for me to listen and so I setup my Wouxun KG-UV980P quad bander on 145.800Mhz to see if I could hear Jack.

Having only a Diamond V2000 vertical antenna, I don’t have the best station for satellite communications however, it has worked well in the past.

Sure enough, as the ISS approached the UK from the South West and reached 2deg above the horizon the signal started coming through. Below is the video I took of the pass.

I ended the video at 6min and 35sec as I thought I’d lost the satellite as it was out to the East over Russia and blocked by farm buildings near my QTH however, once I stopped videoing I remembered to move the VFO down 5Khz and sure enough I was able to hear the ISS right up until the point that Jack signed and ended the QSO.

I really should try to see if I can get some QSO’s via the ISS FM Repeater as the received signal really is very good. Whether the transmitted signal would be as good remains to be seen.

More soon …

Using Node-Red to build interactive log maps

I’ve not been on the radio much over the last few weeks as I’ve had my head down other radio related rabbit holes.

One of the rabbit holes is a Node-Red project to make my online logs a little more interactive. For sometime now my logs have been displayed on my website as nicely formatted, searchable HTML pages however, they don’t really allow the viewer (myself included) to see the global coverage of all the contacts so, I decided to write a Node-Red flow that would do just that.

M0AWS Interactive Log Flow
M0AWS Interactive Log Flow

The flow itself isn’t too complicated and basically consists of reading in the individual ADIF formatted log files, processing the data and then sending the data in the correct format to the map node for display.

I’ve had to write a few functions to handle the processing of the ADIF formatted data but, these aren’t particularly complex and are fairly easy to understand even if like me, you’re not a Javascript programmer.

The flow is working perfectly however, I’m in the process of reworking the format generic payload function to reduce the amount of code and make it more efficient.

M0AWS SSB / CW / FreeDV Interactive Log World Map
M0AWS SSB / CW / FreeDV Interactive Log World Map
M0AWS Interactive Log Map Layers Menu
M0AWS Interactive Log Map Layers Menu



The flow generates two maps, one for voice / CW /Satellite contacts and the other for WSJT-X FT4/8 contacts. Every pin on the map is colour coded by band with satellite contacts being denoted by a satellite icon.

Each pin / icon on the map is clickable and reveals the data of the QSO being displayed.

In the top right-hand corner of the map there is a drop down layer menu that allows the viewer to filter by band thus reducing the number of icons on the screen at any one time.

Seeing the data presented on a map really brings my logs alive. An example of this is that I had no idea I’d worked so many stations in India on the QO-100 Satellite.

The small icons in the pins show a microphone for SSB/FM/FreeDV contacts and a downwards pointing triangle in a box for CW contacts. Sadly I couldn’t find a Morse key icon in the collection available.

M0AWS filtered view of QO-100 Satellite contacts
M0AWS filtered view of QO-100 Satellite contacts

I only use FT4/8 for testing new antenna designs however, it’s interesting to see the global coverage accomplished with this weak signal mode.

M0AWS WSJT-X FT4/8 Interactive Log World Map
M0AWS WSJT-X FT4/8 Interactive Log World Map

Once I’ve finished rewriting the format generic payload function I will make the flow available for download here so that others can also create an interactive view of their radio logs.

If you want to have a look at the maps and try them out for yourself, they are available under the Logs menu above.

This Node-Red instance is running in a virtual machine (VM) on a 16GB RAM RaspberryPi 5 that is also running a number of other VMs at the same time so, it’s safe to say it’s not heavy on CPU and will run on the older Pi4 as well.

More soon …

Wouxun KG UV-980PL Quad Band Radio

I recently decided to look into a 2m/70cm FM radio for the shack for use on the local 2m/70cm repeaters and was considering the offerings from Yaesu and Icom however, the Wouxun KG UV-980PL caught my eye as it is a quad band, full duplex radio. Not knowing much about Wouxun radios I had to do some research to get an idea of what it’s like. Generally the radio gets very good reviews and most mention the excellent build quality.

There are two versions of the 980P radio, the 980PL that offers 6/4/2m and 70cm bands and the 980P that offers 10/6/2m and 70cm. The 4m is a band I’ve been wanting to try for some time and the 980PL with it’s 4m band coverage became even more appealing.

Wouxun KG UV-980PL Quad Band FM Duplex Transceiver
Wouxun KG UV-980PL Quad Band FM Duplex Transceiver

I decided to take a trip down to Martin Lynch and Sons (MLANDS), a good 2 hours or more drive for me, so that I could get hands on with the radios that I had been looking at.

I invited Alan, G1SQB along for the ride and a day out playing with radios as he lives 3 miles away and we often chat on air.

Arriving at the store we grabbed a hot brew and set about playing with the great selection of radios on display.

I initially looked at the Icom IC-2730E, a dual band full duplex transceiver that has been around for about 10 years and has good reviews. As expected the build quality is excellent and very easy to use. I found I was soon able to set up memories etc via the front panel controls. The only draw back is that it isn’t supported by the CHIRP programming software that I use. Other than that it certainly meets all the requirements for a 2m/70cm FM transceiver

Icom Ic-2730E Duplex FM Transceiver
Icom IC-2730E FM Duplex Transceiver

Next I moved on to the offerings from Yaesu including the FTM-500DE 2m/70cm transceiver. The colour screen is very nice and the menu system very easy to use however, the price is getting on for close to double that of the other radios and it doesn’t really offer anything more that interests me since I’m only looking for an analog radio.

Yaesu FTM-500DR dual band FM Transceiver
Yaesu FTM-500DR dual band FM Transceiver

Sadly there wasn’t a Wouxun UV-980PL out on display and so I had to persuade the salesman to get one out of stock for me to play with. Unpacking the radio I was surprised at how good the build quality is, it really is comparable to the other radios that I had been looking at.

The Wouxun menu system is fairly easy to use once you’ve looked at the manual and got to grips the abbreviations used. The big plus is that this radio is CHIRP compatible with an optional programming cable (£19) and so loading the memories with repeaters etc will be extremely easy.

The Wouxun has dual receivers built in with a quad-plexer so, you can transmit on one band whilst listening to another band on the other receiver. One thing to note is that the 1st receiver covers all the bands, 6/4/2m and 70cm however, the 2nd receiver only covers 2m and 70cm so, it’s not possible to receive 4m and 6m at the same time. The radio also only has one antenna connection on the rear, would had been great if it had one connector for each receiver.

The really good thing about the Wouxun UV-980PL is that it comes with everything you will need, apart from the programming cable!

After much tinkering I decided to purchase the Wouxun KG UV-980PL, a Diamond V2000 6/2m and 70cm antenna plus 20m of Hyperflex-13 coax cable and connectors.

In the box you’ll find two mounting options for the removable head. There is a short connecting cable for use when the head is mounted directly on the radio body and a 5m long connecting cable for mounting the head remotely. This is really useful as I wanted to mount the head on a mic boom arm so that it’s easily accessible and didn’t clutter the desk space in the shack.

M0AWS Shack
Wouxun KG UV-980PL head mounted on a Mic boom arm

Since the radio also comes with the mobile mount I’ve fixed the radio body on the wall behind the PC monitor out the way. This setup has proven to be extremely good as I can see what’s happening on the display at a glance and easily grab the mic if called.

Programming the radio memories is extremely quick and easy using CHIRP. I had the local repeaters and my AllStarLink node frequencies and offsets uploaded to the radio in no time at all and was soon on air.

Programming the memories on the Wouxun UV-980PL using CHIRP
Programming the memories on the Wouxun UV-980PL using CHIRP

The microphone that comes with the radio is extremely good. You can operate most of the controls on the radio directly from the mic with ease and it has a good feel in the hand. Audio reports have also been very good and there’s no need to change it.

I’ve not yet got the new Diamond V2000 antenna erected but, I’ve been using the radio with my homebrew 2m/70cm end fed vertical dipole and my 4m band end fed vertical dipole and am getting excellent results. I can access all the local repeaters using the lowest power output setting and only have to use the medium/high setting for the repeaters that are further afield.

On the 4m band the radio performs well and I’ve been surprised at the distances I’ve been able to cover even though my 4m antenna is only 6-7m above the ground currently.

A few days after I got the new Wouxun radio there was an ARISS event whereby a group of Girl Guides would be talking to Astronaut Sunita Williams aboard the ISS. This was a great opportunity to test the receive capability of the radio and so I setup ready for the pass. Using just my simple 2m/70cm end fed vertical dipole I got great reception as can be heard in the video below.

Overall I’m extremely pleased with the Wouxun KG UV-980PL quad band radio and considering it’s much cheaper than the offerings from the main radio manufacturers it’s well built and performs extremely well. If you’re looking for a simple, analog FM radio for 6/4/2m/70cms then you can’t beat it!

More soon …

ISS Special Event contact with Astronaut Sunita Williams

A special event organised by the RSGB and Amateur Radio on the International Space Station (ARISS), in collaboration with the UK Space Agency, Girlguiding Surrey West and Brooklands Museum’s Innovation Academy programme took place today and I was fortunate enough to actually receive the signal from the ISS as it passed over Europe.

The contact with NASA astronaut Sunita Williams was also attended by The Duchess of Edinburgh who asked the first question via radio to the NASA astronaut.

Following this a number of girl guides posed questions which were very quickly answered as the ISS passed overhead.

Using my new Wouxun UV-980PL and simple end-fed vertical dipole I got a great signal from the ISS HAM radio station and was able to receive the ISS side of the conversation as the space station approached the N/W Coast of Spain until it eventually dropped below the horizon out of site nearing East Russia.

Below is a short video clip with audio showing the clarity of reception. The ISS peaked at an S9 signal, it was a perfect pass for the special event.

I’m hoping to put up a better antenna for 2/4/6m & 70cm in the next few days so that I can start joining the local nets on these bands and perhaps get contacts through a few more of the FM Low Earth Orbit (LEO) satellites.

I’ll also be writing a full article on the Wouxun KG UV-980PL in the very near future, so if this radio is of interest to you then watch this space.

More soon …

Deep Dive – Node-RED QO-100 Satellite Ground Station Dashboard

Following on from my article about my QO-100 Satellite Ground Station Complete Build, this article goes into some detail on the Node-RED section of the build and how I put together my QO-100 Satellite Ground Station Dashboard web app.

The Node-RED project has grown organically as I used the QO-100 satellite over time. Initially this started out as a simple project to synchronise the transmit and receive VFO’s so that the SDR receiver always tracked the IC-705 transmitter.

Over time I added more and more functionality until the QO-100 Ground Station Dashboard became the beast it is today.

M0AWS QO-100 ground Station Control Dashboard built using Node-RED.
M0AWS QO-100 Ground Station Control Dashboard built using Node-RED.

Looking at the dashboard web app it looks relatively simple in that it reflects a lot of the functionality that the two radio devices already have in their own rights however, bringing this together is actually more complicated than it first appears.

Starting at the beginning I use FLRig to connect to the IC-705. The connection can be via USB or LAN/Wifi, it makes no difference. Node-RED gains CAT control of the IC-705 via XMLRPC on port 12345 to FLRig.

To control the SDR receiver I use GQRX SDR software and connect to it using RIGCTL on GQRX port 7356 from Node-RED. These two methods of connectivity work well and enables full control of the two radios.

M0AWS Node-RED QO-100 Ground Station Dashboard - 12/06/24
M0AWS Node-RED QO-100 Ground Station Dashboard Flow as of 12/06/24

The complete flow above looks rather daunting initially however, breaking it down into its constituent parts makes it much easier to understand.

There are two sections to the flow, the GQRX control which is the more complex of the two flows and the comparatively simple IC-705 section of the flow. These two flows could be broken down further into smaller flows and spread across multiple projects using inter-flow links however, I found it much easier from a debug point of view to have the entire flow in one Node-RED project.

Breaking down the flow further the GQRX startup section (shown below) establishes communication with the GQRX SDR software via TCP/IP and gets the initial mode and filter settings from the SDR software. This information is then used to populate the dashboard web app.

M0AWS - Node-RED QO-100 Ground Station Dashboard - GQRX Startup
M0AWS Node-RED QO-100 Ground Station Dashboard – GQRX Startup Flow

The startup triggers fire just once at initial startup of Node-RED so it’s important that the SDR device is plugged into the PC at boot time.

All the startup triggers feed information into the RIGCTL section of the GQRX flow. This section of the flow (shown below) passes all the commands onto the GQRX SDR software to control the SDR receiver.

M0AWS - QO-100 Ground Station Dashboard - GQRX RIGCTL flow
M0AWS Node-RED QO-100 Ground Station Dashboard – GQRX RIGCTL Flow

The TCP RIGCTL -> GQRX node is a standard TCP Request node that is configured to talk to the GQRX software on the defined IP Address and Port as configured in the GQRX setup. The output from this node then goes into the Filter RIGCTL Response node that processes the corresponding reply from GQRX for each message sent to it. Errors are trapped in the green Debug node and can be used for debugging.

The receive S Meter is also driven from the the output of the Filter RIGCTL Response node and passed onto the S Meter function for formatting before being passed through to the actual gauge on the dashboard.

Continuing down the left hand side of the flow we move into the section where all the GQRX controls are defined.

M0AWS - QO-100 Ground Station Dashboard - GQRX Controls
M0AWS Node-RED QO-100 Ground Station Dashboard – GQRX Controls Flow

In this section we have the VFO step buttons that move the VFO up/down in steps of 10Hz to 10Khz. Each button press generates a value that is passed onto the Set DeltaFreq change node and then on to the Calc new VFO Freq function. From here the new VFO frequency is stored and passed onto the communications channel to send the new VFO frequency to the GQRX software.

The Mode and Filter nodes are simple drop down menus with predefined values that are used to change the mode and receive filter width of the SDR receiver.

Below are the HAM band selector buttons, each of these will use a similar process as detailed above to change the VFO frequency to a preset value on each of the HAM HF Bands.

The QO-100 button puts the transmit and receive VFO’s into synchro-mode so that the receive VFO follows the transmit VFO. It also sets the correct frequency in the 739Mhz band for the downlink from the LNB in GQRX SDR software and sets the IC-705 to the correct frequency in the 2m VHF HAM band to drive the 2.4Ghz up-converter.

The Split button allows the receive VFO to be moved away from the transmit VFO for split operation when in QO-100 mode. This allows for the receive VFO to be moved away so that you can RIT into slightly off frequency stations or to work split when working DXpedition stations.

The bottom two Memory buttons allow you to store the current receive frequency into a memory for later recall.

At the top right of this section of the flow there is a Display Band Plan Info function, this displays the band plan information for the QO-100 satellite in a small display field on the Dashboard as you tune across the transponder. Currently it only displays information for the satellite, at some point in the future I will add the necessary code to display band plan information for the HF bands too.

The final section of the GQRX flow (shown below) sets the initial button colours and starts the Powermate USB VFO knob flow. I’ve already written a detailed article on how this works here but, for completeness it is triggered a few seconds after startup (to allow the USB device to be found) and then starts the BASH script that is used to communicate with the USB device. The output of this is processed and passed back into the VFO control part of the flow so that the receive VFO can be manually altered when in split mode or in non-QO-100 mode.

M0AWS - QO-100 Ground Station Dashboard - Powermate VFO section
M0AWS Node-RED QO-100 Ground Station Dashboard – Powermate VFO Flow

The bottom flows in the image above set some flow variables that are used throughout the flow and then calculates and sets the RIT value on the dashboard display.

The final section of the flow is the IC-705 control flow. This is a relatively simple flow that is used to both send and receive data to/from the IC-705, process it and pass it on to the other parts of the flow as required.

M0AWS - QO-100 Ground Station Dashboard - IC-705 control flow
M0AWS Node-RED QO-100 Ground Station Dashboard – IC-705 Control Flow

The IC-705 flow is started via the timestamp trigger at the top left. This node is nothing more than a trigger that fires every 0.5 seconds so that the dashboard display is updated in near realtime. The flow is pretty self explanatory, in that it collects the current frequency, transmit power, SWR reading, PTT on/off status and S Meter reading each time it is triggered. This information is then processed and used to keep the dashboard display up to date and to provide VFO tracking information to the GQRX receive flow.

On the left are the buttons to change band on the IC-705 along with a button to tune to the VOLEMT on the 60m band. Once again there two memory buttons to save and recall the IC-705 VFO frequency.

The Startup PTT Colour trigger node sets the PTT button to green on startup. The PTT button changes to red during transmit and is controlled via the Toggle PTT function.

At the very bottom of the flow is the set transverter IF Freq function, this sets the IC-705 to a preselected frequency in the 2m HAM band when the dashboard is switched into QO-100 mode by pressing the QO-100 button.

On the right of the flow there is a standard file write node that writes the 2.4Ghz QO-100 uplink frequency each time it changes into a file that is used by my own logging software to add the uplink frequency into my log entries automatically. (Yes I wrote my own logging software!)

The RX Audio Mute Control filter node is used to reduce the receive volume during transmit when in QO-100 full duplex mode otherwise, the operator can get tongue tied hearing their own voice 250ms after they’ve spoken coming back from the satellite. This uses the pulse audio system found on the Linux platform. The audio is reduced to a level whereby it makes it much easier to talk but, you can still hear enough of your audio to ensure that you have a good, clean signal on the satellite.

As I said at the beginning of this article, this flow has grown organically over the last 12 months and has been a fun project to put together. I’ve had many people ask me how I have created the dashboard and whether they could do the same for their ground station. The simple answer is yes, you can use this flow with any kind of radio as long as it has the ability to be controlled via CAT/USB or TCP/IP using XMLRPC or RIGCTL.

To this end I include below an export of the complete flow that can be imported into your own Node-RED flow editor. You may need to make changes to it for it to work with your radio/SDR but, it shouldn’t take too much to complete. If like me you are using an IC-705 and any kind of SDR controlled by GQRX SDR software then it’s ready to go without any changes at all.


More soon …

Taking the Hiss out of QO-100

I’ve been on the QO-100 satellite for about 7 months now and I have to admit I love it!

Having a “Repeater In The Sky” that covers a third of the world really is a wonderful facility to have access to however, there is one thing that I find tiring and that is the high level of background noise that is always present.

Even though the signals are mostly 59-59+15dB the background “hiss” is very pronounced and gets very tiring after a while, especially if like me you have tinnitus.

Currently I’m using a NooElec Smart SDR for the receiver and GQRX SDR software on my Kubuntu Linux PC. This works great but, there is one short fall, there is no DSP Noise Reduction (NR) in the software or hardware.

To fix this I recently invested in a BHI Dual In-Line Noise Eliminating Module. The unit itself is nicely put together and has a good combination of inputs and outputs making it easy to connect up to my MacBook Pro to record QSOs and connect my headphones at the same time.

M0AWS BHI Dual In-Line Noise Eliminating Module
M0AWS BHI Dual In-Line Noise Eliminating Module

At £189.95 plus postage from BHI direct it’s not cheap but, it is nicely put together and comes complete with a power lead and a couple of cheap audio cables. The quality of the knobs and mechanisms is good apart from the little grey DSP Filter Level knob that feels cheap and is very wobbly on the switch below. I’m not sure how long this is going to last with prolonged use and will most likely need replacing with something a little sturdier at some point in the future.

Overall noise reduction is good but, the audio amplifiers on the Audio Input Level and Line Out Level distort very early on in their range and you cannot get them much above level 5 before distortion starts to appear on the received signal. This is disappointing as my headphones are of reasonable quality and are let down by the distortion creeping in from the audio amplifier in the BHI unit.

I’ve tried altering the levels on the input from the IC-705 and no matter what I cannot get a good audio signal in my headphones without some distortion on the higher frequency ranges.

Overall the device does do what I want, it reduces the background “hash” considerably reducing the fatigue whilst chatting on the satellite. Below is a recording from a conversation on the satellite showing the noise reduction performance of the BHI module.

M0AWS Example BHI DSP NR Recording

The recording starts with the BHI DSP NR off, at 00:07 the DSP NR is switched on, you can clearly hear the difference. At 00:23 the DSP NR is turned off again and at 00:36 the DSP NR is turned on again. The BHI DSP NR Module is set with the DSP Filter Level set at 3 out of 8 which appears to be the best level to use. Switching to level 4 starts to introduce digital artefacts to the audio which only gets worse the higher the DSP Filter Level goes.

With a setting above level 3 there really isn’t much improvement in noise reduction and the audio becomes progressively more affected by the digital artefacts than it does from the background noise.

M0AWS BHI Dual In-Line Noise Eliminating Module with Icom IC-705 QO-100 Ground Station
M0AWS BHI Dual In-Line Noise Eliminating Module with Icom IC-705 QO-100 Ground Station

The only other problem I have with the BHI Dual In-Line Noise Eliminating Module is that is comes in a plastic case. The case itself is solid and of good quality however, it offers no RF shielding whatsoever and the unit is extremely susceptible to RF getting into the audio chain and then being heard during transmit in the headphones and via the line out connections. For the money I would had expected the unit to come in a metal case that provides proper RF shielding. This is a real shame as it lets the unit down considerably.

As setup in the photo above I am using 300mW O/P on 144Mhz from the IC-705 into a perfect 1:1 SWR presented by the DX Patrol 2.4Ghz Upconverter via some very high quality LMR-400 Coaxial cable from Barenco but, I get terrible RF interference via the BHI unit during the transmit cycle. Considering I am only using 300mW I dread to think what it may be like if I was using a 100w HF radio. This is something I need to investigate further as it really is very annoying.

Moving the unit to a different location in the radio room does help a bit but, doesn’t solve the problem completely. At 300mW RF O/P I really didn’t expect there to be a problem with RF getting into the BHI unit.

Having a proper line-out facility on the BHI unit really is nice as it makes it very easy to connect to my MacBook Pro to obtain good quality recordings of signals on the QO-100 satellite as can be listened to above.

Overall I am happy with the BHI Dual In-Line Noise Eliminating Module but, do wish that more care had been taken over using a metal case instead of a plastic case to protect the unit from RF ingress and better audio amplifiers within the unit that don’t distort/clip so early on in their O/P levels.

Is this the perfect noise reduction unit?


No but, overall it is better than nothing and does help to reduce the background noise to a more acceptable level reducing the overall fatigue during prolonged conversations on the QO-100 satellite.

UPDATE: I tried the BHI unit with my FTDX10 on the HF bands and the RF interference is horrendous, even when using QRP power levels! This device clearly hasn’t been designed to work in an RF environment and the total lack of shielding or isolation lets it down terribly. If you are an SWL then this unit is fine but, if like me you like to monitor your transmitted audio whilst on air through headphones then this isn’t the unit for you. To prove the problem isn’t in the radio shack I put the BHI unit in the house some 30m away powered by 12v battery with nothing connected but a pair of headphones and still the unit suffered from RF interference even at QRP levels.

More soon …

Retevis RT85 antenna SWR

Since purchasing my Retevis RT85 2m/70cm handheld radio I’ve noticed that it seems rather deaf when using the antenna that came with the radio and isn’t as strong into the local repeaters as I imagined it would be.

Considering the local 2m and 70cm repeater isn’t that far from my QTH and there is pretty much a clear line of site view in the direction of the repeater I was somewhat surprised that on 70cm the repeater never breaks the squelch, even if it is set on it’s lowest setting of zero.

M0AWS Retevis RT85 dual band VHF/UHF Handheld Radio
M0AWS Retevis RT85 dual band VHF/UHF Handheld Radio

Connecting my home made end fed dual band vertical dipole at 10m above ground the performance of the radio improves drastically as one would expect.

Having recently purchased a JNCRadio VNA 3G antenna analyser I decided to connect the Retevis supplied antenna to the analyser and see what the resonance was like on the two bands.

The antenna is labelled as 136-174Mhz and 400-470Mhz. This is an extremely wide frequency range for such a small antenna and clearly isn’t going to perform that well over such a wide bandwidth.

Connecting the antenna to the VNA and setting the stimulus frequency range to 144-148Mhz I found that the SWR curve of the antenna wasn’t particularly good.

M0AWS Retevis RT85 Antenna SWR Curve 2m
M0AWS Retevis RT85 Antenna SWR Curve 2m

As shown above the SWR curve on the 2m Band is pretty poor. At 144.0Mhz it’s just over 3:1, at 145.496 (closest I could get to the 145.500 calling channel) the SWR is still 2.1:1. The antenna doesn’t really get close to resonance until 148Mhz where the SWR is 1.46:1.

With an SWR this high the radio will almost certainly be reducing the O/P power considerably to protect the PA stage from over heating due to so much power be reflected back into the transmitter. This explains the poor performance when using 2m repeaters locally and the somewhat limited range when using the OEM supplied antenna.

Looking at the SWR curve on the 70cm band, the antenna is much closer to resonance than it is on the 2m band but, it’s still not perfect.

M0AWS Retevis RT85 Antenna SWR Curve 70cm
M0AWS Retevis RT85 Antenna SWR Curve 70cm

At 430Mhz the SWR is 1.56:1, at 435Mhz 1.63:1 and 440Mhz 1.72:1. Since the antenna is much closer to resonance on the 70cm band I would expect it to perform better than it does.

Looking at the SWR curves over the entire supported frequency range of 136-174Mhz and 400-470Mhz, there is only one point of resonance on VHF around 148Mhz and on UHF around 400Mhz.

With such disappointing performance on both VHF and UHF I’ve decided to investigate making my own 2m/70cm antenna for the handheld to see if I can improve both the SWR on each band and the overall performance of the radio.

More soon …