Kendall Amateur Radio Society


WSJT-X On A Raspberry Pi 3

By Joe Kohler, W5QLF

At the March STXDXCC Club meeting the experimenter and consummate gadgeteer, Tom, AB5XZ, brought a brand new, out-of-the-box Raspberry Pi 3  (RPi 3) card sized computer for show-and-tell.  When you do that kind of thing at a gathering of hams, the most likely result is a conversation on how you can apply such a gadget to ham radio.

In a side conversation before the meeting started the topic surrounded whether such a cute little QSL card sized computer could run a heavy weight computational program such as Joe Taylor's WSJT-X and whether this little computer could be interfaced to a transceiver in the typical ham shack.

This paper describes some of the things to be done to coax (no cable intended) a Raspberry Pi into running the latest digital mode on the air.  The FT-8 digital mode was announced on June 29, 2017 and was an immediate hit with operators all over the world.  The initial version of WSJT-X that included the FT-8 mode was1.8.0 rc3.  The FT-8 protocol is a digital mode program with a 15 second transmit/receive cycle time as well as very capable weak signal performance.  The WSJT-X version discussed in this paper is the 1.9.0 rc3 Beta version released on March 18, 2018.  This more advanced version of WSJT-X is so described as it is currently downloaded and installed automatically using the Raspberry Pi "Raspbian" operating system.  

Raspberry Pi 3 Model B (Hardware)

This is the latest model available in a series of small computer cards that use ARM (Advanced RISC Machine) processors by Broadcom Corporation.  The Raspberry Pi 3 uses a BCM 2837B0 with a 1.2 GHz 64-bit quad-core processor.  The computer board contains four USB ports, a HTMI video output and built in wi-fi and blue tooth interfaces.  An external 5 volt, 1.5 amp power supply is required as well as an HTMI video terminal, keyboard and mouse.  The computer operating system, Raspbian, is a Linux derivative of Debian Linux ported for use with the ARM processor.  The latest release is version 9 and is named "Stretch"

Comparison of WSJT-X Requirements and The Raspberry Pi 3

WSJT-X Requirements

Raspberry Pi Features

Windows, Linux or OS-X

Linux, Raspbian version 9

1.5 GHz or faster CPU

1.2 GHz

200 MB of available memory

1 GB onboard memory

1024 x 720 monitor resolution

As required

Computer to radio interface-CAT

4 USB Sockets - CI-V to USB cable

Computer to radio interface-Audio

4 USB Sockets - SignaLink USB

Time clock accurate to +/- 1 Hz

Internet NTP clock update feature

WSJT-X Compiled For The Raspberry Pi (RPi)

The WSJT-X website lists software versions compiled for three operating systems: Windows, Macintosh OS X and Linux.  See reference 1.  The Linux versions supporting WSJT-X include:

            Debian, Ubuntu (32 bit)                  i386 processor

            Debian, Ubuntu (64 bit)                  amd64 processor

            Fedora, RedHat (32 bit)                  i686 processor

            Fedora, RedHat (64 bit)                  x86 processor

            Raspbian, Jessie, ARMv6              (Raspberry Pi compatible)


Note that Raspbian version 9 (Stretch) is backward compatible with Raspbian version 8 (Jessie).  Either OS version will support WSJT-X.  Also note that although the Raspberry Pi 3 uses a 64 bit processor, The Raspbian OS is a 32 bit system and WSJT-X for RPi is a 32 bit application.

Loading WSJT-X on your RPi

Once you have your Raspberry Pi 3 up and running with Raspbian Graphical User Interface (GUI) screen displayed and the Internet connected you are ready to download and launch Joe Taylor's multi-mode digital program, WSJT-X.

1.      Select the applications menu by clicking on the Raspberry icon in the upper left hand corner of the GUI screen. 

2.      Next select the "Preferences" menu item and then the "Add/Remove Software" item.

3.      Enter the character string "WSJTX" in the box right under the "Options" label in the upper left hand corner and hit Enter.  

WSJT-X Version Found And Ready to Download

4.      Click on the line containing the WSJT-X items to download and install.  Once installed the WSJT-X icon will appear on the desktop window of the Raspbian GUI screen.  Double click on this icon to launch the program.

WSJT-X Downloaded, Installed and Ready To Run

Configure WSJT-X To Your Station

Connect your USB devices for rig control and sound card.  The W5QLF station has an Icom 746 equipped with a CI-V to USB cable for Computer Aided Tuning (CAT) for rig control and a SignaLink USB sound card device.  Plug the USB cables from the transceiver CAT terminal and the SignaLink USB device into the Raspberry Pi 3 computer.  Power up or reboot the RPI so the Raspbian OS can find the new USB devices.

Computer Aided Tuning (Rig Control)

Configure the WSJT-X software to recognize the CAT USB signals.

