Amateur Radio on a Pi 4

So where to start

Since December 2020 I have been using a Pi-400 with Bullseye 64bit as my main desktop system. So much so that my Windows machine hasn’t even been turned on. Now seeing as I’m an inveterate “fiddler” I couldn’t leave well enough alone, could I ?

I the past I have used a Windows machine for AR stuff. Mostly I used the DXLab Suite which worked very, very well with all of its parts working together seamlessly which is what I i’ll be trying to emulate with the Pi-400.

Seeing as I have the Pi-400 set up with all the software I use day to day I didn’t really want to mess everything up beyond salvage so I pressed a spare 64GB Micro SD card into action.

First up was to install the operating system – PiOS Bullseye 64bit was downloaded and put on the SD card using the Pi Imager. Then I booted the new card and did all the updates and a few other customisations. I made good and sure that it was all working properly.

Next step was to work out which Amateur Radio software I wanted.

Logging, of course, some sort of rig control, digital modes ability, DXCluster, WSJTX, LoTW abilities, etc.

Once I had all of my desireabilities I needed to work out which software to use.  Confusion reigned so a deal of research was done. I came up with, for starters, flrig, fldigi, xlog, wsjtx and Trusted QSL as a starting point.

Getting started with installation

Please keep in mind that the first few iterations are all done on the SD card and not my working desktop SSD. Doing it this way means that I can, and did, just reimage the card and start again from scratch with no harm done to a working system when the inevitable happened and I messed it all up.


Rig control

First up was to install flrig and get it working. Easy. just a “sudo apt update”, “sudo apt full-upgrade” if required and “sudo install flrig”. All went perfectly.

Next was to get flrig talking to the radio which is an Elecraft KX3.

I plugged the radio in to a USB port and fired up flrig. As expected, there was no indication that flrig could “talk” to the radio. This became a recurring theme with other packages. It was easily solved by not using  “/dev/tty” or “/dev/USB”. Using “/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A70309Z2-if00-port0” as the way to go and it worked like a charm. That’s rig control sorted.

Digital Modes

Seeing as I like PSK and other digital modes I need something that can do all that. fldigi and WSJTX were the packages of choice here. To get them installed a simple “sudo apt install fldigi wsjtx” got them installed.

Getting them talking to the radio was easy using the lessons learned from the setup of flrig.

A sound card as the next issue to face. The Pi-400 doesn’t have a headphone / mic socket to use. Luckily I have an ancient, and discontinued, Griffin iMic USB sound card.

Griffin iMic

I expect that a SignalLink or other USB sound card would work just as well.

Time for a test transmission into a dummy load.

I fired up my trusty and old Yaesu FRG-100 with a bit of wire draped over the dummy load for an antenna and typed some random text into fldigi and hit transmit. Low and behold it worked perfectly. Well at least on transmit it did anyway.

Fldigi sorted.

Much the same process was followed to get WSJTX happening with the same result.

Digital modes are working so time to move on to logging.


What a head explosion this turned out to be. There seem to be two main contenders. “CQRLOG” and “Xlog”. Each was tried a number of times but there didn’t seem to be a clear winner until I looked more closely at integration with LoTW and EQSL along with fldigi. Eventually I came down on the side of CQRLOG.

Getting CQRLOG configured as a bit of a long winded affair but I think I have it sorted.

Because I don’t even have an antenna up as yet I’m unable to make QSO’s so I have nothing to log. This means I can’t test the LoTW and EQSL connectors but from what I’ve read I should have no trouble.

Now to get all of the component parts playing nicely with each other. Should be interesting.

Stitching it all together

Before I start I should say that I expected this part to be the stuff of nightmares but it was only a bad dream in parts with the rest being pretty easy.

Because I tend to dive in at the deep end I had a couple of issues that I could have easily avoided by reading the available documentation before I started messing around. I would have read, for example, that for rig control in fldigi I need to start flrig before starting fldigi.

Anyway on with the show.

Before I could start on anything meaningful I needed a few more USB ports. My Pi-400 boots from a Sandisk SSD so that’s one port gone. Another port is used by the mouse which leaves me with one USB port for both my radio (Elecraft KX3) and my USB sound card (Griffin iMic). More USB ports are needed. Enter the Simplecom SD352 USB 3.0 to Dual SATA. This device has a charging only USB port as well as three USB 3.0 ports. It also sports a couple of SATA hard drive slots. Always very handy. This means that the one available port on my Pi-400 can connect to the Simplecom dock and I can plug the radio and the sound card into it. As the data rate for the radio stuff is quite low this was a very good solution.

That’s I/O and USB ports sorted.

The next thing for me to tackle was fldigi and logging to cqrlog which proved to be dead easy. All I had to do was get the configuration of fldigi and carlog right. Also I needed an antenna of some sort so that I could test it properly. I ended up making a small transmitting loop and hung it off the curtain rail. Imaging my surprise when the very first “CQ” resulted in a call. When the QSO finished fldigi updated cqrlog and it was all good.

So, how well does it all work

One problem I had was the Pi-400 keyboard. It has to be said that it is rubbish so I gave up on the Pi-400 and used a Pi-4 4GB instead. The issue with the Pi-400 is that the “W” and the “Q” keys miss the keypress on a regular basis which is not satisfactory when using a digital mode such as PSK. The Pi-4 also has an extra USB port available as well as a proper audio input and output. I’ve stayed with the Griffin iMic though. Going with the Pi-4 also enabled me to get rid of the Siplecom USB hub which had the desirable effect of cutting down on cabling.

At this stage I repeated all the installation and configuration steps on my desktop configured SSD, after taking a full backup of course. Just for a change I didn’t mess up and it went along quite happily.

Digital modes work well and logging also works well. In fact it all works together very well. Not as well integrated as the DXLab Suite but well enough.

Next steps to complete the project

When we go away camping I always take a Windows tablet to manage photos, etc. What I would ideally like to do in the future is to take my desktop Pi-4 in a laptop style case which means I’ll have access to everything that I have access to at home. I’d also have all my radio software along as well. There are a number of Pi-4 based laptop cases around but they are pretty expensive. I’m sure that I can get hold of just a bare case with screen and keyboard. I can easiny build a well regulated power supply that will feed both Pi and the screen.

The aim is to be able to leave the Windows tablet at home and be solely Pi based.

Anyway that’s it. I’ll update this post as I go along and inevitably discover any shortcomings and mess-ups. I the mean time I’m building a small loop antenna that will look like the AlexLoop. It’ll fold up small and be very portable and quick to erect. I’ll also want power handling of around 50 watts  I have a few lengths of RG-213 co-ax as well as two suitable vacuum variable caps. I want it to be capable of being used on 20 and 40 meters at least. Again we’ll see how we go.

Leave a Reply

Your email address will not be published. Required fields are marked *