Demonstrating Amateur Radio Digital Modes with simple VHF/UHF Digital Stations (Part 2)

I know it has been quite a while since I’ve posted Part 1 of this blog about Digital Models with a simple station. Since then I spent time evolving Part 1 into the the Amateur Radio Using Digital Modes Workshop I ran at HOPE XII this past summer. As part of the preparation for the workshop I expected to have Part 2 completed and posted before then but I ran into technical issues which I will explain at the end of this post. Before continuing, I highly recommend you review the workshop material since it contains updated material since Part 1 plus providing a deeper dive.

The exercises in Part 1 and the workshop focused on digital modes typically used for keyboard-to-keyboard communications using a piece of free cross-platform software called Fldigi. On HF we use SSB for digital modes allowing us to hear multiple signals share a small piece of spectrum with as little as tens of hertz of separation. The waterfall below shows three PSK31 signals who only differ in audio frequency.

Three PSK31 signals on HF

FM demodulation exhibits a phenomenon known as the capture effect which has us only hear the stronger of two signals within the same frequency. We either live with the capture effect when using FM or develop digital modes that are carrier sensing to avoid collision with other transmissions. Amateur Packet Radio (aka Packet Radio) is a digital mode that addresses the collision problem.

Packet Radio

Packet Radio, is a digital mode native to VHF/UHF that uses the AX.25 protocol.The AX.25 protocol addresses transmission collision through a media access control approach called Carrier sense multiple access with collision recovery (CSMA/CR.) AX.25 supports connected and connection-less modes of operation akin to the use of TCP and UDP respectively in TCP/IP.

Packet Radio was historically implemented using dedicated hardware called Terminal Node Controllers (TNC). A typical station would be a dumb terminal or computer running terminal software serial connected to the TNC and in turn connected to a radio via the microphone and speaker ports.

Because the data rates used are 1200, 2400, and 9600 baud the services running on AX.25 are limited in providing in any media rich experience one is accustomed to in surfing the Internet. Still it is popular for emergency communications as well as popular service called Automatic Packet Reporting System (APRS) which we will cover here.


APRS is a digital communications service that provides a geospatial view of activities (Bulletins, Messages, Alerts, Weather), other stations (mobile or fixed), and points of interest for a given area. APRS operates in connection-less mode.

APRS Example

APRS Client application showing location of Ham Radio stations using APRS service

APRS packets are transmitted for all stations to hear and use. Digipeaters form the backbone of the APRS system using store and forward technology to retransmit packets. All stations operate on the same frequency with packets moving through the radio network from digipeater to digipeater, Packet movement is similar to distance-vector routing protocol dropped after so many hops.

What we will be doing

We will continue to use the VHF/UHF stations we setup in part 1 and in the workshop but add two software packages. The first software package is Dire Wolf which will serve as our TNC serving up the AX.25 protocol stack. The second software package we will be using is YAAC (“Yet Another APRS Client”) to run APRS. Again, all software is cross-platform.

Dire Wolf

Dire Wolf is cross-platform soundcard Terminal Node Controller (TNC) available for Windows, OSX, and Linux. Dire Wolf replaces an an external TNC device akin to a modem.

In our simple VHF/UHF station, we use the Baofeng Audio Cable between the USB sound device and the radio. Since there is no separate PTT connection, we continue to use VOX to key the radio.

Installing Dire Wolf

Windows and OSX users can download the software from the GitHub site and run the executables. Linux users install Dire Wolf by going into your home directory, cloning the GitHub repository and build the executable.

cd ~
git clone
cd direwolf
git checkout 1.4
sudo make install
make install-conf 

The last command will put the following sample conf files into your home directory. We will only be working with direwolf.conf


No matter which type of installation, make a back up copy of the direwolf.conf file and then make the follow edits with items in bold adjusted to your specific situation.

ADEVICE plughw:1,0
MODEM 1200
PBEACON delay=00:15 every=30 overlay=S symbol="digi" lat=XX.XXXN long=YYY.YYYW power=5 height=200 gain=3 comment="CITY ST" via=WIDE1-1,WIDE2-1

With ADEVICE you are setting Dire Wolf to use the USB sound dongle and not the internal soundcard on your laptop. The ADEVICE name will vary across operating systems. What is displayed above is for a Linux laptop. MYCALL is followed by your Amateur Radio callsign. PBEACON needs to be updated with your location, power, and height above ground. Dire Wolf provides sound modem capability only (with an exception mentioned later.)

Packet Radio applications connect to Dire Wolf via two local APIs: AGWPE TCP/IP and KISS API’s via the AGWPORT and KISSPORT, respectively.

Running Dire Wolf

Since we are not setting up a dedicated station, we will manually start and run Dire Wolf as a background application. Depending on the OS either double-click on the icon or run from a terminal command line in the same directory the direwolf.conf file is in.


YAAC is a Java application for monitoring and connecting with the Automatic Packet Reporting System (APRS) network. We will be using YAAC as a stand-alone APRS client. While YAAC’s map rendering does not depend on Internet connectivity, it is advisable as part of the initial configuration to be connected to the Internet to use alternate highly detailed maps (ie. topography detail.)

Installing YaaC

Because YAAC is written in Java, you will need to have the Java Runtime Environment (JRE) version 7 minimum installed on your system. You can test whether you have the minimum version of Java installed by getting a command shell on your system and issuing the command


Create a separate folder/directory to run YAAC in. Download YAAC into that folder and unzip/uncompress it there. At a command line and within that folder run the following:

java -jar YAAC.jar

Configuring and using YaaC

YaaC is well documented with the YaaC website itself providing no better source of getting you up, running and experiencing APRS quickly. It is important to insure during setup that you are connected to the Internet to download maps for areas you will be operating from. APRS itself is just communicating data about the stations/devices themselves and location data.

What delayed this post

I’ve been experimenting on and off with Packet Radio using various soundcard modem software  for a few years following best practices in interface sound card to radio using circuit protection between the two. I’ve built sound card interfaces starting at $8 USD always keeping a couple of Easy Digi Kits on hand for experimentation. For more permanent operations I have two RigBlaster Nomics. With PTT circuity provided in those interfaces, I connect a USB-to-Serial cable between the computer and the interface and wire up PTT from the interface to the radio. Since pinouts vary among radio I like using the Nomics since wiring can be changed via jumpers rather than rewiring an Easy Digi Kit.

This series of posts and the workshop were focused on providing new hams a path of least resistance providing a “quick win” to experiencing and enjoying Amateur Radio at the lowest price point possible. Besides cheap hardware and using sound modem software, to make the outcome possible I would need to use VOX as the universal method to to key transmit instead of PTT.  Packet Radio services that use connection-less modes like APRS are tolerant in the use of VOX but traditional Packet Radio services that use connected mode like BBS and direct chat are not.

The Dire Wolf User guide provides a rich amount of content on the issues of using VOX in Packet Radio and after a few years of trying to get make reliable connected mode connections using VOX with sound cards for connected modes in Packet Radio I can say DON’T WASTE YOUR TIME.  This is the reason not only in the delay of Part 2 but why I did not include Packet Radio in the workshop at HOPE XII.

I’ve been asked by those who attended to present the workshop again at should there be a HOPE XIII in 2020 and include Packet Radio. I plan to do that and include connected modes by coming up with an easy to build sound card interface for under $20 USD that supports PTT use with Boafeng hand-held radios and their equivalents. I look to complete the interface in the coming months and post the results and further experimentation here results here.

For what it’s worth,

– Joe, NE2Z







Posted in Amateur Radio | Leave a comment