How to install WSJT-X on Raspberry Pi?
If you are an avid amateur radio operator or simply an interested electronic hobbyist, then this tutorial is perfect for you. This article will go over how to install WSJT-X on your Raspberry Pi. It undoubtedly is a bit more complex to install WSJT-X on a Linux operating system from Source as several libraries and packages are required to be installed before WSJT-X can function properly. This can be compared to a Windows or Mac operating system where a single installation file is all you need to get WSJT-X up and running effortlessly. All you need for this tutorial is a Raspberry Pi and a suitable OS (preferably Raspbian) so let’s get right into it!
Introduction to WSJT-X
For those that are unfamiliar with what WSJT-X is, it essentially is amateur radio (ham radio) software that is specifically designed for weak-signal radio communication. Within this software itself, you can access various digital modes of radio communication such as FT8, FT4, JT65, WSPR, etc. To achieve this, WSJT-X transmits and decodes specific audio signals between your computer and your radio transceiver via a USB soundcard. In terms of signal propagation, the fact that small bursts of high-frequency, audible pitches are being transmitted over radio waves allows for long-range radio communication even when solar conditions are not favourable.
From the perspective of amateur radio operators, you can then make contacts (also known as QSOs) with fellow operators right from your computer by sending short pre-generated messages (in the case of FT8) or straight audio tones (in the case of WSPR).
Before downloading any packages and libraries, run these two commands at the Terminal (command prompt) which essentially checks for any pending updates on your Raspberry Pi and then updates them:
sudo apt-get update
sudo apt-get upgrade
After running those two commands, reboot your Raspberry Pi to apply those changes with this command: sudo reboot
After your Raspberry Pi has been updated and rebooted, run the following command in the Terminal to download the media library for your Raspberry Pi. This is important as WSJT-X decodes and transmits audio to communicate with your radio.
sudo apt install -y qtmultimedia5-dev libqt5serialport5-dev
Do note that these commands may take a few minutes to run as they involve downloading and installing large files, packages and libraries to your Pi.
Then, you will need to run this command in the Terminal to install some additional libraries regarding developer tools:
sudo apt install -y qttools5-dev qttools5-dev-tools
Next, it is important that you run this command in the Terminal to install some required multimedia plugins:
sudo apt install -y libqt5multimedia5-plugins
Run the below command in your Terminal to install the required libraries involved with Fast Fourier Transforms (FFT), which basically is used by WSJT-X to convert audio signals coming from your radio into readable frequency information:
sudo apt install -y libboost-all-dev libfftw3-dev
Furthermore, run the following command to install the libusb library, which is responsible for managing communication between the computer (Raspberry Pi) and the radio (via the USB soundcard):
sudo apt install -y libreadline-dev libusb-1.0-0-dev
Moreover, execute this command to install the portaudio library, which is responsible for audio playback and recording from I/O devices:
sudo apt install -y libudev-dev portaudio19-dev cmake
The next installation that you will need to run is for the Fortran library, a very important library that is composed of code involved in handling geometry transformations, nonlinear optimization, Fourier transforms, clustering, statistics, mathematics, linear algebra, strings and chemistry. WSJT-X effectively uses this library for its mathematical calculations when decoding and transmitting signals to communicate over radio waves.
sudo apt install -y libgfortran5
Now, we have completed the installation of all the necessary packages and libraries for WSJT-X. Next, we will create a folder/directory called “build” to store the WSJT-X program file afterward. Run the three below commands:
To install WSJT-X itself for Linux, navigate to the following URL in a web browser (e.g. Chromium or Duck Duck Go) and download the file named ‘wsjtx-2.5.4.tgz’ as we will be working with version 2.5.4 of WSJT-X: https://sourceforge.net/projects/wsjt/files/wsjtx-2.5.4/
After downloading WSJT-X, copy and paste the downloaded file into the ‘build’ directory that you have just created, which should be under /home/pi. You can use the File Manager to help navigate through.
Go back to your Terminal window and assuming you are still in the ‘build’ directory (after cd build), enter the following command to extract the WSJT-X file from its .tgz file extension:
tar xzf wsjtx-2.5.4.tgz
In addition, create another ‘build’ directory within the existing ‘build’ directory to store all the packages and files that will support WSJT-X by running these two commands:
Then, since you are now inside the second ‘build’ directory, run this command to build some packages for WSJT-X:
cmake -DWSJT_SKIP_MANPAGES=ON -DWSJT_GENERATE_DOCS=OFF ../wsjtx-2.5.4
At this stage, you have installed all of the required packages and libraries to support WSJT-X but with this command, you will now build the package to install WSJT-X from source to your Raspberry Pi. Do keep in mind that the installation may take some time as it is a fairly large file.
sudo cmake –build . –target install
Lastly, run the below command to open up WSJT-X:
You can also open up WSJT-X by navigating to the top left Raspberry Pi logo, clicking on Sound & Video and then WSJT-X.
Hopefully from this tutorial, you have gotten WSJT-X set up and running successfully on your Raspberry Pi. As you have seen from all of these steps, it definitely is more complex than installing WSJT-X on other operating systems but now, you can have a functional copy of WSJT-X on your Pi which you could bring to the field when conducting portable ops or POTA/SOTA (Parks/Summits On The Air). In addition, integrating ham radio software into your Pi and essentially dedicating your Pi to amateur radio uses can be an extremely useful decision if you require a portable piece of kit to add to your go box or vehicle. Plus, it eliminates the need for a large power supply as the Raspberry Pi can easily be powered via solar panels or even a powerbank. There will definitely be more tutorials to come into how you could utilize your Raspberry Pi for amateur radio applications!
Understanding First Article Inspection in PCBA to Maximize Benefits In the PCBA project, various inspection methods are applied throughout the manufacturing process to ensure the
We'd love to hear from you