Select the "Files/Settings" menu item in WSJT-X and select the "General" tab and input your station information.  Click on the "Radio" tab and select your radio type.  You will note that Raspbian has defined a “tty” port automatically.  Input the baud rate your radio is set for and select the appropriate PTT method for your station setup.  There is a TEST CAT button that turns green when the correct parameters have been set for your CAT setup.  

Note that Linux does not use COM port but instead uses a device/tty nomenclature.  In the case of a USB CAT cable, Raspbian will assign "USBx" as the port address. Other parameters to be set on this screen include:

Handshake                           None

Forced Control Lines         DTR High, RTS High           (This allows the RPi to power the electronics in the CI-V to USB cable.)

PTT Method                         VOX                                         (SignaLink units use a tone detector to key the PTT line.  This simplifies the unit setup considerably)

Click on the Test CAT button to test this function          If the button turns green and you hear your transceiver change band, life is good.  If all is silent and the button turns red, start your CAT trouble shooting procedures.

Duplex Audio Lines

Open the Audio tab and view the "Sound Card Input: and Output:" items.  The RPi presented as many as 14 options to select for the audio connections.  Some of these items such as "surroundxx" reflect audio drivers that are not used in this application.  You'll probably have to try several different selections until you see the waterfall display light up.  The selection that worked on the W5QLF system was: "sysdefault:CARD=CODEC".  "default" also worked.

Configure The Duplex Audio Channel To Your Transceiver

At this stage you ought to be able to see signals on the waterfall and in the Band Activity window.  You may have to set the transmit power level using the "Tune" button on the right hand side at mid level on the screen.  The slider labeled "Pwr" on the lower right side of the screen controls the level of the output tone and this also affects the RF output level.  Since the JT modes use only one tone at a time, this mode is much more tolerant of transmitter intermodulation than phase sensitive modes such as PSK-31.  

Waterfall and Spectrum Display On Wide Graph  

Band Activity Window Active On The 20 Meter Frequency


There is a "Log QSO" button on the left side of the midlevel buttons.  This brings up a small window where you can complete manual inputs to the logging info such as TX Pwr.  Once you click OK the log data is written as comma delimited file in wsjtx.log and an ADIF file in wsjtx_log.adi.  These files are accessed by selecting the "File/open log directory. "

Location Of Logged QSO Data In Two Formats

If all has worked well up to this point, you are now ready to start making WSJT-X contacts.

Parting Comments

Getting a complex digital program to run on a puny computer such as a Raspberry Pi is surprisingly satisfying.  Certainly, the use of USB interfaces for rig control and audio links greatly simplifies the hardware setup.  The USB hardware used is exactly the same equipment as used on this transceiver when running digital programs on a Windows machine.

My initial thoughts were to try to configure the Raspberry Pi to control WSJT-X on a FlexRadio.  The FlexRadio software has features that replace hardware cables with virtual lines that connect the computer with the FlexRadio via an ethernet connection.  This is great as it eliminates cable tangles, outboard sound cards and CAT interface issues!  Wow, I'm really on a roll!

But Wait, There is more:  SmartSDR is only available for Windows and iOS for Apple devices.  There is no Linux version of SmartSDR and the DAX and CAT routines won't run on Linux.  Therefore, it is not possible to connect a Raspberry Pi running WSJT-X to a FlexRadio via virtual (DAX and CAT) connections.

FlexRadios running SmartSDR on an outboard Windows computer work nicely with digital mode programs also running on the Windows computer. 

However, the new model 6400 and 6600 FlexRadios or FlexRadios using Maestro with internal computer devices appear not have provisions for running third party digital mode programs or rig connected logging programs.  Apparently, an outboard PC computer is required to run digital modes or logging programs with CAT capability just as with the earlier model FlexRadios. (Reference 7)

From Reference 8, Paragraph 10:

"How do I operate digital modes with the FLEX-6400M and FLEX-6600M? You can continue to use your favorite digital mode software on your PC just as you do today but without the need for a sound card or cables. Simply load SmartSDR™ software on the PC running your digital software and connect through FlexRadio’s Digital Audio Exchange (DAX) and SmartSDR CAT eliminating the problems with wiring complexity and RF/audio ground loops."


1.         WSJT-X Release Notes Version 1.8.0 by Joe Taylor, K1JT


2.         A general description of WSJT-X that includes the FT-8 mode


3.         Raspberry Pi 3 Setup Raspbian, Fldigi, WSJT-X by DL1GKK



4.         Installing Operating System Images for RPi



5.         How To Get Raspbian Stretch (scroll down)




6.         Setting up FT-8 by Jim Carson



7.         Flex 6xxx and Digital Modes Via Remote Connection



8.         FLEX-6400/6400M/6600/6600M FlexRadio Systems Document