Send email over ham radio with Winlink

Radio waves are the only real way to communicate when the grid goes down. Voice communication is one thing, but what about text messaging and emails?

Until fast and reliable satellite internet becomes commonplace — such as SpaceX’s exciting Starlink service — where local on-the-ground emergencies won’t be nearly as disruptive, most people are still constrained by the local wires and infrastructure needed to connect their personal devices to the internet.

By using a system called Winlink, you can send text data over the air, skipping the local grid that may have failed due to a power outage or natural disaster.

If you’re familiar with satellite internet, Winlink works from a similar concept — instead of sending radio waves to a receiver in space, you’re sending the waves to a receiver on the ground. In either case, that radio receiver then acts as a middleman between you and the broader internet.

That came in handy for KM4ACK when the AT&T building was bombed last Christmas, which knocked out his AT&T internet and cellular service. He used Winlink to contact his loved ones and let them know he was okay.

Winlink is not an easy thing to get working. You need a ham radio license, the proper equipment, and even with all that, making a connection can take a lot of patient tweaking. I had tried on and off for about a year before I finally figured it out.

I think the payoff was well worth it, though. There’s a lot of reasons why I may need to contact someone while the grid is down, such as emailing my boss (who lives in a different part of the country and might not know about the local grid issue) to let him know what’s up.

I won’t cover all the nitty gritty details of Winlink, which could fill a book. Instead, here’s the beginner basics with tips on getting started.

What is Winlink and what can it do?

Besides emails:

  • A service called Saildocs, intended for yacht owners and sailors, can send along news reports from Reuters, weather reports, and other information.
  • You can also send text messages over Winlink because most carriers have an email-to-SMS gateway, where you can send and receive text messages over email.
  • You can even send your current position into the APRS system so it shows up on the APRS map.

Instead of connecting your personal device to the global internet through a local infrastructure provider like AT&T or Xfinity, you can use the public airwaves to get around that local choke/failure point.

Consider a normal email:

  • Your computer connects to your local Internet Service Provider, such as Xfinity, over the wires (or wireless towers) installed around your neighborhood.
  • The local ISP is a hub, sitting in between all of the local customers and the broader global internet. (This is why your connection might slow down when everyone in town is at home watching Netflix at 7pm.)
  • When you send an email, it goes from your computer to the local ISP hub to the global internet network.
  • The email then travels the global cloud to whatever local ISP is relevant for the receiver’s email address, then down to their computer.

Winlink, which dates back to the 1980s, replaces the local ISP. That way you can send and receive data over the broader global network even though the local grid/wires/towers that normally connect your computer to the global internet are down:

  • Your computer connects to your ham radio.
  • The Winlink software converts data (1’s and 0’s) into radio signals, kind of like the old dial-up internet days.
  • The radio sends that data over radio waves to a local Winlink Radio Message Server (RMS) instead of through a wire or cell tower.
  • The RMS is connected to the global internet, so once it receives your email, it sends it out into the cloud and the rest of the path is normal.

Winlink is incredibly resilient. Perhaps you read the steps above and wondered, “What if the RMS that received my radio waves can’t connect to the internet either?” In those cases, RMS stations try to connect with each other and avoid the need for the internet grid at all. So you can still communicate with other Winlink-registered hams by sending a message to their callsign, followed by

In practice, this means you can use Winlink to communicate with anyone as long as the people you’re communicating with are not affected by whatever outage is causing your local troubles. If the entire internet goes down, there’s a nationwide EMP, etc., then the only way this would work is if both parties are using Winlink (and thus 100% radio-based).

Winlink drawbacks

Getting started with Winlink can be frustrating because it’s so complex and sensitive. Unlike other digital modes, like WSPR and JS8Call, your computer and the RMS have to “handshake” and get in perfect sync with each other so the data can transfer. Think of it like a more dial-up connection, when it made all the weird noises to make the handshake between modem and ISP. Except instead of the signals being exchanged over a telephone line, they’re communicating over noisy, interference-prone radio waves. It takes some experimentation with your radio, antenna, and computer to get everything dialed in.

Only one ‘client’ (your computer/radio) can be connected to an RMS at a given time. So users are encouraged to keep connection times short, and you’ll want to have your email(s) drafted and in your outbox before connecting. When you connect to an RMS, incoming and outgoing messages are swapped, and once all queued messages are relayed, you are automatically disconnected from the RMS.

Data connections over ham radio are slow. It’s important to keep email messages as simple as possible, even to the point of skipping the greeting, farewell, and signature block parts. You also don’t want to make unnecessary Saildocs requests, since they can take a long time to transfer. The longer a transfer takes, the more likely it will fail.

