Posted on 2 Comments

Packet Radio with the Raspberry Pi

Packet Radio TNC with the Raspberry Pi

** Updated 21-2-18

The Pi plus a USB soundcard is all you need to get started with Packet Radio. Instead of using a dedicated hardware TNC, the Pi can be coaxed to do the hard work of managing the Packet protocol.

Full instructions can be found on the WB2OSZ’z website at:


Start with the latest version of Raspbian Stretch and update it as follows:

sudo apt -y update && sudo apt -y upgrade
sudo reboot

The only additional package required is libasound2-dev so install that as follows:

sudo apt install -y libasound2-dev

Now we can install Dire Wolf as follows:

git clone
cd direwolf
sudo make install
make install-conf
make install-rpi

Now we need to make a couple of changes to the configuration file:

sudo nano direwolf.conf

Scroll down to the line: #ADEVICE – plughw:1,0 and delete the # from the start of both lines.

Scroll down to CHANNEL 0 PROPERTIES and replace NOCALL with your callsign-1, i.e. G4WNC-1. NB: This must be caps.

Press Ctl x followed by y to save and close the file.

Reboot the Pi and run Dire Wolf by double-clicking on the desktop icon.

If you want an APRS client for the Pi then YAAC works well.

You can also add a USB GPS or a GPS Hat to make the Pi into an APRS tracker. Details are on the WB2OSZ website.

2 thoughts on “Packet Radio with the Raspberry Pi

  1. Mike, I followed the instructions in your RPi book and text above for installing Direwolf but got a flashing warning about configuration of the USB sound card, even after updating direwolf.conf. There were some errors during the compiling. After reading the github/wb2osz I tried the ver 1.6 Dev version and all seems to work. Possibly some compatibility problems between Direwolf 1.5 and Raspian Buster.
    I understand you use vox on your transceiver to switch between transmit and receive, did this work ok? Direwolf ver 1.6 allows use of RPi GPIO pin for PTT switching. Chris

    1. Hi Chris,
      I’ve just encountered this problem myself whilst working on a simple APRS iGate Rx only node. As you say the solution is to switch to the development branch. The author is aware of the issue so I’m hoping he will integrate the updates with the main release. In the meantime I’ve put together the following script that will automate the installation of an Rx node:
      echo "

      Installing rtl-sdr

      cd ~

      sudo apt install -y rtl-sdr libasound2-dev cmake
      echo "
      Downloading and building Dire Wolf
      git clone
      cd direwolf
      git checkout dev
      mkdir build && cd build
      cmake ..
      make -j4
      sudo make install
      #Create custom config file for Dire Wolf
      cd ~
      echo "
      ADEVICE stdin null
      CHANNEL 0
      MYCALL enter your call
      MODEM 1200
      IGLOGIN your call and iGate passcode
      PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R Your lat/lon in this format:lat=nn^nn.nnN long=nn^nn.nnW
      echo "
      Installation complete...
      Start the APRS server with: rtl_fm -f 144.80M - |direwolf -c aprs.conf -r 24000 -D 1 -

Leave a Reply

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

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