Over the last couple of days in-between doing other things Iβve been writing and testing a BASH shell script that will completely configure a fully working AllStarLink node.
To use the script you must already have your RaspberryPi (preferably a Pi 3b) connected to your LAN with full internet access using the Raspbian based version of the AllStarLink software downloadable from here.
The specific version I use is:
asl-2.0.0-beta.6-kc1kcc-20210324-rpi-armhf
I have tested the BASH script using this specific version of O/S only.
Once your RaspberryPi 3b is up and running, has full internet access and is accessible on your local LAN, using SSH login in as the user βrepeaterβ using the password βallstarlinkβ.
Itβs important you only use this login to configure the node as this is the user the script is expecting to be run by. You must login via SSH as the SHARI device needs to be connected to the RaspberryPi 3b and you wonβt be able to connect a keyboard and mouse at the same time. (If you are using two USB cables for the SHARI device then you can use a keyboard and mouse along with a monitor attached to your RaspberryPi instead of using SSH).
Once logged in as user repeater run the following wget command to download the zipped install script:
You are now ready to build your AllStarLink node. Before you run the script make sure you have your node number and node secret to hand. These are obtained from the AllStarLink portal.
Once youβve got all your node information you can run the script using the following command:
./install.sh
The script will now take you through the full process of updating the operating system as necessary, installing all the required packages and software. It will then reboot the RaspberryPi and you will need to login and run the script a second time using the command above.
On the second run the script will install some python specific software, ask you to enter your callsign, node number and node secret and will then configure your node. The last thing it does is configure the Allmon2 and Supermon Web Admin websites. During this process it will ask you to enter a password twice for the Admin user for the two websites, make sure you make a note of this password as you will need it to login and control your node.
Once the node is configured it will be rebooted and you will then be able to connect to your node using your favourite web browser and the user admin and the password you set above.
To access the Allmon2 web-admin system use the following URL:
For those of you who prefer Supermon you an use the following URL:
http://your-RaspberryPi-IP-Address/supermon
I have also pre-populated the Favorites button with a list of nodes that I use often. You can easily change these entries by editing the favorites.ini file in the /var/www/html/supermon directory as user root.
When you first login to your node via your web browser youβll notice that it says your node isnβt in the database. You can update the database by using the following URL in your web browser:
Looking to expand the device capability I stumbled across a really interesting little project that is still in the early stages of development but, is functional and worth trying out.
The TCΒ²-BBS Meshtastic Version is a simple BBS system that runs on a RaspberryPi, Linux PC or virtual machine (VM) and can connect to a Meshtastic device via either serial, USB or TCP/IP. Having my M0AWS-1 Meshtastic node at home connected to Wifi I decided to use a TCP/IP connection to the device from a Linux VM running the Python based TCΒ²-BBS Meshtastic BBS.
Following the instructions on how to deploy the BBS is pretty straight forward and it was up and running in no time at all. With a little editing of the code I soon had the Python based BBS software M0AWS branded and connected to my Meshtastic node-1.
The BBS system is very reminiscent of the old packet BBS systems of a bygone era but, it is ideal for the Meshtastic world as the simple menus and user interface are easily transmitted in seconds via the Mesh using minimal bandwidth.
The BBS is accessible by opening a Direct Message session with the M0AWS-1 node. Sending the letter H to the node will get you the initial help screen showing the menu above and then from there onwards itβs just a matter of selecting the menu item and following the BBS prompts to use the BBS.
The BBS also works across MQTT. I tested it with Dave, G4PPN and it worked perfectly via the Meshtastic MQTT server.
This simple but, effective BBS for the Meshtastic network will add a new message store/forward capability to the Mesh and could prove to be very important to the development of the Meshtastic mesh in the UK and the rest of the world.
Weβve recently added a new room to the Matrix HAM Radio Space for Digital Voice modes as this was an area of interest that didnβt really fit into any of the other rooms.
The new Digital Voice room has attracted a lot of attention from members, with a lot of the focus being on the AllStarLink system. Michael, DK1MI built an AllStarLink node in the cloud for us all to use for Matrix Nets and so I decided I had to get in on the fun.
The two USB connectors on the SHARI device are position such that they plug into two of the available 4 USB ports on the RaspberryPi without the need for cables. This keeps the whole solution together in one neat package.
Before you start you will need to obtain a node number and secret (password) from the AllStarLink Portal. To get this you will need to provide proof to the AllStarLink administrators that you are a licensed Amateur Radio (HAM) operator. This is done by uploading a copy of the first page of your HAM licence to the website for the admin team to check. This can take 24hrs to be completed so make sure you get this all done before trying to build your node. You cannot build a node successfully without a node number and secret.
Of course you will also need a transceiver that can operate on the 438.800Mhz frequency or other frequency of your choice on the 2m or 70cm HAM band.
You will also need to open port 4569 on your internet router and setup port forwarding to the IP Address that you will be using on your RaspberryPi node. Itβs important to use a static IP Address on your RaspberryPi.
There are quite a few different Linux based operating system (O/S) images that are available for the RaspberryPi devices that have been specifically tailored for the AllStarLink node and include all the necessary software and library packages out the box.
Once downloaded you need to burn the ISO image onto a suitable SD card for your RaspberryPi. I use BalenaEtcher as itβs extremely quick and reliable at burning ISO images to SD cards.
Of course if you are a hardline Linux command line junkie you can always use dd to create the SD card.
Once youβve got your O/S onto your SD card, slot it into your RaspberryPi making sure your SHARI device is connected to the two USB ports and then power it up. Make sure you have a good PSU for the RaspberryPi as the two devices together draw around 3A of current during the transmit cycle. (I use a 3.6A PSU from Amazon).
The default login for the Raspbian O/S is shown below. Login via SSH and configure your RaspberryPi for your local network. Itβs important to use a static IP Address configured either directly on the RaspberryPi or via DHCP in your router.
Next you need to change directory into the asterisk config file directory using the command shown below:
cd /etc/asterisk
In this directory you will find all the default config files that come as part of the distro. For this build weβre not going to use them and so we need to move them out of the way ready for a set of config files that have already been configured correctly.
Using the following commands create a new directory, move into that new directory and then move all the unwanted configuration files into it:
mkdir ORIGINAL-CONF-FILES
cd ./ORIGINAL-CONF-FILES
mv ../*.conf ./
ls -la
cd ../
You should now be back in the /etc/asterisk directory which will now be empty apart from the custom directory which we left in place.
You now need to copy the correctly configured configuration files into the /etc/asterisk directory. Start by downloading the zip file containing the new configuration files
Once downloaded, copy the .zip file into the repeater users home directory (/home/repeater) using either scp on the Linux command line or if using Windows you can use the FileZilla Client in SFTP mode using the login details above.
Once you have the .zip file in the repeater userβs home directory you need to copy the file into the /etc/asterisk directory as user root:
Next as user root, change directory into the /etc/asterisk directory and unzip the .zip file:
cd /etc/asterisk
unzip ./AllStarLink-Config-v3.zip
Once the file is unzipped you will have a directory called AllStarLink-Config in the /etc/asterisk directory. You now need to cd into the directory, copy all the files out of it into the /etc/asterisk directory leaving a copy in the AllStarLink-Config directory for future reference:
cd /etc/asterisk/AllStarLink-Config
cp ./* /etc/asterisk
cd /etc/asterisk
You now need to move a couple of files into the repeater users home directory using the following commands:
The gpioBASH script and configuration details were supplied by Mark, G1INU in the Digital Voice room on the Matrix. It adds the COS light functionality to the setup. The COS light will now light every time the SA818 hears RF on the input.
The next thing you need to do is configure the SA818 radio device in the SHARI. The script I used was originally from https://wiki.fm-funknetz.de/doku.php?id=fm-funknetz:technik:shari-sa818 all Iβve done is change the entries to switch off CTCSS and change the frequency to 438.800Mhz. Configuring the SA818 is done by running the SA818-running.pyPython programme that you moved into the repeater user home directory. Making sure you are still user root, run the following commands:
cd /home/repeater
./SA818-running.py
At this point your SHARI SA818 device will be configured to operate on 438.800Mhz and CTCSS will be disabled.
If you want to change the frequency or enable and set a CTCSS tone to access the node you will need to edit the Python programme using your favourite text editor and change the entries accordingly. Once changed rerun the program as shown above and your SHARI will be reconfigured to your new settings.
Next you need to move the allmon.ini.php file into the correct directory so that it enables access to the Allstar Monitor web page on the device so that you can manage connecting/disconnecting nodes. Use the following commands as user root to achieve this:
The allmon.ini.php file needs to have your node name entered into it to work correctly. As user root, change directory and edit the file using your favourite editor.
cd /var/www/html/allmon2
Using your text editor, search for the line starting [XXXXX] and change the XXXXX to your node number. Save the change and exit the file.
At this point you are almost complete, all that is left to do is add your node number and node secret into the appropriate configuration files in the /etc/asterisk directory.
Since I am a Linux command line junkie I use vi to edit all the configuration files on the command line as user root, but you can use any editor of your choice.
cd /etc/asterisk
Start with the extensions.conf file. Search for the line starting with NODE = and delete the XXXXX entry and insert your node number. Save the file and exit it.
Next you need to edit the iax.conf file. This time search for the line starting with register= and change the XXXXX for your node number and the YYYYYYYYYYYY for your node secret. Be careful not to accidentally delete any other characters in the lines otherwise it will corrupt the configuration file.
In the same file search for the two lines that start with secret = and change the YYYYYYYYYYYY for your node secret. Once you have changed both of the secret entries, save and exit the file.
The final file to edit is the rpt.conf file. Once again open the file using your favourite editor and search for the line starting with XXXXX = radio@127.0.0.1:4569/XXXXX, change the XXXXX entries for your node number making sure not to delete any other characters next to the XXXXX entries.
Further down in the same file there is a line that starts with [XXXXX], once again change the XXXXX for your node number making sure to keep the square brackets at each end of the node number as you edit it.
Finally move down to the very bottom of the file and find the two lines that start with /home/repeater/gpio, once again change the XXXXX entries for your node number.
The final thing to change in the rpt.conf file is to replace my callsign with your own callsign so that the node identifies itself correctly. Scroll through the file until you find the two lines shown below, delete M0AWS and add your own callsign instead making sure you keep all the spaces between words as shown below.
idrecording = |i DE M0AWS
idtalkover = |i DE M0AWS
Once this is done, save and exit the file. At this point your node should be fully configured and will only require a reboot to get it working.
As user root, reboot your raspi using the reboot command.
reboot
Once your raspi comes back online, login using SSH as user repeater and then become root user using the sudo command detailed above.
You now need to create the admin user password for the Allstar Monitor web page on the device. This is done using the following commands as user root:
cd /var/www/html/allmon2
htpasswd -c .htpasswd admin
You will be asked to enter a password twice for the admin user. Make sure you make a note of this user/password as you will need it to login to the web page.
Finally check that the controlpanel.ini.php file is in the /var/www/html/allmon2 directory:
ls -la /var/www/html/allmon2/controlpanel.ini.php
If the file isnβt shown in the directory, enter the following commands to create the file in the correct place as user root and then exit the SSH session:
cd /var/www/html/allmon2
cp ./controlpanel.ini.txt ./controlpanel.ini.php
cd
exit
Once this is done your configuration is complete, logout from the terminal session by entering exit once more and your SSH session will terminate.
Using your favourite web browser enter the IP Address of your raspi into the URL bar as shown below:
http://<Your-Raspi-IP>/allmon2
Note: remove the <> from the URL once you have entered the required information.
Once this is done you should be presented with your node control panel as shown below.
First visit to the AllStar Monitor Web Page
Login using Admin and the password you set above and you are now ready to start using your node.
Itβs a good idea to connect to node 55553 which is a parrot test node to check your audio levels. You can do this by entering the node into the field at the top left and pressing the connect button.
M0AWS AllStarLink Node 61928 connected to 55553 Parrot
Once connected, tune your radio to 438.800Mhz FM and transmit a test message using your callsign and test123, or something similar. The parrot will then play your recording back to you so that you can hear how you sound. It will also comment on your audio level as to whether it is OK or not.
You are now connected to AllStarLink network and have the world at your finger tips. Below is a small list of nodes in the UK, Australia and America to get you started chatting with other HAMs via your node.
57881 Matrix HAM Radio Space AllStarLink Node (Hosted by Dk1MI)
55553 ASL Parrot for testing
41522 M0HOY HUBNet Manchester, UK
60349 VK6CIA 439.275 Perth, Western Australia
51077 VK6SEG South West Hub B Albany WA
2167 M0JKT FreeSTAR UK HUB 2 freestar.network
53573 NWAG NW AllStar Group Lancashire, UK
27339 East Coast Hub Wilmington NC USA
M0AWS AllStarLink Node 61928 sitting on the equipment rack
Thanks to Michael, DK1MI for building and hosting the Matrix HAM Radio Space AllStarLink Node (57881) and getting us all started in the world of AllStarLink!
We hope to be having regular Matrix Netβs on the node soon for all Matrix members and visitors. Weβll organise days/times via the Digital Voice room.
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.
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 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 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 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 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 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 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.
I get quite a few emails from readers of my blog asking how my QO-100 satellite station is put together and so, I thought perhaps now is a good time to put together an article detailing the complete build.
My QO-100 satellite ground station is built around my little Icom IC-705 QRP transceiver, itβs a great little rig and is ideal for the purpose of driving a 2.4Ghz transverter/up-converter.
Of course all the software used for the project is Opensource and freely available on the internet.
M0AWS QO-100 Ground Station Build Visual (Click to Enlarge)
The station comprises of the following building blocks:
QO-100 Ground Station Dashboard developed using Node-RED
LMR400-UF/RG58 Coax Cable
M0AWS QO-100 1.1m (110cm) off-set Dish with IceCone Helix antenna and Bullseye LNB.
To get a good clear view of the QO-100 satellite I have the dish mount 3.2m above the ground. This keeps it well clear of anyone walking past in the garden and beams the signal up at an angle of 26.2 degrees keeping well clear of neighbouring gardens.
The waterproof enclosure below the dish houses all the 2.4Ghz equipment so that the distance between the feed point and the amplifier are kept to a minimum.
The DXPatrol amplifier is specβd to run at 28v/12w or 12v/5w, I found that running it at 28v produced too much output for the satellite and would cause the LEILA alarm on the satellite to trip constantly. Running the amp at 12v with a maximum of 5w output (average 2.5-3.5w) is more than enough for me to have a 5/9+10 signal on the transponder.
The large 1.1m dish gives me quite an advantage on receive enabling me to hear the very weak stations with ease compared to other stations.
2.4Ghz ground station enclosure ready for testing
The photo above shows the 2.4Ghz equipment mounted in the waterproof enclosure below the dish. This photo was taken during the initial build phase before I rewired it so, the amplifier is shown connected to the 28v feed. To rewire the amp to 12v was just a matter of removing the 28v converter and connecting the amp directly to the 12v feed instead. This reduced the output from a maximum of 12w down to a maximum of 5w giving a much better (considerate) level on the satellite.
Itβs important to keep all interconnects as short as possible as at 2.4Ghz it is very easy to build up a lot of loss between devices.
For the connection from the IC-705 to the 2.4Ghz Up-Converter I used a 7m run of LMR-400 coax cable. The IC-705 is set to put out just 300mW on 144Mhz up to the 2.4Ghz converter and so itβs important to use a good quality coax cable.
Once again the output from the 2.4Ghz amplifier uses 1.5m of LMR-400-UF coax cable to feed up to the 2.2 turn Icecone Helix Antenna mounted on the dish. This keeps loss to a minimum and is well worth the investment.
Bullseye 10Khz High Stability Unversal Single LNB for 10.489-12.750Ghz
The receive path starts with a Bullseye LNB, this is a high gain LNB that is probably one of the best you could use for QO-100 operations. Itβs fairly stable frequency wise but, does drift a little in the summer months with the high temperature changes but, overall it really is a very good LNB.
The 12v feed to the LNB is via the coax and is injected by the Bias-T device that is in the radio shack. This 12v feed powers the LNA and associated electronics in the LNB to provide a gain of 50-60dB.
Bias-T to inject 12v feed into the coax for the Bullseye LNB
From the Bias-T the coax comes down to the NooElec SmartSDR receiver. This is a really cheap SDR device (<Β£35 on Amazon) based on the RTL-SDR device but, it works incredibly well. I originally used a Funcube Dongle Pro+ for the receive side however, it really didnβt handle large signals very well and there was a lot of signal ghosting so, I swapped it out for the NooElec SDR and havenβt looked back since.
The NooElec SmartSDR is controlled via the excellent Opensource software GQRX SDR. Iβve been using GQRX SDR for some years now and itβs proven itself to be extremely stable and reliable with support for a good number of SDR devices.
To enhance the operation of the SDR device I have added a Griffin Powermate VFO knob to the build. This is an old USB device that I originally purchased to control my Flex3000 transceiver but, since I sold that many moons ago I decided to use it as a VFO knob in my QO-100 ground station. Details on how I got it working with the station are detailed in this blog article.
Having the need for full duplex operation on the satellite this complicates things when it comes to VFO tracking and general control of the two radios involved in the solution and so I set about creating a QO-100 Dashboard using the great Node-RED graphical programming environment to create a web app that simplifies the management of the entire setup.
M0AWS QO-100 ground Station Control Dashboard built using Node-RED.
The QO-100 Dashboard synchronises the transmit and receive VFOβs, enables split operation so that you can transmit and receive on different frequencies at the same time and a whole host of other things using very little code. Most of the functionality is created using standard Node-RED nodes. More info on Node-RED can be found on the Opensource.radio Wiki or from the menuβs above.
Iβll be publishing an article all about the QO-100 Dashboard in the very near future along with a downloadable flow file.
Iβm extremely pleased with how well the ground station works and have had well in excess of 500 QSOβs on the QO-100 satellite over the last last year.
With the recent explosion of artificial intelligence (AI) art generators that are making the news of late for all the wrong reasons, I decided to see if I could put it to good use and design some futuristic QSL cards.
Having recently been contacted by the Special Callsigns QSL Manager and being advised that there were 18 QSL cards waiting for me, I decided it was time to create some QSL cards of my own for future use.
Having never used any form of online AI and not having any artistic abilities I was amazed how easy it was to create images using nothing more than a paragraph or so of text to describe what it was I wanted to create.
Since all the QSL cards I received were for contacts on the QO-100 satellite, I set out to create a visually futuristic QSL card that was based around a radio HAM operator and satellite communications.
M0AWS β 1st attempt at creating a futuristic QSL card image using AI Art
To my surprise the results of my first image generation were surprisingly good. The AI generated an image that resembled the simple text that I entered, although I never requested a one legged HAM operator!
Pleased with my very first attempt I gradually improved the description of what I was looking for, adding more and more detail to the text and including things that I wanted to see in the image. Over a fairly short period of time this approach started to generate some very interesting images.
M0AWS β AI Art QSL Image attempt 2M0AWS β AI Art QSL Image attempt 3M0AWS β AI Art QSL Image attempt 4
With each iteration I gradually got closer to what I was trying to achieve but, never quite got exactly what I wanted so, I decided to rewrite the descriptive text adding even more information than before. The text was now a full blown paragraph with quite specific things described including the angle at which the scene was being viewed from.
The other option I wanted to try out was the theme functionality that the AI offered. This allows you to set a theme for the image from things like steampunk, cartoon, manga, real world and many more. The results were quite impressive and added yet another angle to the image generation.
M0AWS β AI Art QSL Theme 1M0AWS β AI Art QSL Theme 3M0AWS β AI Art QSL Theme 2
I disappeared down the theme AI Art generation rabbit hole for quite some time and generated some very interesting and fun results. The best by far though was the Thunderbirds themed image, this did put a smile on my face!
M0AWS β AI Art QSL Thunderbirds Themed
At the other end of the spectrum I tried the Salvador Dalli theme, it produced an image that was very like the work of the famous artist but, wasnβt quite what I was looking for.
M0AWS β AI Art QSL Salvador Dalli Themed
After much fun I eventually settled on the image I was after, a futuristic scene of a radio HAM with a satellite ground station over looking a mountain range and city below.
M0AWS Satellite QSL Card generated using online AI
Iβm really pleased with the results from my ventures into AI generated art. The next challenge is to create a QSL card for HF bands Contacts.
This solution has worked incredibly well from the outset and over time Iβve added extra functionality that Iβve found to be useful to enhance the overall setup.
The latest addition to the ground station solution is a Sennheiser Headset that I picked up for just Β£56 on Amazon (Much cheaper than the Heil equivalents at the HAM stores!) and have found it to be excellent. The audio quality from both the mic and the headphones is extremely good whilst being light and comfortable to wear for extended periods.
M0AWS β Sennheiser SC 165 Headset
To incorporate this into the ground station the headset is connected to my Kubuntu PC and the audio chain to the IC-705 is sent wirelessly using the latest version of WFView. This works extremely well. The receive audio comes directly from the GQRX SDR software to the headphones so that I have a full duplex headset combination.
Audio routing is done via pulse audio on the Kubuntu PC and is very easy to setup.
Since I no longer have a mic connected to the IC-705 directly I found that I needed a way to operate the PTT wirelessly and this is where the latest addition to my NodeRed QO-100 Dashboard comes in.
Adding a little functionality to the NodeRed flow I was able to create a button that toggles the IC-705 PTT state on and off giving me the ability to easily switch between receive and transmit using a simple XMLRPC node without the need for a physical PTT button.
M0AWS β Additional NodeRed PTT Flow
The PTT state and PTT button colour change is handled by the Toggle PTT function node shown in the above flow. The code to do this is relatively simple as shown below.
M0AWS β NodeRed Toggle PTT Function to change button colour
The entire QO-100 Dashboard flow has grown somewhat from itβs initial conception but, it provides all the functionality that I require to operate a full duplex station on the QO-100 satellite.
M0AWS β NodeRed QO-100 Dashboard complete flow
This simple but, effective PTT solution works great and leaves me hands free whilst talking on the satellite or the HF bands when using the IC-705. This also means that when using my IC-705 it only requires the coax to be connected, everything else is done via Wifi keeping things nice and tidy in the radio shack.
M0AWS β Updated NodeRed QO-100 Dashboard with PTT button
The image above shows the QO-100 ground station in receive cycle with the RX/TX VFOβs in split mode as the DX station was slightly off frequency to me. The PTT button goes red when in TX mode just like the split button shown above for visual reference.
As you can probably tell, Iβm a huge fan of NodeRed and have put together quite a few projects using it, including my HF Bands Live Monitoring web page.
Iβve got a couple of old RaspberryPi computers on the shelf in the shack and so decided it was time for me to put one of them to good use. The first model on the shelf is the oldest and is one of the very first RaspberryPi 1 computers that was released. (Itβs the one with the yellow analog video signal output on the board!). This particular model is extremely slow but, I hang onto it just as a reminder of the first SBC in the line.
The second one is a RaspberryPi 2, a quad core machine that is only slightly faster than the first model but, itβs powerful enough to run HAM Clock.
It didnβt take long to install a vanilla Raspbian Desktop O/S and get it configured on the local LAN. I installed a few packages that I like to have available on all my Linux machines and then started on the HAM Clock install.
The first thing I needed to do was install the X11 development library that is required to compile the HAM Clock binary. To do this, open a terminal and enter the command below to install the package.
sudo apt install libx11-dev
You will need to type in your password to obtain root privileges to complete the installation process and then wait for the package to be installed.
The HAM Clock source code is available from the HAM Clock Website under the Download tab in .zip format. Once downloaded unzip the file and change directory into the ESPHamClock folder ready to compile the code.
cd ~/Downloads/ESPHamClock
Once in the ESPHamClock directory you can run a command to get details on how to compile the source code.
make help
This will check your system to see what screen resolutions are available and then list out the options available to you for compiling the code as shown below.
The following targets are available (as appropriate for your system)
hamclock-800x480 X11 GUI desktop version, AKA hamclock
hamclock-1600x960 X11 GUI desktop version, larger, AKA hamclock-big
hamclock-2400x1440 X11 GUI desktop version, larger yet
hamclock-3200x1920 X11 GUI desktop version, huge
hamclock-web-800x480 web server only (no display)
hamclock-web-1600x960 web server only (no display), larger
hamclock-web-2400x1440 web server only (no display), larger yet
hamclock-web-3200x1920 web server only (no display), huge
hamclock-fb0-800x480 RPi stand-alone /dev/fb0, AKA hamclock-fb0-small
hamclock-fb0-1600x960 RPi stand-alone /dev/fb0, larger, AKA hamclock-fb0
hamclock-fb0-2400x1440 RPi stand-alone /dev/fb0, larger yet
hamclock-fb0-3200x1920 RPi stand-alone /dev/fb0, huge
For my system 1600Γ960 was the best option and so I compiled the code using the command as follows.
make hamclock-1600x960
Itβs no surprise that it takes a while to compile the code on such a low powered device. I canβt tell you how long exactly as I went and made a brew and did a few other things whilst it was running but, it took a while!
Once the compilation was complete you then need to install the application to your desktop environment and move the binary to the correct directory.
make install
Once the install is complete there should be an icon on the GUI desktop to start the app. If like mine it didnβt create the icon then you can start the HAM Clock by using the following command in the terminal.
/usr/local/bin/hamclock &
The first time you start the app youβll need to enter your station information, callsign, location etc and then select the settings you want to use. There are 4 pages of options for configuring the app all of which are described in the user documentation.
M0AWS β HAM Clock running on RaspberryPi Computer
Once the configuration is complete the map will populate with the default panels and data. I tailored my panels to show the items of interest to me namely, POTA, SOTA, International Beacon Project and the ISS space station track. I was hoping to be able to display more than one satellite at a time on the map however, the interface only allows for one bird to be tracked at a time.
You can access the HAM Clock from another computer using a web browser pointed at your RaspberryPi on your local LAN using either the IP address or the hostname of the device.
http://<hostname>:8081/live.html
or
http://<ip-address>:8081/live.html
You can also control the HAM Clock remotely via web browser using a set of web commands that are detailed on port 8080 of the device.
http://<hostname or ip-address>:8080/
M0AWS β HAM Clock remote command set
This is a great addition to any HAM shack especially if, like me you have an old HDTV on the wall of the shack that is crying out to display something useful.
After initially finding that I couldnβt tune the 868Mhz ground plane antenna with the radials bent down at 45 degrees I decided to experiment to find out why.
Initially I had the radials connected to the 4 corners of the base of the chassis mount N Type socket. This works great if you have the radials completely horizontal and gives an SWR of 1.1:1 but, with the radials bent down at 45 degrees the best SWR is around 2:1.
M0AWS 868Mhz Ground Plane Antenna Close Up
Removing the radials from the base of the N Type chassis socket and soldering them to the outer of the N Type plug at the same level as the feed point for the radiating element I found that an almost perfect SWR can be achieved very easily.
M0AWS 868Mhz Antenna with radials soldered to the N Type Plug
It seemed weird to me that such a small change could have such a big effect on the obtainable SWR for the antenna but, as can be seen in the image below with the radials soldered to the N Type plug and bent downwards I immediately got an SWR of 1.07:1 and a much wider SWR curve.
M0AWS 868Mhz Antenna SWR curve with radials soldered to N Type plug.
By making my own antennas Iβm learning a lot about antenna design for the 800-900Mhz frequency range. Minor changes seem to have a much bigger impact than they do at much lower frequencies.
The loading of the Meshtastic firmware on the Heltec ESP32 v3 devices is really simple if done via a Linux PC/RaspberryPi. There are of course other ways to load the firmware using a web browser that supports USB/Serial devices and this method is preferred by many however, being a Linux command line junkie I far prefer the simplicity of using the Linux command line to do the job.
So, how much experience with the Linux command line do you need?
In all honesty none at all. If you know how to use copy and paste then all you have to do is follow the simple steps Iβve detailed below. In reality it will only take a few minutes to do so, donβt be put off by the long article, Iβve just tried to cover everything and provide screen shots along the way.
To get started fire up your Linux PC/RaspberryPi and get yourself to the desktop. Next you will need to open a Linux command line terminal. This is often just called βTerminalβ on most Linux desktop installations.
The first thing you need to do is check to see if you have python3 installed. This is done using the following command:
python3 --version
Running the above command you should see a result something like what is shown below.
Python3 command showing installed version
Next we need to check if pip3 is installed using the following command:
pip3 --version
If pip3 is installed then you should get a result similar to that shown below.
Pip3 command showing installed version
If your computer doesnβt have Python3 or Pip3 installed they can be easily installed from the command line. To install Python3 enter the following command into your terminal:
sudo apt install python3
You will be asked to enter your login password and then the installation will begin. You should see output in your terminal similar to that shown below.
Installing python3
To install Pip3 enter the following command into your terminal:
sudo apt-get install python3-pip
This will detail a long list of packages that will be installed on your computer, Enter Y to answer Yes and let the packages install.
M0AWS β Installing Pip3
You will see many messages scroll up the terminal screen such as getting, selecting, preparing, unpacking and setting up, this is all normal.
Once Pip3 is installed you should be dropped back at the command line with a terminal screen that looks something like the one below.
M0AWS β Pip3 install complete
At this point you will now have Python3 and Pip3 available on your computer.
You are now ready to install the tool we are going to use to check your Meshtastic device is connected to your PC and install the firmware to it. (Do not connect your Meshtastic device to your PC just yet!)
Run the following command in your terminal to install the ESP Tool:
pip3 install --upgrade esptool
You will see an output from the installation process similar to that shown below.
M0AWS β Installing the ESP Tool
Now that we have the ESP tool installed plug your Meshtastic device into your USB port on your computer and then run the following command to interrogate the device to find out what kind of device it is.
esptool chip_id
You should see the information about your device that looks similar to that shown below. This information should confirm the device type (ESP32) and which USB port it is connected on (/dev/tty/USB0).
M0AWS β Expected output from the ESPTool command showing device information
Once you have this information you will need to download the firmware for your device from Github using the following URL:
https://github.com/meshtastic/firmware/releases
At the time of writing this I downloaded and used the v2.2.22.404d firmware which I have found to be extremely reliable.
In your terminal you now need to change directory (cd) into the Downloads directory where your downloaded firmware should be. (If you downloaded your firmware into another directory then you will need to cd into that directory). Use the following command to change directory into the Downloads directory.
cd ~/Downloads
Now we need to find the filename of the firmware we have just downloaded, we can use the list directory contents command to find the file using the simple command below.
ls -la firm*.zip
M0AWS β List firmware file name from the Linux command line
In the screenshot above we can see that the filename is called firmware-2.2.22.404d0dd.zip. We now need to unzip the file using the unzip command.
unzip firmware-2.2.22.404d0dd.zip
Youβll see lots of output from the unzip command about inflating files etc, this is normal.
Once the file has been unzipped you are ready to load the firmware onto your Heltec device. First you need to find the .bin file for your Heltec device. Use the following ls command to list the files available.
ls -la firmware-heltec*
This will list out all the firmware file options for the Heltec device as shown below.
M0AWS β List of Heltec firmware files
The file you need to use for a new firmware installation on a Heltec v3 device is firmware-heltec-v3-2.2.22.404d0dd.bin. (If you downloaded a different version then the version number in the file will be different).
Using the filename you found above enter the following command into your terminal.
This will now clear down your Heltec device and will load the Meshtastic firmware. This will take a little time especially on slower computers like the RaspberryPi so, just let it run until it finishes. Do not interrupt the process whilst it is running.
Installing the Meshtastic firmware onto my Heltec ESP32 v3 using the Python command line tool
Once the firmware is loaded the Heltec device will reboot and you will see the Meshtastic banner on the OLED screen. Your device is now ready for configuration.
Now that you have Python3 and Pip3 installed you can load the firmware onto other devices just by downloading the firmware and then running the device-install.sh script file, you wonβt need to install Python3 or Pip3 again.
If you want to update your device in the future to a newer version of the firmware then just use the update script and update binary file as shown below.
Meshtastic is a relatively new thing in the internet of things (IOT) world and is gaining traction in the U.K. at the moment.
So what is Meshtastic?
Meshtastic is an open source, off-grid, decentralised mesh network built to run on affordable, low-power devices on the 868Mhz industrial, scientific, and medicalΒ (ISM) band. (Some devices can also run on the 433Mhz 70cm HAM band.)
The ISM band is licence free but, has limits on the RF power levels that can be used. The one plus over the HAM bands is that you can legally transfer encrypted messages over the ISM band making it secure.
The best way to think of Meshtastic is a radio version of the online decentralised Matrix chat system but, without the large server requirements and ever growing database!
Heltec ESP32 v3 Wifi, Bluetooth and 868Mhz device for Meshtastic
There are quite a few Meshtastic compatible devices on the market today with many costing around the Β£20 mark whilst others like the LillyGo T-Echo costing over Β£100 in the U.K. even though they are less than half the price in the USA.
Since Iβm just starting out on my Meshtastic adventure I thought Iβd start with a pair of Heltec ESP32 v3 devices that are normally readily available on Amazon but, due to the current push to build a U.K. wide mesh, they are currently out of stock pretty much everywhere.
Loading the Meshtastic firmware onto the devices is fairly straight forward and can be done using the web installer via either the Edge or Chromium web browsers. (Note: If using Windows O/S you will need to install some drivers from the Meshtastic website to be able to communicate with the devices)
Having neither of the two browsers and being a Linux command line junkie I decided to use the Python programme to load the firmware onto the two devices. Itβs worth noting that you donβt need any drivers to be able to communicate with the devices if youβre using either Debian or one of the many Ubuntu flavours of Linux O/S.
Using the Python command line program sounds like a more complicated approach but, in reality itβs super simple, extremely reliable, quick and if like me you use a Linux PC in the radio shack then you most likely already have most of what you need to get the job done. Just follow the simple steps as laid out on the Meshtastic web site and youβll have the firmware loaded in no time at all.
Installing the Meshtastic firmware onto my Heltec ESP32 v3 using the Python command line tool
The firmware takes less than a minute to copy across to the Heltec device and is automatically rebooted ready for configuration once the transfer has completed.
It is possible to configure the device via the command line tool however, since there is a nice GUI app for both Apple iOS and Android devices I decided to install the Meshtastic app on my iPad and connect to the device via Bluetooth to configure it.
Once youβve got the Meshtastic app installed on your device and have connected via Bluetooth youβll be ready to start configuring the device to join the mesh. The first thing you want to do is set the region. This is different in each country but, in the UK we use the EU_868 region settings. This will set the device to use the 868Mhz ISM band which is the band being used to build the U.K. wide mesh.
View of the Meshtastic app on iOS showing the configuration options for the Heltec ESP32 v3
There is a multitude of configuration options within the app which I will go into in greater detail in a series of articles at a later date.
Heltec ESP32 v3 running Meshtastic Firmware
For those of you that, like me arenβt near any other nodes you can connect the devices to the internet and use the Meshtastic MQTT server to communicate with other nodes. This of course isnβt off-grid but, it will get you started until the mesh grows into your local area at which point your device will automatically start communicating with the other nodes over radio.
Meshtastic MQTT connectivity
Once you are connected to either the MQTT server or other nodes via radio you will see the other node details appear in the Meshtastic app. Itβs interesting to look at the information and see signal strengths and traffic levels etc for each node.
View of the Meshtastic app on iOS showing Nodes in the Mesh and Device Metrics for the M0AWS-1 Node
There are a multitude of cases available for the Heltec v3 devices, especially if you have access to a 3D printer. One of the nicest cases I have seen is the Bender from IKB3D (I know, itβs a strange name!) but, it really is a super little case for the Heltec series of devices.
Bender case for Heltec ESP32 v3 devices
You can either buy the 3D print files for Β£8.99 and print it yourself or just order a pre-printed and assembled case directly from the website although, due to demand there is a long lead time currently.
Iβve been wanting to tidy up the cabling to the 12v DC PSU for some time in the radio shack as like many HAMs I have a number of radios/devices that all need a 12v feed but, only two connectors on the front of the PSU. The net result was a birds nest of wires all connected to the PSU making it impossible to disconnect one device without others getting disconnected at the same time.
Looking online I found that many of the HAM outlets stores sell nice little 12v DC distribution boxes that would be ideal however, theyβre all priced somewhat high for what they are so, I decided to purchase the parts and make one myself.
Searching on Amazon I found all the necessary parts for less than a quarter of the cost of commercially made units. A couple of days later the parts arrived and sat on my desk in the shack for a few weeks. Yesterday I finally found the time to make a start on the project.
M0AWS home-brew 12v DC Distribution Box
After much drilling and filing I had the necessary holes/slots cut in the plastic box for the 4mm connectors and fuse holders and started wiring them up. Part way through my 30 year old soldering iron decided to die and so I had to stop and wait for a replacement to arrive.
M0AWS completed 12v DC Distribution Box
With the new soldering iron in hand it only took 30mins or so to complete all the joints and I soon had the box together ready to test with my multimeter to ensure I didnβt have any shorts or crossed wires.
With testing complete and fuses in place I connected it up to the PSU and then connected all the devices one by one checking for voltage drops as I went.
M0AWS 12v DC Distribution Box
I now have my CG3000 remote auto ATU, GPSDO, QO-100 ground station and IC-705 all nicely connected in a much tidier fashion than before, all for considerably less than the commercially available alternatives.
This antenna modelling session came about after a conversation with Michael, DK1MI on the Matrix. I believe the antenna design was originally done by Artur, M0PLK with reviews being on EHAM.
The antenna takes the form of a simple inverted triangular loop with a 5.8m flat top and two diagonals each 5.6m long coming down to a point. The antenna is fed in the centre of the flat top with 450 Ohm open ladder line and a 4:1 Balun. This antenna will require an ATU on all bands as the modelling shows a very wide range of impedances at the feed point.
Multi-Band Delta Loop Antenna View
The design seems to suggest using two fixed aluminium tubes with the wire fed up through them for the two diagonal elements of the antenna however, it would probably be easier to use a pair of collapsable fibre glass poles (Not Carbon fibre) with the wire attached via some clips or tape.
I decided to model the antenna with the top horizontal wire 10m above ground putting the point of the triangle 5.2m above ground. I felt this was an achievable height for most HAMs. Lowering the antenna will raise the resultant angle of maximum radiation on all bands.
Looking at the 2D Far Field Plots (2DFFP) the antenna radiates through the loop as expected with a higher radiation angle on the lowest band and the lowest radiation angle on the highest band. The antenna is of course bi-directional and so could be rotated just 180 degrees to obtain global coverage.
On the 30m band the antenna has a very high angle of maximum radiation making it ideal for short distances. There is a little gain to be had at 25 degrees however, this is nowhere near the maximum but, will possibly aid working longer distances. A maximum gain of 5.31dBi is obtained at 72 Degrees on the 30m band.
Multi-Band Delta Loop Antenna 30m 2D Far Field Plot
On the 20m band the 2DFFP is fairly similar to that of the 30m band but, with 5.57dBi gain at a lower angle of 34 Degrees. This will provide excellent results on medium distance contacts and reasonable results on the long haul.
Multi-Band Delta Loop Antenna 20m 2D Far Field Plot
Once above 14Mhz things start to get more interesting. From the 17m band upwards the radiation pattern changes quite drastically and starts to provide some excellent gain at relatively low angles. This will improve the antennaβs DX performance considerably on the higher bands.
Looking at the 17m band the angle of maximum radiation is now down to 26 degrees with a gain of 7.64dBi. At 12 degrees there is a gain of 4.59dBi. This radiation pattern will make this antenna ideal for the medium to long haul contact with very little interference from NVIS signals.
Multi-Band Delta Loop Antenna 17m 2D Far Field Plot
The 15m band follows the trend with the angle of max radiation now down to 22 degrees with a max gain of 8.54dBi. Even at 10 degrees there is a gain of 5.34dBi which will be very welcome for DXing. There is slightly more near vertical incident skywave (NVIS) radiation on the 15m band and so the antenna should provide short, medium and long haul contacts with the latter being favoured.
Multi-Band Delta Loop Antenna 15m 2D Far Field Plot
Moving up to the 12m band the angle of maximum radiation now comes down to 18 degrees with a gain of 8.61dBi. There is also 5dBi of gain to be had at 8 degrees which is ideal for DXing. Unfortunately there is slightly more NVIS radiation on the 12m band than there is on the 15m band. Iβm sure with a little change in height this could be reduced such that the antenna provides only low angle radiation.
Multi-Band Delta Loop Antenna 12m 2D Far Field Plot
Finally we reach the 10m band, this is where the antenna has the lowest angle of maximum radiation. With 8.56dBi gain at 16 Degrees, 5.59dBi at 8 degrees and a much reduced NVIS radiation. This antenna should be excellent for the long haul on 28-29Mhz. (It would also make an excellent 11m/CB antenna).
Multi-Band Delta Loop Antenna 10m 2D Far Field Plot
Itβs interesting to note the similarities between this multi-band delta loop design and my Bi-Directional Slot Fed Antenna design. They both exhibit very similar radiation patterns and gain figures with the Slot Fed Antenna providing slightly more gain and an even lower angle of maximum radiation on the supported bands.
Overall this easy to construct multi-band delta loop antenna would be ideal for the HAM that just wants a single antenna for 30m and upwards or is looking to go portable. The only disadvantage is that a good Remote Auto ATU is required to provide matching of the antenna to the 50 ohm coax at the feed point. Something like the LDG RT100 would be an ideal ATU choice for this application and would remove the losses caused by having a high SWR on the coax feed to the antenna.
Using an ATU in the radio in the shack isnβt going to provide the same results as the coax cable from the antenna to the shack will become part of the antenna and will be detrimental to the antenna performance. It will also create high losses on the coax feed to the antenna due to high SWR being present over the length of the coaxial feed.
Iβve been doing some antenna modelling and comparisons for John, W2VP comparing some phased and parasitic arrays. One of the phased arrays I modelled was an End-Fed-Half-Wave (EFHW) phased vertical array for the 40m band. Itβs got such a nice radiation pattern that I thought Iβd add it to my antenna pages here on the website for others to read too.
M0AWS 40m Band EFHW Phased Vertical Array Antenna View
The EFHW Vertical Phased Array is as simple as two vertical half wave wires both of which are fed via their own 49:1 Unun. Wire 1 (radiator) is exactly 20m tall and wire 2 (reflector) is 21m tall. The space between them is exactly 10.5m.
This simple antenna arrangement gives a surprisingly good radiation pattern with a reasonable forward gain and front-to-back (FB) ratio.
M0AWS 40m Band EFHW Phased Vertical Array 3D Far Field Plot
The antenna has quite a wide beam width which is to be expected from a pair of phased verticals. The nice thing about this array is that it has very little in the way of high angle radiation. This makes this antenna ideal for long distance communications. This isnβt an antenna for local chatter!
M0AWS 40m Band EFHW Phased Vertical Array 2D Far Field Plot
The 2D Far Field Plot shows that the antenna has a forward gain of 3.16dBi at 19 degrees. This is some 8 degrees lower than a typical 1/4 wave vertical phased array. The array also has a very respectable front-to-back (FB) ratio of 20.53dB.
Both elements in the array will need to be fed via individual 49:1 Ununs with the reflector requiring a feed phase angle of 100 degrees. A 100 degree phase angle gives better performance than the typical 90 degree phase angle that is typically used for 1/4 wave arrays.
For such a simple design this antenna should give great DX results as long as you have the necessary supports for the two vertical wires and the space for the guy lines. If only my garden was much bigger and I had some large trees to hand!
Summary:
Radiator (Element 1): 20m Reflector (Element 2): 21m Reflector Feed Phase Angle: 100 Deg Wire Dia: 4mm Feed Type: 49:1 Unun on each vertical element and a phasing harness Impedance: 50 Ohm SWR: <1.5:1 across whole band
Since I put together my Inverted-L antenna and Pi-Network ATU Iβve been having a lot of fun on the low bands.
Getting back onto 160m has been most enjoyable and Iβve now had over 100 βTop Bandβ contacts with distances covered as far as 3453 Miles into Sosnovoborsk Asiatic Russia.
I must admit I am amazed at the distances achieved on the 160m band as the antenna isnβt very high above ground level when compared to a single wave length on 160m.
M0AWS Inverted-L Antenna View
The Inverted-L antenna at the M0AWS QTH was designed purely around the size of the back garden. Using a couple of 10m Spiderpoles the vertical section of the antenna is 10m tall and the horizontal section is 28m long. Naturally the antenna resonates around 2.53Mhz but, can be tuned to resonate anywhere on any band using the Pi-Network ATU I built that is situated at the base of the vertical section of the antenna.
Looking at the far field plots for the antenna on each band we see that as we move higher in frequency the radiation pattern becomes more complex and the radiation angle gets lower, exactly what we would expect from such an antenna. The antenna runs pretty much North/South in the garden ( X axis on the diagram above) and so we would expect the antenna to radiate East/West (Y axis on the diagram above) however, this isnβt always the case.
M0AWS Inverted-L Antenna 160m 3D Far Field PlotM0AWS Inverted-L Antenna 160m 2D Far Field Plot
(Click Far Field Plots for full screen view)
On 160m the antenna favours the South (-X Axis) and presents some usable high angle gain although, from using the antenna you would never know this to be the case as it seems to have pretty good all round coverage. With the best distance of 3453 Miles being covered to the East into Asiatic Russia the antenna performs well even though the far field plot is slightly biased to the South.
M0AWS Inverted-L Antenna 80m 3D Far Field PlotM0AWS Inverted-L Antenna 80m 2D Far Field Plot
On the 80m band the Inverted-L antenna becomes a cloud warmer and exhibits very high angle radiation. On 80m the antenna is ideal for NVIS Inter-G propagation and is great for rag chewing with other UK/Near EU stations.
M0AWS Inverted-L Antenna 60m 3D Far Field PlotM0AWS Inverted-L Antenna 60m 2D Far Field Plot
Looking at the far field plots for the 60m band once again the antenna provides lots of high angle gain however, there is also some very useable lower angle gain that has proven to be excellent for working long hauls into North America and east into Central Asia. On the 60m band during the day the antenna is excellent for Inter-G chatting, using just 20w-40w I can very easily chat with other UK HAMs even when the band is noisy.
M0AWS Inverted-L Antenna 40m 3D Far Field PlotM0AWS Inverted-L Antenna 40m 2D Far Field Plot
Moving on up to the 40m band we find the far field plot starts to get a little more complex. Looking at the 3D plot youβd think that the antenna favoured the South (-X Axis) however, in reality it favours the NorthWest with both some high and low angle gain. This antenna has proven to be excellent for DXing into North America on 40m but, has also been great for DXing into South America getting great signal reports from stations in Panama at a distance of 5415 Miles. During the day NVIS propagation is excellent and I find I can chat with other UK and near EU stations with ease using just 25w.
M0AWS Inverted-L Antenna 60m/40m Global Coverage
Above is a screen shot from PSKReporter showing stations that have heard me on the 40m and 60m bands. As you can see, global coverage is excellent with stations as far as Australia and New Zealand hearing me on the 40m band and stations on the West Coast USA hearing me on the 60m band. I was also pleased to see I was heard in Africa on both bands, a region of the world I would like to get more contacts from.
M0AWS Inverted-L Antenna 30m 3D Far Field PlotM0AWS Inverted-L Antenna 30m 2D Far Field Plot
On the 30m band the Inverted-L antenna starts to exhibit two lobes with gain to the NorthEast and NorthWest. This makes the antenna ideal for working into the USA and Australia/New Zealand over the North Pole. Working US stations is a breeze with relatively low power and I almost got a contact with New Zealand during the evening greyline but, unfortunately the DX station dropped out before I managed to get my signal report back to him. As time goes on Iβm sure the antenna will more than prove itself on the 30m band.
So far Iβve not ventured above the 30m band with the Inverted-L antenna as Iβve really been enjoying access to Inter-G chats on 80m, 40m and 60m and chasing DX on 160m, 60m, 40m and 30m. I need to venture up onto the higher bands before the long winter nights settle in and the higher HF bands close for the winter season.
Looking at the far field plots on the higher HF bands the antenna has huge potential as it provides some nice low angle radiation in useful directions.
M0AWS Inverted-L Antenna 20m 3D Far Field PlotM0AWS Inverted-L Antenna 20m 2D Far Field Plot
On the 20m band the far field plot starts to get much more complex with lobes at many different angles. The main gain lobe is to the NorthEast towards the USA and is at a fairly low angle and so this antenna should be great for working stateside on the 20m band. There are also lobes to the NorthEast and so hopefully working VK/ZL over the pole should also be possible. As I said above Iβve not yet used the antenna above the 30m band and so at this time cannot confirm performance but, it looks promising.
M0AWS Inverted-L Antenna 17m 3D Far Field PlotM0AWS Inverted-L Antenna 17m 2D Far Field Plot
The 17m band also looks promising with a similar far field plot as the 20m band but, with lower angle of maximum radiation and more gain. It will be very interesting to test this antenna on 17m especially since the noise level is below S0 and I can very easily hear the weakest of stations on this band.
M0AWS Inverted-L Antenna 15m 3D Far Field PlotM0AWS Inverted-L Antenna 15m 2D Far Field Plot
Once again the 15m band looks very similar to the 17m band, low angle radiation but, with a slightly more complex far field plot.
M0AWS Inverted-L Antenna 12m 3D Far Field PlotM0AWS Inverted-L Antenna 12m 2D Far Field Plot
The 12m band far field plots continue the theme with the angle of maximum radiation slightly lower than on the 15m band and slightly more gain. This antenna should be great for chasing the DX on the very quiet 12m band.
M0AWS Inverted-L Antenna 10m 3D Far Field PlotM0AWS Inverted-L Antenna 10m 2D Far Field Plot
Finally the 10m band is very similar to the 12m band in that the far field plots show low angle gain albeit with an even more complex radiation pattern.
I originally put this antenna up so that I could work Inter-G on the low bands but, it has proven to be a much more worthy antenna than I originally thought it would be. I need to spend more time with this antenna on the bands above 30m to really see how it performs on the higher HF bands but, so far Iβm really pleased with itβs overall performance on all the bands tested to date.
I can highly recommend using FT8 to test new antennas. With PSKReporter and my own NodeRed World Map WSJT-X interface I can see realtime the antenna performance on each band. FT8 is an extremely useful tool when it comes to testing antennas to see if they perform as per the modelling and can often provide some performance surprises!
I recently put up a 38m Inverted-L antenna (10m vertical/28m horizontal) and tuned it on the 160m band using a home-brew Pi-Network ATU. Itβs working great on top band and Iβm really pleased with performance so far.
I decided today that it would be good to try the inverted-L out on some of the other low bands too. Since my other HF antenna is a large vertical thatβs great for DXing but, terrible for Inter-G I thought perhaps the Inverted-L would fill the inter-G gap.
M0AWS Pi-Network ATU using my JNCRadio VNA to find the ATU setting for each band
Having recently purchased a JNCRadio VNA from Martin Lynch and Sons it made tuning the ATU for each band really easy. When it comes to antenna resonance I like my antennas to have an SWR of less than 1.2:1. With the VNA connected it is really easy to tune the antenna for a 1:1 SWR on a particular frequency, make a note of the tune information and then move to the next frequency and start again.
M0AWS Pi-Network ATU Inductor with turns countM0AWS Pi-Network ATU Capacitor 1 and 2 settings
I marked up each turn on the large copper inductor so I could record the position of the input wire onto the inductor. I then added some markings on the two capacitors of the Pi-Network ATU for the resonance points on each band/frequency I wanted to resonate the antenna on.
M0AWS Pi-Network ATU settings noted for each band
After about 40mins I had all the settings recorded on a pad ready for testing from the shack end of the coax run. Connecting my Yaesu FTDX10 to the coax I ran through each band setting checking the SWR as I went. All bands tuned up perfectly 160m through 30m and receiving of Inter-G on the bands that were active was excellent.
Wanting to test the antenna on 40m for the first time I found Nick, M7NHC calling CQ and gave him a call using just 5w output. He came straight back to me and we had a quick chat.
Nick was using an Icom IC-7300 using just 10w into an end-fed long wire from Eastbourne down on the south coast so, we were both QRP. Nick was a 5/7 with QSB and he gave me a 5/8 with QSB, not bad at all consider how much power we were using.
Iβm hoping to have a chat with some of the guys from the Matrix this evening on 60m SSB so, it will be interesting to see how the antenna performs on 5Mhz.
Iβve had this antenna model for ages now but, never got round to putting it onto the website until Alex, GM5ALX was talking about making one the other day whilst chatting on the QO-100 satellite.
The 20m band delta loop follows exactly the same design principles as all the other delta loop designs Iβve already put on the website. They are designed such that they present a 50 ohm impedance at the feed point and thus have no requirement for complex impedance matching circuits/transformers.
M0AWS 20m Band Delta Loop Antenna β Antenna View
The dimensions for the antenna are as follows:
Wire 1 β Horizontal exactly 1m above the ground for its entire 10.2m length. Wires 2 & 3 are exactly 6.18m long each with the top being 4.5m above the ground.
M0AWS 20m Band Delta Loop Antenna β 3D Far Field Plot
The 3D far field plot shows a typical delta loop radiation pattern with the maximum radiation through the loop and a deep null in the centre.
M0AWS 20m Band Delta Loop Antenna β 2D Far Field Plot
The 2D elevation plot shows that the antenna will give a maximum gain of -0.79dBi at 30 degrees when used over average/poor soil types. If like me you use your Delta Loop antennas on the beach then the antenna will present considerably more gain as it will benefit from the salt water reflection.
If you want to lower the angle of maximum radiation and increase the gain over average ground just raise the antenna up so that the top is around 7m above ground. This will give a much lower angle of radiation and improve the gain figure by 2-3dBi. Donβt forget that if you raise the antenna the point of resonance will also rise in frequency and so you may need to shorten the wires a little to get the point of resonance back to where you want it.
The SWR plot shows that the antenna will have a fairly wide bandwidth and match to 50 ohm coax extremely well. The antenna is designed to be fed in one of the lower corners via a 1:1 balun for best results.
M0AWS 20m Band Delta Loop Antenna β SWR Curve
Summary:
Total Wire Length: 16.38m Horizontal Wire Length: 10.2m @ 1m above ground Diagonal Wire Lengths: 6.18m Wire Dia: 2.5mm Height at Centre: 4.5m Feed Type: 1:1 Balun in bottom corner (Can use coax if necessary) Impedance: 50 Ohm SWR: <1.5:1 at resonance
Since setting up the new HAM station here in the UK the one band Iβve not yet got back onto is 160m, one of my most favourite bands in the HF spectrum and one that I was addicted to when I live in France (F5VKM).
Having such a small garden here in the UK there is no way I can get any type of guyed vertical for 160m erected and so I needed to come up with some sort of compromise antenna for the band.
Only being interested in the FT4/8 and CW sections of the 160m band I calculated that I could get an inverted-L antenna up that would be reasonably close to resonant. It would require some additional inductance to get the electrical length required and some impedance matching to provide a 50 Ohm impedance to the transceiver.
Measuring the garden I found I could get a 28m horizontal section in place and a 10m vertical section using one of my 10m spiderpoles. This would give me a total of 38m of wire that would get me fairly close to the quarter wave length.
For impedance matching I decided to make a Pi-Network ATU. Iβve made these in the past and found them to be excellent at matching a very wide range of impedances to 50 Ohm.
M0AWS Homebrew Pi-Network ATU
Since I still had the components of the Pi-Network ATU that I built when I lived in France I decided to reuse them as it saved a lot of work. The inductor was made from some copper tubing I had left over after doing all the plumbing in the house in France and so it got repurposed and formed into a very large inductor. The 2 x capacitors I also built many years ago and fortunately Iβd kept locked away as they are very expensive to purchase today and a lot of work to make.
Getting the Inverted-L antenna up was easy enough and I soon had it connected to the Pi-Network ATU. I ran a few radials out around the garden to give it something to tune against and wound a 1:1 choke balun at the end of the coax run to stop any common mode currents that may have appeared on the coax braid.
Connecting my JNCRadio VNA I found that the Inverted-L was naturally resonant at 2.53Mhz, not too far off the 1.84Mhz that I needed. Adding a little extra inductance and capacitance via the ATU I soon had the antenna resonant where I wanted it at the bottom of the 160m band.
M0AWS 160m Inverted L Antenna SWR Curve
With the SWR being <1.5:1 across the CW and FT8 section of the band I was ready to get on 160m for the first time in a long.
Since itβs still summer in the UK I wasnβt expecting to find the band in very good shape but, was pleasantly surprised. Switching the radio on before full sunset I was hearing stations all around Europe with ease. In no time at all I was working stations and getting good reports using just 22w of FT8. FT8 is such a good mode for testing new antennas.
As the sky got darker the distance achieved got greater and over time I was able to work into Russia with the longest distance recorded being 2445 Miles, R9LE in Tyumen Asiatic Russia.
In no time at all Iβd worked 32 stations taking my total 160m QSOs from 16 to 48. I canβt wait for the long, dark winter nights to see how well this antenna really performs.
M0AWS Map showing stations worked on 160m using Inverted L Antenna
The map above shows the locations of the stations worked on the first evening using the 160m Inverted-L antenna. As the year moves on and we slowly progress into winter it will be fun to start chasing the DX again on the 160m band..
UPDATE 6th October 2023. Been using the antenna for some time now with over 100 contacts on 160m. Best 160m DX so far is RV0AR in Sosnovoborsk Asiatic Russia, 3453 Miles using just 22w. Pretty impressive for such a low antenna on Top Band.