Building a new Pi Rack

I’m a big fan of the RaspberryPi single board computers (SBCs) and have been using them since the very first model was released. (I still have the first model even now!)

Over the years I have used RaspberryPi computers for all sorts of things. These days I use them for running services on the local LANs here at home along with a number of virtual machines providing services both locally and publicly on the internet. (Yes, you can run virtual machines (VMs) on RaspberryPi computers)

I currently have 4 x RaspberryPi 5 SBCs running 24/7 and have had them stored in a simple rack that I designed when I first got into 3D printing. The rack worked ok but, it was difficult to get access to the Pi’s without removing those around the one I wanted to access. This is a real nuisance when you have services running on them all.

I’ve now had my 3D printer for a while and decided it was time to design a better solution. Before I set about diving into the CAD software I decided to have a look on Makerworld to see if anyone else had already come up with something more suitable.

Trawling through the many offerings from hundreds of 3D designers on the Makerworld website, I found a very nice RaspberryPi Modular Racking System that looked ideal for the job.

Modular RaspberryPi Rack from Makerworld
Modular RaspberryPi Rack from Makerworld

The nice thing about this design is that each Pi module connects to the other using a simple sliding, locking pin system. This means that over time you can add more and more modules to the rack as your RaspberryPi collection grows. The other nice thing is that each Pi SBC is held on its own removable sled making it possible to remove each Pi with ease and without disturbing any of the others.

I downloaded the design into BambuStudio and went through all the component parts. I was really pleased to see that there were two sizes of module available, a single board Pi only module and a tall module for housing a RaspberryPi with a HAT installed.

Since the 4 x Pi5’s that I am using have either an NVME + 2nd Gigabit Ethernet HAT or a NVME SSD Baseboard installed I will need the taller module for each unit.

To make it easy to identify each SBC in the rack I printed each module in the same colour as the hostname of the Pi, bluepi, redpi, greenpi, orangepi and a spare slot for purplepi when I get it.

My RaspberryPi rack with 4 x Pi5's in place and operational
My RaspberryPi rack with 4 x Pi5’s in place and operational

These 4 little Pi’s work hard and CPU temperatures can exceed 50 degrees Celsius very easily. They all have the Official Pi Cooler with fan installed however, this doesn’t come on until the CPU reaches 50c and so I decided to added some extra cooling in the form of a small USB fan onto the back of each module. This reduces the operating temperature of each Pi down to around 25c under full load.

The purple slot on the end is a spare ready to house another Pi SBC. I’d love another Pi5 16GB model but, at the current ridiculous prices it makes no sense to invest in another and so I will fit my spare Pi4 into the slot for now and find something for it to do.

This has been a fun little project to print and put together and will provide the perfect solution to my Pi management woes.

More soon …

Building MB7IBW 2m AllStarLink Internet Gateway

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Key KM4000 Cooler
Key KM4000 Cooler

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

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

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

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

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

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

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

More soon …

Node-Red Control Dashboard for AllStarLink 3

I’ve recently built a new AllStarLink (ASL) node for my MB7IBW gateway that I have recently brought up on air on the 2m band.

AllStarLink 3 has a lot of changes in it when compared to the previous version and this of course impacts my Node-Red Control Dashboard that I’ve been using to manage my first ASL node for well over a year now.

To build the node I used the RaspberryPi imager and added the AllStarlink 3 image as detailed on the allstarlink.org website.

Installing the system this way makes it pretty easy compared to previous installs but, it comes with some quirks which cause issues with Node-Red.

From the outset the plan has always been to have AllStartLink 3 and Node-Red running on the same Pi4 to keep it totally self contained. This was easy enough to achieve and works without issue.

Node-Red Control Dashboard for AllStarLink 3
Node-Red Control Dashboard for AllStarLink 3

Installing Node-Red onto a Pi4 is really easy and is fully documented on the Node-Red Website.

Once the AllStarLink 3 operating system was installed on my SD card, booted and operational I installed Node-Red. I soon realised that there were a few things I had to do before loading the Node-Red flow.

AllStarLink 3 no longer logs connect and disconnect messages in the connectlog like it did in AllStarLink 2. To get logging working again I had to create two new BASH scripts as detailed below and put them into /etc/asterisk/myscripts.

For the connect information I created the BASH script as detailed below.

#!/bin/bash

# /etc/asterisk/myscripts/connectlog.sh

echo $1 Connected $2  on $(date +"%T") - $(date +"%m-%d-%Y")  >> /var/log/asterisk/connectlog

For the disconnect information I created the 2nd script detailed below.

#!/bin/bash

# /etc/asterisk/myscripts/disconnectlog.sh

echo $1 Disconnected $2  on $(date +"%T") - $(date +"%m-%d-%Y")  >> /var/log/asterisk/connectlog

