It’s Remotely Ham Radio

Have you ever considered running your ham radio remotely? It has been feasible for years but not always easy. Recently, I realized that most of the pieces you need to get on the air remotely are commonplace, so I decided to take the plunge. I won’t give step-by-step instructions because your radio, computer setup, and goals are probably different from mine. But I will give you a general outline of what you can do.

I’m fortunate enough to have a sizeable freestanding shop in my backyard. When I had it built, I thought it was huge. Now, not so much. The little space is crammed with test equipment, soldering gear, laser cutters, drill presses, and 3D printers. I’ve been a ham for decades, but I didn’t have room for the radios, nor did I have an antenna up. But a few months ago, I made space, set some radios up, strung out a piece of wire, and got back on the air. I had so much fun I decided it was time to buy a new radio. But I didn’t want to have to go out to the shop (or the lab, as I like to call it) just to relax with some radio time.

Good News!

The good news is that this makes life easier for going remote. The lab has a good network connection back to the house and I don’t have to worry about my radio being open to the public Internet. I also don’t have to worry about the transmitter going rogue since, if it does, I can simply walk out the back door and turn it off.

On the other hand, you could probably operate the station from anywhere in the world you have a network connection. You can VPN back into the local network. I have the transmitter on a switch so Alexa or Google can turn it on and off. The radio and all the software have safeguards such as maximum transmit time timeouts and a feature to shut down transmitting if it loses a network connection. So, if you are brave enough and your local laws permit it, you could probably operate from anywhere.

One Way

Nowadays, having a computer connected to your radio is almost a requirement. Even my old radio could take commands over an RS232 port. The new rig, an Icom IC-7300, has a USB port, and it looks like both a serial port and a sound card.

That last bit is especially handy since you used to have to figure out how to cable between the rig and the computer’s sound card. Now the rig is the computer’s sound card — or, at least, one of them.

Why?

If you are a ham, you can probably skip ahead, but if you aren’t, you might wonder why you need a computer. Of course, some of it is just handy. You can keep your log and look up propagation or callsigns. But you don’t have to be connected to a radio to do that. It just makes it easier.

There are two reasons having the computer connected to the radio really pays off. First, you can send and receive digital signals using a sound card.

Digital signals include text like RTTY or PSK31 where you type messages to each other, pictures in the form of SSTV, or computer-to-computer modes like FT8. Some people experiment with digital voice modes. There are many other options.

The other thing a computer can do is control your radio. Sure, you can use the knobs and buttons, but a computer can control it, which, for remote access, is essential. It can also help when you want a program to, for example, look up a station you’ve heard, find its location, calculate the direction that station is relative to you, and move your antenna to point in that direction.

How?

The simplest way to create a remote station is just to use a remote desktop program to log into the computer at your station. For digital modes, that may even be the best way, but it means all the software runs on the station computer (which could be a Raspberry Pi, for example). It also means that the audio you want to hear or send has to traverse over the remote desktop software, and most of them will prioritize screen traffic over audio. Plus if either computer has an unusually large or small screen, it isn’t always a good experience.

While I’ve played with that, I elected to go a different way. I wanted the radio and computer to be more or less a terminal and run the software to do things on my computer back in the office or my laptop.

To do this, you need two things: a way to control the radio and a way to send and receive audio as though you were on the station PC.

Control

Rig control is the trickiest part because it depends on what radio you have. Many radio manufacturers supply their own software, but often community offerings are better. In my case, I used the wfview software which works will with Icom radios. However, there are many other options for both Icom and other radios.

I picked it because it knows how to speak remotely to another instance of itself and can expose a standard “hamlib” interface that many pieces of ham software use to control radios.

The basic setup for FT8

FT-8 and Audio

The audio setup is a bit trickier. If all you want to do is listen and talk, then wfview does fine all by itself. However, my goal was to be able to install software for FT8, PSK31, RTTY, and even digital voice. In this case, I’m using JTDX for FT8.

JTDX can control a radio over a hamlib network connection. That isn’t turned on in wfview by default, but it is easy to turn on and assign a port number. In theory, you could do this on the remote copy of wfview or the local copy, but I chose to do it on the local copy. That means JTDX talks to the radio on the local 127.0.0.1 IP address.

For the audio, I needed a way to pipe audio from the fake sound card provided by wfview to the input of JTDX. Luckily, I just wrote a Linux Fu post about that very topic. If you don’t mind rebuilding everything, you can make a single audio loopback, but I made two: one for the radio input and one for the radio output.

The PipeWire configuration for FT8

By using two that I create on system startup (for example, in the /etc/rc.local file or using systemd), the programs always have a “device” that they can connect to. Just don’t forget the loopback have to run under your user ID, not root. If you rely on plain PipeWire or PulseAudio to make the connections, you will have to rebuild the connections each time.

Note that radio-in and radio-out are always available (assuming you created them). So when the programs start up, they can find the pipe even if the other side of the pipe doesn’t exist yet. That makes it easy to keep everything connected. Instead of branching the radio output to the speakers, the monitor output of the pipe does the job.

Creating these loopback devices is simple:

pw-loopback -n radio-in  -m '[FL FR]' --capture-props='media.class=Audio/Sink' --playback-props='media.class=Audio/Source'
pw-loopback -n radio-out  -m '[FL FR]' --capture-props='media.class=Audio/Sink' --playback-props='media.class=Audio/Source'

If you want to know more, check out my earlier post on PipeWire.

If you use Windows, there are ways to do it there, too (including if you are running Linux on one side and Windows on the other). The wfview audio configuration page has some details. While they suggest VBAN for Windows, you can use it with Linux, too, although even if you have a mixed setup, you can always use the native Linux facilities.

On the Air

Does it work? It sure does, as you can see in the accompanying screenshot. The latency of the audio over the network is usually under 200 milliseconds, so that’s workable, although if you have a lot of delay, it might present a problem. I tried a VPN connection from a remote location, but I still had less than 400 milliseconds. For some reason, over a long period of time, the latency creeps up even on a local network, but restarting wfview seems to fix it.

Operating FT8 remotely

Since you won’t have my exact setup, I won’t go through the configuration, but clearly you’ll have to work out the connections for audio to each program. You may also experiment with different codecs — it will depend on your software.

Setting up a remote station isn’t nearly as hard as it used to be. Modern radios are easy to control over a network — some even have network jacks. Your home network is probably up to the task of shipping audio around, and there are solutions for piping audio between programs for Linux, Windows, or even both.

Keep in mind that while I did this with FT8, it works with voice or just about any other digital mode. You can even do CW, but — as far as I know — wfview won’t let you use a key. You’ll have to type your Morse code in. If you need a primer on FT8, we got you. If you prefer your remote control in the browser, this might help you.

7 thoughts on “It’s Remotely Ham Radio

  1. Struggling through archaic set ups is most of being a ham haha. Just look at online retailer’s website and how un-user friendly it is. Or the confusing menus for a radio. That said the yaesu I have is easy to use and ergonomic but that ends once you try to hook a computer up for advanced (or remote) control. I’m currently struggling through getting my new digital HT set up. Code plugs …? Hahaha.
    .
    For purely listening I like websdr

    1. All you need to set up is baofeng with a keying circuit and soundcard

      Either as a simplex node

      Or tune the radio to the local repeater frequency, and now the repeater has cheap echolink capability

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.