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.
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.
Chatting about this in the main Matrix HAM Radio roomSteve, 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
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
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.
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!
The articles I write for the blog are mostly technical but, I thought it was about time that I wrote this article as it’s been buzzing around inside my head for some time now.
So, what are the 5 things that I have found revolutionary in my shack that have brought new, exciting ideas and projects to life making amateur radio more enjoyable.
1: A RaspberryPi Single Board Computer
RaspberryPi 5 Single Board Computer
Ever since the first RaspberryPi Single Board Computer (SBC) was released I’ve been a huge fan. This little credit card sized number cruncher has been the base for so many projects, it has to be the first on my list.
The RaspberryPi SBC has been through a few iterations since its initial conception and is now powerful enough to take on most tasks that any radio HAM is going to throw at it.
So, what have I done with them?
Well I’ve used them to run Node-Red services for my many web app dashboards that control things like my QO-100 Satellite Ground Station, UPS power monitoring, Internet speed graphs, server and virtual machine monitoring, AllStarLink nodes, hosting websites, building an SDR shortwave receiver, running HAM Clock / Open HAM Clock, developing my own software, hosting virtual machines and a whole host of other fun and interesting things. I’m even writing this article using my RaspberryPi 500+ computer that is my daily desktop PC.
There are an endless number of things you can do with a RaspberryPi to bring new life and functionality to your radio hobby.
Want to get into Amateur TV? Want to decode digital modes real time? Want to track aircraft in the sky real time on a virtual radar screen? Want to search the shortwave bands for stations of interest? Want to host your own blog and website?
All these things and a lot more are easily within reach with a RaspberryPi.
The RaspberryPi is only limited by your imagination, the more imaginative you are the more your number crunching little friend will do.
2: A 3D Printer
Bambu Lab A1 Combo 3D Printer
Every HAM should have a 3D printer. These manufacturing marvels bring a new level of quality, design and simplicity to your HAM radio projects. I’ve found it incredibly useful since venturing into the rabbit hole that is 3D printing. When I think back to the weeks and months of my life I’ve spent making cabinets and boxes out of sheet metal, aluminium or wood for the numerous projects I’ve built over the years, a 3D printer would had made my life so much easier. 3D printing has revolutionised the making of things for the Amateur Radio home brewer.
There’s a multitude of useful things on websites like Printables, Thingiverse , Makerworld and others where you can just download the files and print high quality designs for all those things you’ve wanted to do but, don’t have the time or inclination to craft by hand.
The real satisfaction with 3D printing comes from designing your own things and making them. My first project was to design and print a fan cooling system for my Xiegu XPA125B amplifier.
From the factory the amp is passively cooled and doesn’t take long for the heat-sink to become saturated resulting in a high operating temperature. I was never happy with this and so was determined to resolve the problem.
Getting to grips with TinkerCAD was a bit of a vertical learning curve but, after a few mistakes and design mishaps I soon had it under my belt and pressed on with designing the cooler unit.
Designing the Xiegu XPA125b cooling system using tinkerCAD.
It’s not until you start designing and manufacturing things that you suddenly realise how much effort goes into them but, I persevered and over the period of about a week or so I had a perfectly fitting, operational cooling system that kept the amp super cool regardless of how long I waffled on for on the HF bands.
Once you’ve got your first design made you suddenly find yourself wanting to improve it and add things. In my case this was adding a Hermes Lite 2 holder to the top of the amp cooler and then a top shelf to hold my cross needle SWR and power meter.
Since then I’ve progressed massively with my designs and have even designed and printed things for other HAMs and family members, it’s totally addictive!
I can highly recommend the Bambu Lab A1 Combo (As shown above). It’s a quality piece of equipment that has operated faultlessly since purchase. Right now it’s printing a case for my RaspberryPi 4, just one of the many projects I’ve used it for since becoming a happy owner.
RaspberryPi 4 case from printables.com
Go on, release your inner creativity and treat yourself to a 3D printer, you won’t regret it and it’ll help you bring to life all of those radio projects you’ve dreamt of doing but, never got round to starting.
3: An AllStarLink Node
M0AW AllStarLink Node 61928 sitting on the equipment rack
Many people say that using VOIP over the internet isn’t real radio, I know because I used to be one of those people however, it has become an invaluable resource for keeping in touch with people all over the world.
Being part of an online HAM Radio Community it’s important that as a group we are able to talk to each other regardless of where we live, what bands we have access to and whether there is any propagation.
The AllStarLink (ASL) network gives global FM quality audio no matter where you are in the world. We use it daily for our breakfast net, general chatter throughout the day and even hold a weekly Matrix ASL Net on a Thursday evening.
Using our VHF/UHF handhelds (Real Radios!) and an easy to make AllStarLink Node we’re able to join in with the conversation regardless of propagation, licence type or distance, it really is great for bringing people together.
With devices like the SHARI and AIOC board now being readily available for minimal cost it really is very easy to get onto the AllStarLink network and talk to people even if you live in an antenna restricted location.
Why be alone when you can use the Matrix ASL node ( 642332 ) and join in the conversation.
4: Node-Red
M0AWS – Updated NodeRed QO-100 Dashboard with PTT button
Node-Red is a low-code programming tool for event-driven applications.
Node-RED’s goal is to enable anyone to build applications that collect, transform and visualise their data; building flows that can automate their world. Its low-code nature makes it accessible to users of any background, whether for home automation, industrial control systems or anything in between.
I’ve been using Node-Red for a number of years now and have developed a suite of web app’s that control and monitor just about every aspect of my Amateur Radio hobby and IT infrastructure.
Node-Red forms an integral part of my QO-100 Satellite Ground Station providing control of both the uplink and down link radios whilst synchronising the VFO’s, controlling filter selection and more, all from one simple to use interface using nothing more than a web browser.
It doesn’t stop there, my AllStarLink (ASL) nodes are also managed through a user friendly Node-Red Dashboard that removes all the need for technical know how and makes ASL node management as simple as clicking on a button to connect or disconnect to the many global networks.
Much of this functionality is achieved without writing a single line of code. If you can use a mouse, drag and drop objects on the screen you can develop Node-Red web app’s, it really is that easy.
M0AWS Interactive Log Flow
It doesn’t end there, Node-Red is great for presenting data in easy to digest formats.
Whether it be HAM Radio Log data presented on an interactive world map or monitoring of your server, RaspberryPi, virtual machine or UPS using gauges and graphs, this can all be achieved easily with nothing more than a mouse. There’s no need to spend hours writing thousands of lines of code, just drag and drop a few nodes onto the screen and join them up. You’ll be amazed how easy it is.
I believe every Amateur Radio enthusiast should have Node-Red available in their radio shack. It’s easy to install on your RaspberryPi 4 or 5, Linux or Windows PC and Apple Mac with the same great functionality available on all platforms.
Once you’ve developed your first web app you’ll suddenly find a million more ideas will come into your head and before you know it, you’ll be where I am today with Node-Red at the centre of your radio hobby.
5: A Hermes Lite 2 HF SDR Transceiver
For years I used black box HF radios from the big 3 manufacturers along with the odd radio from the smaller enterprises like TenTec but, they all had their foibles and there was often nothing I could do about it.
My last acquisition from the big 3 was a Yaesu FTDX10, a competent hybrid SDR radio with a good receiver however, the menu system is terrible, the button layout not much better and the user experience not as good as it could be. Of course the software is closed source so there is nothing you can do about it. The radio did its job but, it wasn’t fun to use, it wasn’t what I really wanted and it didn’t put a smile on my face.
I looked at moving to software defined radios (SDR) but, with prices in the many thousands of pounds bracket and the software being closed source I came to the conclusion that they wouldn’t give me what I really wanted either.
So what was it that I was searching for?
Thinking long and hard about it I came to the conclusion that what I really wanted was a radio that gave me the same satisfaction that OpenSource software has given me for decades, namely an HF radio that I have complete control over, from the hardware through to the software and everything in between.
I wanted something that I could tailor to my exact needs. Something that was built using open hardware and open software, something where if I wasn’t happy with it I could change it, improve it and do the things I wanted with it.
At this point my search for the ideal radio headed in a completely different direction.
Xiegu XPA125b Cooler with Hermes Lite 2 cradle – front view
The Hermes Lite 2 SDR HF Transceiver (HL2) has been around for a number of years. I was first introduced to it by Michael, DK1MI and then Roger, G8VLR via the Matrix. Both Michael and Roger use the HL2 on a regular basis and have often waxed lyrical about how good it is.
Being designed by radio amateurs for radio amateurs it’s based on an open architecture from the ground up. Being an OpenSource junky this really appealed to me and as I looked deeper into it from both a hardware and software point of view I soon realised that it had the potential to be exactly what I was looking for.
It wasn’t long before I found myself on the Makerfabs website placing an order for the HL2 mainboard, filter board, I/O board and case. A couple of weeks later it arrived and I dived head first into the SDR rabbit hole.
2 years later and the HL2 has become my main HF radio in the shack. Partnered with a Xiegu XPA125B amplifier and PiHPSDR software running on my Kubuntu Linux PC it is everything I have been looking for in an HF radio.
I’ve made modifications to the software to suit my operating style and needs with the user interface being exactly how I want it, no unnecessary buttons or knobs, just the controls that I use on a daily basis cleanly placed in a logical, easy to use layout, the way I want it.
My understanding of software defined radio and how it works has improved a hundred fold. Having access to the software and being able to go through the code and understand the architecture has been an interesting journey and one that has enhanced my radio enjoyment considerably. I now have a smile on my face every time I go on air.
Do I miss the FTDX10?
No, not in the slightest!
So, those are the 5 things that I feel have revolutionised my radio amateur hobby and made it a more enjoyable experience. I’m sure over time I will add to this list as I venture down future rabbit holes in our wonderful radio hobby.
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 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.
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.
Fitting TRS connectors into the AIOC solder jigFitting AIOC board into the solder jig.
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.
Once the print was complete I fitted the AIOC board and snapped it together ready for testing.
Fitting the AIOC into the 3D printed case.AIOC case with 2 x TRS connectors in place.AIOC case USB-C view
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.
AIOC connected to the Retevis RT85.AIOC connected to the Retevis RT85.
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.
v2.0 comes with a bunch of new functionality that I think many will find useful. I’ve added a Manual Node Connect section that provides the functionality to enter a node number and connect to it, something I wanted to have from the outset but, saved for the second release.
M0AWS AllStarLink Control Dashboard v2.0 Manual Node Connect View
I’ve also updated the the Hubs/Repeaters section so that it provides better global coverage of the AllStarLink network with new nodes in Australia, South Africa and the USA added to the default set.
M0AWS AllStarLink Control Dashboard v2.0 Hubs/Repeaters View
In the Personal Nodes section of the app I’ve added my own node so, if you do download the app and use it, please connect to my node and say hello! I’d love to hear from people that are using the app and get your feedback.
M0AWS AllStarLink Control Dashboard v2.0 Personal Nodes View
In the Test Nodes section there are now two parrot nodes for audio testing. iParrott is still my favourite however, I’ve also added the HubNet parrot as a second option.
M0AWS AllStarLink Control Dashboard v2.0 Test Nodes View
There’s now a new ASL Information section that provides direct access to the network bubble map for your node, a keyed nodes list (Useful for finding nodes that are being used right now), an Active Nodes List and the Full Nodes List for the ASL network. Having access to this information means there really is no need to access Allmon/Supermon to find this information as it’s all available via the app.
M0AWS AllStarLink Control Dashboard v2.0 Information View
Finally, the Manage Node section of the app also gets an update with the addition of a Disconnect All Nodes button. This comes in handy when you’re connected to a bunch of nodes and need to clear down quickly.
M0AWS AllStarLink Control Dashboard v2.0 Manage Node View
As you can see there’s been quite a few changes to the app providing some new functionality whilst updating the previous version to make it even more useful. You can download the AllStarLink Control Dashboard v2.0 flow below.
To import the flow, open the Node-RED flow editor and import the flow from the burger menu. Once imported, double click the Get ASL Node Number node at the top of the flow, delete the credentials and then create new credentials for connecting to your RaspberryPi/SHARI AllStarLink node. Then go to each blue BigSSH Node in the flow and select your new credentials entry in the drop down list. Once this is done deploy the flow and you’re ready to go.
Note: If you have a v1.x version of the app already running you will need to either delete the flow or disable it by disabling all the trigger (inject) nodes and deploying so that the old and new apps aren’t trying to control the ASL node at the same time.
For more detailed information on how to deploy the app (v1.x/v2.0) from scratch please see my original article for the v1.0 deployment as it covers everything you will need to know.
Thanks to Steve, M0XVT for his help testing v2.0 of the AllStarLink Control Dashboard and getting it out into the wild so quickly.
I’ve been working on squashing some bugs in my Node-RED AllStarLink Control Dashboard with the help of Steve, M0XVT which has resulted in a new version of the flow now being available for download below.
If you’re reading this and aren’t too sure what it is all about then, have a look at my original article detailing the Node-RED AllStarLink Control Dashboard that I developed and wrote about back in September 2024 and hopefully it’ll all make sense.
This new version of the flow resolves an issue whereby the dashboard used an incorrect node number for the node it connects to resulting in it not working unless a piece of code was changed. The update was a simple change to add a couple of nodes that connect to the RaspberryPi and read the Asterisk/AllStarLink node number from the asterisk configuration files at startup.
Node-RED AllStarLink Control Dashboard v1.2 additional sub flow
I also fixed another bug whereby the buttons could show a false connect on a button when the user connects to another node via AllMon2/Supermon instead.
This flow no longer has the blue spare button as it now connects to a node in Melbourne Australia.
Node-RED AllStarLink Control Dashboard v1.2
You can download the new, v1.2 updated flow below and import it to your Node-RED flow editor using the standard import tool from the burger menu in the flow editor.
Ever since I built my RaspberryPi/SHARI AllStarLink node I’ve had to manage connecting/disconnecting to/from other nodes using the Allmon2 or Supermon web admin interfaces. These work fairly well albeit, a bit clunky and buggy. It’s impossible to use from a mobile device though and so I have to get my Macbook out each time I want to connect/disconnect nodes.
Being a Node-RED fanatic I decided that I should put something together that was more portable, mobile friendly and much easier to use. A simple user interface is all that is required and can be achieved very easily using the standard Node-RED dashboard nodes.
Initially I started investigating the Linux command-line interface for Asterisk, the VOIP system that underpins AllStarLink (ASL). I very quickly discovered that the ASL node can be very easily controlled directly from the command-line and that this would be an ideal interface to use to enable node management via a Node-RED dashboard.
In very little time at all I had an experimental control dashboard working with the ASL node and was able to connect/disconnect to/from a single node. All that was required now was to extend this so that I could connect to a number of nodes with nothing more than a push of a button.
Completed v1.0 AllStarLink Control Dashboard – Node-RED Flow
The resultant flow consists of 3 sections, Connect/Disconnect Main Flow, Manage Node Subflow and /var/log/asterisk/connectlog Subflow.
The Connect/Disconnect Main Flow handles all the input from the buttons on the dashboard and the communication to the underlying Asterisk VOIP system.
The button status is denoted by 3 colours, green (Ready to connect), orange (Transitioning to/from connect) and red (Connected). Each button is updated automatically by the button refresh function that is triggered every 2 seconds.
The Manage Node Subflow provides a simple interface to restart the Asterisk VOIP system, reboot the RaspberryPi and shutdown the RaspberryPi. The node status is automatically updated every 45 seconds and will show when the Asterisk subsystem is being restarted or the node is being rebooted or shutdown.
Finally the var/log/asterisk/connectlog Subflow monitors the Asterisk connectlog looking for connect/disconnect messages so that it can signal to update each button status.
Node-RED AllStarLink Dashboard
Each section of the dashboard can be collapsed/opened by touching/clicking the little blue arrows on the right of the dashboard. The dashboard works fine on Android, iOS, Windows, MacOS and Linux.
If you’re not familiar with Node-RED and haven’t yet installed it to your PC, take a look at the Node-RED Getting Started Page. The information takes you through installing Node-RED onto a multitude of devices including PC and RaspberryPi devices.
Once you have Node-RED installed all you need to do is download the AllStarLink Control Dashboard Flow and import it to your Node-RED flow editor.
Note: The link above is now for v1.2 of the flow which includes some critical bug fixes. You can read about the bug fixes in the v1.2 release article.
Once downloaded, select Import from the burger menu icon on the right-hand side of the flow editor as shown below and import the flow file.
Node-RED Flow Editor import Menu Item
Once imported you will find that some of the nodes in the flow are not available. This is because you need to add them to the flow editor palette before being able to deploy the flow.
Drop down the same menu as shown above but, this time select Manage Palette. This will open another window where you will need to select the Install tab as shown below.
Node-RED Flow Editor Palette Install Tab
You need to install two node sets to complete the flow, node-red-contrib-bigssh and node-red-dashboard. Type in the name of each package one at a time in the search bar and then click the Install button. Once the two packages are installed you then need to configure the credentials for logging into your RaspberryPi. This is simply done by double clicking the blue Send Command to ASL node at the top of the main flow and then clicking the Pencil button at the end of the Credentials field. This will open another window where you will need to type in the IP Address of your ASL RaspberryPi into the Host field, then enter 22 into the port field, add repeater into the Username field (repeater is the default username, if you have changed this then you will need to add the new username name in instead) and then the password associated with the repeater login into the Password field. (Normally allstarlink)
Once this is done, do the same on the other blue nodes, namely “Get Node Uptime“, “Command =>> RaspberryPi” and “Tail ConnectLog”.
The final thing to setup is the dashboard size. Click on the downward pointing triangle at the top right of the menu bar (under the burger menu) and select dashboard. Check that the sizes are set the same as in the image below. For some reason, these settings aren’t always imported (Possible bug?) so, if your dashboard layout isn’t like shown above it will be because these settings failed to import.
ASL Dashboard Settings
You are now ready to deploy your AllStarLink Control Dashboard! Press the red Deploy button at the top of the flow editor window.
Finally, if you want to change the nodes that each button connects/disconnects you will need to edit the set flow var’s function at the top of the main flow. All you will need to do is replace the existing node numbers taking care not to alter the rest of the code in any way otherwise, it could stop the flow from working.
Once you’ve edited the node numbers, double click on the associated button node and change its Label to show the new node name.
Once your changes are complete, Deploy the flow again and your changes will be live.
This is version 1 of the ASL Dashboard, I already have ideas for version 2 that will also have the ability to enter a node number into a field and connect to it without the need to program it into a button.
This is more of an aide memoire for myself more than anything but, may be useful to anyone who is using a SHARI powered AllStarLink node.
Out the box the SHARI build as documented here and here uses node numbers in announcements when connecting/disconnecting. The information in this article will change this so that the announcements use the node callsigns instead of node numbers.
As user repeater, login to the RaspberryPi that the SHARI is connected too via SSH and make the following changes:
1: Using your favourite command line text editor, edit /usr/sbin/write-node-callsigns and change SRCDIR to point to /var/www/html/allmon2
# 28/08/24 - M0AWS - Changed path to point to allmon2
##SRCDIR=/var/www/html/allmon
SRCDIR=/var/www/html/allmon2
2: Copy the astb.txt file into the necessary directory:
NOTE: The info in this article is out of date and does not work with the latest version of AllStarLink. The Debian O/S it is based on is no longer in support.
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.
M0AWS – Coding the BASH script for the automated AllStarLink installation
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
M0AWS – Supermon Web Admin view
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.
M0AWS – Supermon pre-populated Favourites drop down list
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:
Please note: This build is now deprecated and will no longer work. Please use the new AllStarLink 3 build process as documented on the AllStarLink website.
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.
Jumbospot SHARI SA818 Amateur Radio AllStarLink Radio Interface Front Panel ViewJumbospot SHARI SA818 Amateur Radio AllStarLink Radio Interface Rear ViewJumbospot SHARI SA818 Amateur Radio AllStarLink Radio Interface stripped down View
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
Download removed as deprecated.
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.
More soon …
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.