Once these scripts were created I had to change the ownership and privileges as detailed below.

cd /etc/asterisk/myscripts
chown asterisk:asterisk ./*
chmod 750 ./*

I also had to change ownership/privileges of /etc/asterisk/myscripts.

cd /etc/asterisk
chown asterisk:asterisk ./myscripts
chmod 755 ./myscripts

Once the two scripts were in place I had to alter the asterisk config so that it called the scripts as part of the connect/disconnect process.

I found the connpgm and discpgm entries in /etc/asterisk/rpt.conf and changed them as shown below.

connpgm = /etc/asterisk/myscripts/connectlog.sh

discpgm = /etc/asterisk/myscripts/disconnectlog.sh

Next I disabled the temporary filesystems that are used by default for the apache and asterisk logging as it’s useful to keep the apache logs for debugging and I needed the asterisk logs for the Node-Red dashboard.

Disabling the temporary file system is very easy to do, just edit the /etc/fstab and comment out the two lines as shown below.

# Comment out the next line for persistent Apache logs
#tmpfs  /var/log/apache2        tmpfs   defaults,noatime,nosuid,nodev,noexec,mode=0775,size=32M 0 0

# Comment out the next line for persistent Asterisk logs
#tmpfs  /var/log/asterisk       tmpfs   defaults,noatime,nosuid,nodev,noexec,mode=0775,size=32M,uid=102,gid=106 0 0 

# Note: These lines are wrapped, should be on 1 line in the /etc/fstab

Once the entries in the /etc/fstab were commented out I rebooted the Pi4 to get persistent filesystems.

The final thing that had to be done was to allow user repeater to use sudo without a password so that it could be used to perform reboot/shutdown/process restart as user root from within the dashboard.

# /etc/sudoers

# Allow repeater sudo without password
repeater ALL=(ALL) NOPASSWD: ALL

Once this was all done I imported the Node-Red flow, configured the SSH nodes with login credentials for the Pi4 (important to use the user repeater for SSH), clicked deploy and the dashboard was ready for use.

Node Red AllStarLink3 Control Dashboard Flow
Node Red AllStarLink3 Control Dashboard Flow

I’ve been using the dashboard for a few weeks now and it’s running perfectly, without error.

If you want to build your own Node-Red Control Dashboard for your AllStarLink 3 node then, just download the flow using the button below and import it into your flow editor.


More soon …

The 5 things that have revolutionised my Radio Shack

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
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
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.
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
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
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
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
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
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.

More soon …

Node-Red ADIF to Log Map Flow

Following on from my previous article on using Node-Red to build interactive log maps I’ve now reworked the flow to make it more efficient with less Javascript.

The original flow had a function that handled the issue of FT4 contacts being recorded in two different ways depending on which app you use for your FT4/8 operations.

<mode:4>MFSK <submode:3>FT4
or
<mode:8>MFSK FT4

The code I wrote to handle this wasn’t particularly elegant and so I decided to remove the code entirely and just use a simple change node.

M0AWS New node to handle FT4 more efficiently
M0AWS New node to handle FT4 more efficiently

This is the great thing about Node-Red, there’s always more than one way to do something.

With this fix in place and the old code stripped out of the format generic payload function, the new flow is much tidier and easier to comprehend.

M0AWs Updated ADI Log Map flow
M0AWs Updated ADI Log Map flow

With testing complete and the two maps now live on my website the flow is finally ready for release into the wild.

If you fancy presenting your ADIF logs in a more visual, interactive format then just download the flow below and import it into your Node-Red flow editor.


Don’t forget that you will need to change the path to the log files in the file read nodes to suit your setup and change the location data in the My QTH trigger to match your callsign and location. Other than this the flow should just work.

More soon …

Using Node-Red to build interactive log maps

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

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

M0AWS Interactive Log Flow
M0AWS Interactive Log Flow

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

More soon …

Building a new Desktop Environment for the RaspberryPi 5

Regular readers of my blog will already know that I am a huge fan of the Linux operating system, it’s clearly evident in most of the content on this website.

I am also a very enthusiastic user of one of the first credit card sized computers that came to be, namely the RaspberryPi. I own all the iterations of this wonderful little computer from the very first version to the latest and greatest, RaspberryPi 5.

This little computer has done more for computing in education than Microsoft and Apple will ever achieve and it’s done it at an incredibly low price making it more accessible to schools, colleges and students than any other platform.

The RaspberryPi has what most consider to be the best support on the planet when it comes to single board computers (SBCs). From the dedicated team that build Raspberry Pi OS, to all the amazing projects and forums that are available, for free on the internet today.

The RaspberryPi computer really has revolutionised computing for the masses.

My RaspberryPi 5 that I am writing this article on
My RaspberryPi 5 that I am using to write this article.

Raspberry Pi OS really is very good. It’s based on the great Debian distro’ that many of us seasoned Linux users dearly love. It’s light weight, fast and meets the needs of everyone that is venturing into the exciting world of Linux and SBCs for the first time.

Overtime as we all become more experienced with Linux on the RaspberryPi we become more demanding and start to find the Raspberry Pi OS desktop environment lacking. Sure it can be enhanced by adding more and more to it however, it never quite reaches the point of satisfaction and we are always wishing for something more.

With the Pi-5, the latest iteration of this great credit card sized computer, users are now able to seriously think about building a more powerful desktop environment for their little berry flavoured computers.

On my desktop PCs dotted around the house I have used Kubuntu for decades. It’s a slick and powerful desktop environment that has met my needs for many years and I love it more than any other Linux desktop. Sadly Kubuntu isn’t easily available out the box for the RaspberryPi and so I decided that it was time to replicate it as closely as possible on my new, super powerful RaspberryPi 5.

When I ordered my RaspberryPi 5 from Pimoroni I added the NVMe base and 250GB M.2 SSD drive to the order. Up until now I’d always used SD cards however, they are slow and unreliable and so I decided that since the Pi-5 has PCIe it was time to take the step away from SD cards and start using SSD technology.

Getting the OS onto the SSD is a two stage affair. First you have to create a bootable SD card to boot the Pi-5 from and then use it via the RaspberryPi Imager to install the OS onto the SSD. It’s a bit long winded but, easy enough.

Since I’m a huge Kubuntu fan I decided my desktop of choice for my new Pi-5 was going to be KDE-Plasma. I had tried to install this desktop before on older model Pi’s however, it ran so slow that it was unusable. With the new Pi-5’s increased computing power and the speed of the SSD I was confident that this was now possible.

I started out installing the Lite version of Raspberry Pi OS on the SSD. This is a command line only version of Linux that doesn’t include any desktop environment, a nice clean slate to start from.

RaspberryPi Imager showing Pi OS Liite (64bit)
RaspberryPi Imager showing Pi OS Lite (64bit)

Once the Lite version of the OS was installed on the SSD I shutdown the Pi-5 and removed the SD card and then powered the Pi-5 back up again so that it booted from the SSD.

Upon booting I was presented with the simple Linux Login prompt. After entering my username and password as setup during OS install I landed at the Linux command prompt.

sudo su -

I used sudo to become root user as shown above and then set about building my new KDE based super computer. First I needed to update the operating system with all the latest patches and security fixes.

apt update && apt dist-upgrade

The update and upgrade process ran for a while but, it was soon complete.

reboot

I issued the reboot command and then logged back in again, I was now ready to start building the KDE desktop environment.

sudo su -
apt install kde-plasma-desktop gldriver-test

Becoming root again I type the command to install the KDE-Plasma desktop and the graphics-related config services. There’s a lot of packages to download and install so, I left it to do its thing.

A little while later all the packages were installed and ready to go. I now needed to tell the system to boot into the new graphical user interface instead of the command prompt using systemctl.

systemctl set-default graphical.target

Once this was done I needed to make a change to the display settings using the raspi-config program.

raspi-config

Selecting No.2 on the menu, Display Options and then D2 Screen Blanking, I disabled screen blanking so that I got the full 4K support for my KDE Desktop.

Once the system had been configured for a graphical user interface there was only one thing left to do and that was to shutdown the RaspberryPi.

shutdown -h now
The beautiful KDE-Plasma Desktop on RaspberryPi 5
The beautiful KDE-Plasma Desktop on RaspberryPi 5

Powering the Pi-5 back up again I was greeted by the standard KDE Plasma login screen and then, after logging in I was transported to the beautiful KDE desktop. I was now smiling like a Cheshire cat!

The KDE desktop is incredibly snappy on the Pi-5 with an SSD, app’s open instantly and run with minimum CPU exertion. It was now time to load the rest of the KDE application suite to complete the build. Popping open a terminal I hit the command line once more.

sudo su -
apt install kde-full vim yakuake vlc firefox rsyslog

This loads the full set of KDE applications adding just about everything you’ll ever need to the desktop environment. It’s about 1GB of packages and so depending on your internet speed it could take a while but, it’s well worth the wait.

Once complete you are ready to go with a fully functional, snappy, powerful desktop.

I’m extremely pleased with the performance of the Pi-5. KDE is super fast, snappy and responsive. With 8GB of RAM on tap the RaspberryPi has no problem with performance. The Pi-5 and KDE-Plasma really do make a great desktop computer at an incredible cheap price.

Looking for a new computer?

Add a cheap USB sound card and a pair of speakers and this little setup will meet the needs of 90% of the population with ease and go on to satisfy the more seasoned, demanding Linux user or programmer without breaking the bank.

More soon …