Since it takes so long to send and receive email, Winlink has little tolerance for junk email. While you can freely exchange messages with other Winlink users, outside email addresses are subject to a whitelist that blocks messages from email addresses that you don’t explicitly allow. KM4ACK explains how to manage the whitelist so you don’t miss important messages:

Your emails will not be private. Per FCC regulations, all amateur radio signals are to be unencrypted so they can be monitored by the public. Some people complained to the FCC about not being able to read Winlink messages, and the compromise was that Winlink created a message viewer to see every message sent over Winlink for the past 21 days. That’s unfortunate, but the alternative was to be shut down.

What you need to make a Winlink connection

There’s more than one method. For example, anyone with a Technician license (the basic license) can connect to a nearby RMS over VHF/UHF frequencies. However, that’s a pretty big limitation, since you need an RMS close to your location, which is unlikely outside of major metropolitan areas. More advanced operators with a General license usually connect over HF bands since they travel farther and thus can connect with RMS’s further away (perhaps outside of the local disaster area).

Here’s a map of ARDOP RMS stations in the US (ARDOP is a protocol for establishing Winlink connections over HF):

Winlink map

Once you’re licensed, you need the right equipment. I still use pretty much the same setup as I did for last year’s AmRRON JS8Call exercise. In short, you need:

  • A ham radio transceiver
  • An antenna
  • Cables and adapters to connect the radio to your computer
  • A battery to power the radio for off-grid applications

And you need a computer. As the Winlink name suggests, the primary platform for Winlink is Windows. The official client is Winlink Express, which is exclusive to Windows. However, there are open-source clients for other platforms. I use a package called Pat, which runs on Linux and other operating systems.

Pat is an absolute nightmare to configure because it doesn’t work on its own. It must be combined with modem software, like ARDOPC, that facilitates communications between the RMS and your computer.

To make things easier, I use a package created by KM4ACK called Build-a-Pi, which runs on small, low-power, and inexpensive Raspberry Pi single-board computers. You flash the Raspbian OS on an SD card, plug it into your Pi, boot it up, install Build-a-Pi, and it handles most of the rest of the configuration, installing useful ham radio programs and scripts that make ham radio operations easier.

One of the packages included with Build-a-Pi is KM4ACK’s Pat Menu, a graphical menu that helps all the disparate programs work together and bundles them in a comprehensible interface.

For emergency communications, you want a station that can operate even when the power is out. For that reason, I power my Xiegu G90 with a Bienno battery. To power the Pi, I have an adapter that plugs into my G90’s stand, which has an Anderson power pole connection. You could also use an external battery pack, which KM4ACK has had success with. Pair it with a solar charger for maximum resiliency.

Here is my current ham radio kit. One big change to my kit since last year is that I replaced the clunky Xiegu CE-19 breakout box, which connects my G90’s audio to my Raspberry Pi, with a cable from BD7-MAPLE on eBay that eliminates the need for a box. I’m also currently running the Pi without a case because I put my Argon One on another Pi I’m using as a server.

I set up a VNC server on the Pi so I can log in and control it remotely from my desktop computer, phone, or tablet. In an off-grid situation, I can use an iPad, which can easily be recharged with a power bank. Build-a-Pi has a built-in hotspot that activates if it can’t find a Wi-Fi connection, so I can connect to it even if there’s no Internet connection.

Build-a-Pi with the Pat Menu software
Operating Pat on my Raspberry Pi through a VNC connection to my iMac. Click to enlarge.

Another option, if you’d rather go the Windows route, which might be a little easier, is to use a Microsoft Surface tablet. OH8STN switched from a Raspberry Pi to a Surface and has had good results. Winlink Express supports more connection options than Build-a-Pi. Of course, you could also use an old laptop. The Panasonic Toughbook is an excellent choice in the field, and old Lenovo ThinkPads are also solidly built. Make sure to purchase a fresh battery or two and consider solar-charging options.

In any case, I recommend having a computer dedicated to ham radio applications, which are often poorly optimized and resource-intensive. Also, once you have your audio settings configured correctly, you don’t want to change them, which you may be tempted to do on a computer used for general tasks.

Finally, you need a Winlink account. Here’s the trick: you cannot register for Winlink from the Winlink website. You must register by first making a Winlink connection. It seems like a bit of a Catch-22, because how can you connect to a system that requires an account without first having an account? The solution is to enter a callsign without a password the first time you connect to Winlink. Then you connect to Winlink again, retrieve the password from an email in your Winlink inbox, and then connect with your callsign and password from then on.

Once you’re registered with the system, you can log in to the Winlink website to make account changes, view all the Winlink emails, and do other things.

Tips for making a Winlink connection through Build-a-Pi

I don’t do Windows, so I can’t comment on the Winlink Express software. But I’ve now made several successful connections with the Build-a-Pi software, so I can offer some tips there.

Working digital modes takes a great deal of patience. Before you dive into that side of the pool, I recommend learning your radio and making regular voice contacts so you know that your transceiver and antenna work properly. Then consider setting up a Raspberry Pi and learning the software. Once you’re comfortable with the radio and the Pi, try some of the easier digital modes like WSPR to get the hang of it.

I’ve made a video demonstrating how to make a successful Winlink connection with Build-a-Pi, including some tips to ensure a successful connection.

If you’re fascinated by the idea of Winlink, but these obstacles seem insurmountable, take heart and remember the old adage about how you eat an elephant: a bite at a time. I first read about Winlink in the ‘90s and it’s taken me this long to get my licenses, buy the equipment, and get it all working. Patience and persistence pay off.

Now I’ll offer some tips for ham operators who may have tried Winlink in the past without success. If you’re new to ham radio, this may all seem like gibberish, but may help you later:

  • The first thing you should do is make sure you have FLRIG working properly. FLRIG is the software that controls your radio. You should be able to change the frequency in FLRIG and watch it change on your radio.
  • Next, check your Pat Menu settings to make sure that you have the right audio device selected. I show you how to do that in the video. When you update your settings, click Stop Modems in Pat Menu and then Quit. Relaunch Pat Menu and restart the ARDOP modem.
  • Turn up the volume on your radio and listen. Each digital mode has its own set of noises and once you know how they sound it’s much easier to troubleshoot why a connection isn’t working. If you try to connect to an RMS station and don’t hear any Winlink sounds, it’s possible the station is off-air or you can’t pick up its signal. If you hear the noises but can’t make or maintain a connection, something is probably wrong on your end.
  • Work the band that your station works best with. I find that I have too much noise on 80 meters to make a connection, but I can connect just fine with 40 meters during the daytime. Some bands work better in the day and some work better at night.
  • Speaking of noise, you want to turn the RF gain down on your radio to maximize your signal-to-noise ratio. Here’s the trick to that: tune to an unused frequency on the same band as the frequency you want to use. Adjust the RF gain until the background noise just barely moves your S-Meter. Then tune back to your desired frequency. (This is a good technique for any HF operation.)
  • Winlink likes a very “clean” signal. Features like Automatic Gain Control and preamplifiers, which can make voice communications easier to understand, can distort the signal to the point that Winlink can’t decipher it. Turn all of those off.
  • Make sure you’re on the correct sideband because Pat doesn’t switch sidebands automatically. I was recently struggling to make connections and couldn’t figure out what was wrong until I saw that my radio was set on LSB when it needed to be set to USB. I switched to USB on the radio and it worked right away. Most digital operations happen on USB.
  • When your radio transmits to connect to a station, keep an eye on the radio’s ALC meter. ALC is short for Automatic Level Control, and the more that meter moves, the more distortion you have. If you’re getting a lot of distortion, it’s probably because your computer’s output volume is too high. The best way I’ve found to adjust it is to use a command-line application called alsamixer. Press F6 in alsamixer, choose your sound card and then use the up and down arrow keys to adjust the volume. Do this while transmitting and watch your ALC meter to fine-tune it.
  • How do you tell if your volume is too low? Watch your radio’s wattage output. If it’s unusually low, like transmitting at 5 watts when you have a 100-watt radio, your volume may be too low. Turn up the volume until the ALC meter moves just a bit.
  • Keep an eye on the ARDOP_GUI, which displays what it’s hearing from your radio, if anything. If you’re trying to connect to a station and you see absolutely nothing going on in that window, check and make sure everything is hooked up correctly and you have the right sound card selected in settings.
  • Also keep an eye on the little black window at the bottom of the Pat web interface. It will show if you connect or whatever errors it may have encountered.
  • If you connect to an RMS and are then suddenly disconnected, that’s okay. If you don’t have messages to send or receive the RMS will disconnect you automatically.

One last tip I’ll share. If you’ve sent a request through Pat Catalog that is too big to download and it keeps trying to download it every time you connect, you can stop that by deleting the message from your Sent box.

KM4ACK offers some additional tips:

If this article helped you get connected to Winlink, send me a message over Winlink and let me know. My callsign is KO4EMJ.

Here was my test email with John:

"We've been trying to reach you about your car's extended warranty."