Setup Raspberry Pi for Ham-Radio

Introduction

I am a big friend of the small Raspberry Pi which and use this gladly for amateur radio. With version 4 it is fast enough to fulfill all tasks. There are many ways and many software to make the Pi fit for Ham Radio. Below is the installation how I use it. My choice of programs has the advantage that they are compatible with each other.

The installation will take some time. Take it easy and do it step by step. Please understand that I don’t have much time for support due to professional reasons. Errors, infos or quick questions to info@dl1gkk.com. The instructions are based on the assumption that you have basic knowledge in the use of electronics and computers and that you are a licensed amateur radio operator or short wave listener.


Let’s talk briefly about programming.
 In these instructions you will find code windows again and again. The input takes place in the LXTerminal of the Raspbian OS.

#That ist for Info - you don't need it
Command line-1
Command line-2
Command line-3...
reboot

You can copy it by hand and enter it in the LXTerminal or better you connect to a second computer via VNC or via ssh, then you can copy and paste the commands directly from my homepage. It is important that you enter one line at a time and press return each time. Please also copy and paste in the same way. Note upper and lower case.

If you cannot or do not want to install software yourself, you can also buy a ready-to-use SD card on the G4WNC homepage https://photobyte.org

Additional Information: Installing the programs under Raspbian (Linux) is not always easy. Sometimes something doesn’t work although the installation instructions are relatively clear. Here a deeper introduction into the problem is necessary. Here the visit of the homepage of KI6ZHD is recommended. Thanks David, great job 
http://www.trinityos.com/HAM/CentosDigitalModes/RPi/rpi2-setup.html

If you have problems I recommend to visit the homepage of the corresponding programs and to read the instructions.


Ham Clock is also a nice Raspberry Pi App. But i install it separately. Have a look here
https://dl1gkk.com/ham-clock-raspberry-pi/

Table of contents

  • Introduction
  • Hardware (what i use)
  • Prepare SD Card
  • Install operating system
  • First start and basic setup Raspberry pi (Raspi)
  • Backup & Restore
  • Setup GPS Clock (Time sync)
  • Install Packet Radio (Hamlib, Direwolf, Xastir, Linpac)
  • Install FLRig (Transceiver Control)
  • Install FLDigi (Data Mode)
  • Install WSJT-X (Data Mode)
  • Install JS8CALL (Data Mode)
  • Install CQRLOG + TQSL (Advanced Ham Radio Logbook)
  • Install GPredict (Sat-Tracking)
  • Install QSSTV (Slow Scan Televison)
  • Install GQRX (SDR)
  • General Information (last but not least)
  • Disclaimer

Last update: 1. september 2019

Stop by once in a while. I will update the manual regularly and possibly also add new programs.


Hardware

Raspberry Pi 4b (2GB)
https://www.raspberrypi.org/products/raspberry-pi-4-model-b/

Note: My first Raspberry 4b was the 4GB version. When installing the following programs I had problems with LAN and WLAN again and again. It turned out to be a hardware error. Then I bought a Raspberry 4b with 2GB, which runs now perfectly.

My portable ham radio setup for the Raspberry Pi3
https://dl1gkk.com/small-portable-digital-amateur-radio-station/

NEW: My portable ham radio setup V2 for the Raspberry Pi4
https://dl1gkk.com/small-portable-digital-amateur-radio-station-v2/

Important! Check your sound card and how to control and optimize it for radio transmission. 
http://members.chello.at/oe1mww/sound-card-check/


Prepare SD card

  • ScanDisk Ultra
  • ScanDisk Extreme Pro

I am using the ScanDisk Ultra and Extreme Pro SD Cards with 32GB. 
If necessary, you can format them using SD Memory Card Formatter.
https://www.sdcard.org/downloads/formatter/


Install operating system

Download raspbian OS. I use the full version with desktop and recommended software. https://www.raspberrypi.org/downloads/raspbian/

Copy it on the SD Card. It is very simple with
https://www.balena.io/etcher/


First start and basic setup Raspberry pi (Raspi)

Insert the SD card into the slot of the Raspi. Connect the network cable, HDMI screen, keyboard and mouse and start the Raspi by plugging in the power connector. Use the original power supply or a power source with enough power. Follow the setup instructions. Before rebooting the Raspi I go to the Preferences, Raspberry Pi Configuration. There I assign my own hostname, for example dl1gkk-pi-4, so that I can identify it well later in the network. Then I switch to Interfaces and enable the VNC Server and ssh. With this I can control the further software installation via VNC or ssh. Now you can restart the Raspi.

After this i make a software and operating system update

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
reboot

For remote control install a VNC Viewer on another computer. I use
https://www.realvnc.com/

It is recommended to create an account with RealVNC. This allows you to control up to 5 computers for private use. After logging in, this is also possible from outside your own network. Once this is done, log on to the VNC server on the Raspi (click on the icon in the menu bar) and the VNC Viewer. Access should now be possible. You have assigned the host name and password yourself. The user is: pi


Backup & Restore

Let’s talk about backup & restore. I recommend to make regular backups from the SD card. For new installations I do this after every completed step. E.g. after the installation of the operating system, after the installation of software A, after the installation of software B… The reason is that something can go wrong during an installation. Then you can simply start again with the previous step and don’t have to reinstall everything completely.

There is a reason for not touching a functioning system. But I would add: if you don’t have a backup. For this reason I always work with two SD cards on the Raspi. One I use to test new installations and one is my working system. On the working system comes only what really works.

The easiest way is to backup and restore with
https://www.tweaking4all.com/software/macosx-software/applepi-baker-v2/
or https://sourceforge.net/projects/win32diskimager/


GPS Clock (Time sync)

Let’s talk about time synchronization. Software like wsjt-x needs an exact time. In your local network you can inform yourself about IP. On the way I use my mobile phone as WLAN hotspot for the Raspi. Another possibility is to use a GPS. I use a Diymall Vk-172 Usb GPS Dongle. The GPS ist also nice if you like to track your position (APRS) or something else.

The installation for this gps is based on a video from KM4ACK. 
Thank you jason, great job  
https://youtu.be/Oag9qYuhMGg

Put the GPS in the Raspi, power it up

sudo apt-get install gpsd gpsd-clients python-gps chrony
sudo nano /etc/default/gpsd
# Make / change to following setting:
START_DAEMON=”true”
USBAUTO=”true”
DEVICES=”/dev/ttyACM0″
GPSD_OPTIONS=”-n”
#Ctrl-X and yes to save
sudo nano /etc/chrony/chrony.conf
#Add the following line to the end of the file:
refclock SHM 0 offset 0.5 delay 0.2 refid NMEA
#Ctrl-X and yes to save
reboot

Now we can check if everything is all right

# check that gpsd and chronyd are active
systemctl is-active gpsd
systemctl is-active chronyd
# show the gps data
gpsmon -n

Install Packet Radio (Hamlib, Direwolf, Xastir, Linpac)


Install Hamlib (Transceiver Control)

Install Hamlib first if you need a PTT-Control for the Soundmodem (Direwolf)

If you use a Signalink USB sound card with VOX for PTT you don’t need to install Hamlib. Don’t use the VOX from a Transceiver. It ist not fast enough. But the Signalink is not good for 9600baud packet. If u use a cheap USB sound card like mine you need a hardware PTT circuit or a USB serial cable and Hamlib for Transceiver control. IMPORTANT if you want to use Hamlib you have to install it BEFORE installing Direwolf. If you compaile Direwolf Hamlib will enabeld it

The installation is based on a video from KM4ACK.
Thank you jason, great job 
https://youtu.be/iUOfsOnOmvQ

cd Downloads
wget https://sourceforge.net/projects/hamlib/files/hamlib/3.3/hamlib-3.3.tar.gz
tar -zxvf hamlib-3.3.tar.gz
cd hamlib-3.3
./configure --prefix=/usr/local --enable-static
make
sudo make install
sudo ldconfig
cd ~
reboot

Now you can check if Hamlib will work. With the following command you can check which transceivers are supported

# l is a lower case L
rigctl -l

I use an Elecraft KX2 and a 144/432Mhz transverter so that I can e.g. output the frequency with the following command. We need this info later for direwolf

rigctl -m 229 -r /dev/ttyUSB0 -s 38400 f

Install Direwolf (Sound Modem)

The installation is based on a video from KM4ACK. 
Thank you jason, great job  
https://youtu.be/Nz4mOzi5bcw

sudo apt-get install libasound2-dev
sudo apt-get install libudev-dev
git clone https://www.github.com/wb2osz/direwolf
cd ~/direwolf
make -j
sudo make install
make install-conf
make install-rpi
reboot

Now we can setup Direwolf. First we have a look about our sound card in- and output

# l is a lower case L
aplay -l
arecord -l 

Now we edit the Direwolf config 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, i.e. DL1GKK. NB: This must be caps. Then, if you like to use Hamlib scroll to ptt and change it (in my case) to: PTT RIG 229 /dev/ttyUSB0

Press Ctrl+x, close an save the file. Then make a reboot.

Now you can start Direwolf. I use LXTerminal and enter “direwolf”. In my case the text is blinking. I think it’s a problem with the colors and I don’t have a solution yet. The first remedy is to call Direwolf with “direwolf -t 0”. The colours are then switched off and everything is black and white. When I have found a solution to the problem I will post here again. If someone knows a solution please mail to info@dach-ok.de

After start you see infos from Dirwolf bevor it begins to decode APRS messages. You will see that Hamlib ist enabled, the active audio device, info about your active channels and config and the info that Direwolf is ready to accept AGW (Port 8000) and KISS TCP (Port 8001). We need AGW for connect Xastir.


Install Xastir (APRS)

sudo apt-get install xastir
# Add the system user ‘pi’ to run the xastir program
sudo usermod -a -G xastir-ax25 pi
reboot

Now we can start xastir. But before that do we start first Direwolf

direwolf
#then in a new terminal window
xastir

Install Linpac (Packet Radio Terminal)

First we have to install AX25 network support

sudo apt-get install libax25 ax25-apps ax25-tools

Now we must change the axports

cd /etc/ax25/
sudo nano axports

In my case i have to setup to:
1 DL1GKK 1200 255 2 Packet
port-number call speed paclen window description
Leave with ctrl+x and save and reboot

Now you can start Direwolf. I start it with -t 0 (disable colors because otherwise the text will blink) and -p (activate KISS-TNC)

direwolf -t 0 -p 

Now you can connect Direwolf to AX25

sudo /usr/sbin/kissattach /dev/pts/1 1 44.56.4.118

/dev/pts/1 is from Direwolf. The 1 after this is the port-number from the axports file. If everything is ok you get: AX.25 port 1 bound to device ax0

Now we can install Linpac. Open the raspbian menu settings: add / remove Software, search for linpac, select it and Apply. Start linpac with:

sudo linpac -m

Now linpac should run and you can adjust your individual setup. When ready make a reboot.


Install FLRig (Transceiver Control)

It ist important that you install FLRig before FLDigi. The installation is based on a video from KM4ACK. 
Thank you jason, great job  
https://www.youtube.com/watch?v=WCj2usvOItQ

sudo apt-get install libfltk1.3-dev libjpeg9-dev libxft-dev libxinerama-dev libxcursor-dev libsndfile1-dev libsamplerate0-dev portaudio19-dev libpulse-dev

For the further installation we need the software from
http://www.w1hkj.com/files/

We are going to the Folder /flxmlrpc and copy the link-adress with the right click on flxmlrpc-0.1.4.tar.gz (in this case… later it is possible that you have a higher release number), we need it for the wget command.

cd Downloads
wget http://www.w1hkj.com/files/flxmlrpc/flxmlrpc-0.1.4.tar.gz
ls
tar -zxvf flxmlrpc-0.1.4.tar.gz
cd flxmlrpc-0.1.4
./configure --prefix=/usr/local --enable-static
make
sudo make install
sudo ldconfig
cd ~/Downloads

We are going to the Folder /flrig and copy the link-adress with the right click on flrig-1.3.47.tar.gz (in this case… later it is possible that you have a higher release number), we need it for the wget command.

wget http://www.w1hkj.com/files/flrig/flrig-1.3.47.tar.gz
ls
tar -zxvf flrig-1.3.47.tar.gz
cd flrig-1.3.47
./configure --prefix=/usr/local --enable-static
make
sudo make install
cd ~
flrig

Now FLRig should run and you can adjust your individual setup. When ready make.

Note to FLRig: Currently I use the direct CAT control of the individual programs and do without FLRig. The reason is that FLRig switches off the PTT in my setup with a delay. There are a few milliseconds. I haven’t found out why this is the case yet. If someone knows, please contact me: info@dl1gkk.com. The installation of FLRig makes sense anyway, since some drivers are also required by FLDigi.


Install FLDigi (Data Mode)

The installation is based on a video from KM4ACK. 
Thank you jason, great job  
https://www.youtube.com/watch?v=oD59HpiYtDE

sudo nano /etc/dphys-swapfile

delete the “#” from the line: #CONF_SWAPFILE=/var/swap
set CONF_SWAPSIZE=512
Make CTRL+X and safe the swapfile

sudo /etc/init.d/dphys-swapfile restart

For the further installation we need the software from
http://www.w1hkj.com/files/

We are going to the Folder /fldigi and copy the link-adress with the right click on fldigi-4.1.07.tar.gz (in this case… later it is possible that you have a higher release number), we need it for the wget command.

cd Downloads
wget http://www.w1hkj.com/files/fldigi/fldigi-4.1.07.tar.gz
tar -zxvf fldigi-4.1.07.tar.gz
ls
cd fldigi-4.1.07
./configure --prefix=/usr/local --enable-static
make
sudo make install
sudo ldconfig
cd ~

Now we have to undo the changes in the swap-file

sudo nano /etc/dphys-swapfile

make a “#” in front of the line: #CONF_SWAPFILE=/var/swap
set CONF_SWAPSIZE=100
Make CTRL+X and safe the swapfile

sudo /etc/init.d/dphys-swapfile restart
fldigi

Now FLDigi should run and you can adjust your individual setup. Note: If you use FLRig for transceiver control you need to start it. When ready make a reboot.


Install WSJT-X (Data Mode)

Install WSJT-X with the PPA from Greg Beam. 
Thank you Greg, great job  
For more information have a look here https://launchpad.net/~ki7mt/+archive/ubuntu/wsjtx

sudo nano /etc/apt/sources.list

Add the following to the end of the sources.list file

deb http://ppa.launchpad.net/ki7mt/wsjtx/ubuntu xenial main 
deb-src http://ppa.launchpad.net/ki7mt/wsjtx/ubuntu xenial main

Ctrl-X to save and exit

Now update your system

sudo apt-get update

and install WSJT-X

sudo apt-get install wsjtx

Confirm every questions until installation with yes and if finish

reboot

After install you have not the current version? 
Take it easy you can update it

First, remove the old version. Open the raspbian menu settings: add / remove Software, search for wsjtx and delete all packages with wsjtx.

sudo nano /etc/apt/sources.list

Delete at the end of the sources.list following files

deb http://ppa.launchpad.net/ki7mt/wsjtx/ubuntu xenial main 
deb-src http://ppa.launchpad.net/ki7mt/wsjtx/ubuntu xenial main

Ctrl-X to save and exit. Make a reboot. For the direct update the PPA’s are no longer needed

Go to https://physics.princeton.edu/pulsar/k1jt/wsjtx.html and download the current version to the Downloads folder. For example: Raspbian Stretch..: wsjtx_2.1.0_armhf.deb

cd Downloads
sudo dpkg -i wsjtx_2.1.0_armhf.deb
reboot

Now WSJT-X should run and you can adjust your individual setup. Note: If you use FLRig for transceiver control you need to start it. When ready make a reboot.


Install JS8Call (Data Mode)

The installation is based on a video from KM4ACK. 
Thank you jason, great job  
https://youtu.be/Nz4mOzi5bcw

For the further installation we need the software from
http://files.js8call.com/latest.html

We copy the link-adress with the right click on http://files.js8call.com/1.1.0/js8call_1.1.0_armhf.deb (in this case… later it is possible that you have a higher release number), we need it for the wget command.

cd Downloads
wget http://files.js8call.com/1.1.0/js8call_1.1.0_armhf.deb
sudo dpkg -i js8call_1.1.0_armhf.deb

If you run into dependency issues try running

sudo apt --fix-broken install
sudo dpkg -i js8call_1.1.0_armhf.deb

Now JS8Call should run and you can adjust your individual setup. Note: If you use FLRig for transceiver control you need to start it. When ready make a reboot.

See this video if you want to get your gridsquare from GPS https://youtu.be/DpzC7g-gY44


Install CQRLOG (Advanced ham radio logbook)

Open the raspbian menu settings: add / remove Software, search for cqrlog, select it and Apply.

Now CQRLOG should run and you can adjust your individual setup.

LOTW User: Install TQSL and load existing Certificate on the Raspi.
Have a look to K0PIR’s youtube video. Thank you rich, great job  
https://youtu.be/M9o0WnJtxz0

Open the raspbian menu settings: add / remove Software, search for tqsl, select it and Apply. Now TQSL should run. When ready make a reboot.


Install GPredict (Sat-Tracking)

Open the raspbian menu settings: add / remove Software, search for gpredict, select it and Apply.

Now Gpredict should run and you can adjust your individual setup. When ready make a reboot.


Install QSSTV (Slow Scan Televison)

Open the raspbian menu settings: add / remove Software, search for qsstv, select it and Apply.

Now qsstv should run and you can adjust your individual setup. When ready make a reboot.


Install GQRX (SDR)

SDR receivers are the first choice if you just want to be ready to receive in as wide a frequency range as possible. These receivers are already very inexpensive and work well together with the Raspberry. I use the DX PATROL MK4 with a frequency range from 100khz to 2Ghz.

With an adapted LNB and a downconverter the reception of the amateur radio satellite QO-100 is also possible. But also for the decoding of most different signals like e.g. weather fax the SDR Receiver is suitable in the best way.

In order to use the SDR receiver you need the appropriate SDR software. I use Gqrx. Following the installation.

Open the raspbian menu settings: add / remove Software, search for gqrx, select it and Apply. After finish make a reboot.

Now gqrx should run and you can adjust your individual setup. Be patient when starting. The first time it takes a little longer. DX PATROL MK4 is a RTL2838 device so i use as I/O input Realtek RTL2838UHIDIR SN:00000001.

In my case the sound output did not work after the standard installation. I fixed this as follows

Open Chromium-Webbrowser oder Firefox on the Raspi
http://gqrx.dk/download/gqrx-sdr-for-the-raspberry-pi

Download the current version of Gqrx for Raspberry Pi 3 in my case is it the SDR 2.11. Open the file manager and got to Downloads. Make a right click on gqrx-sdr-2.11.5-linux-rpi3.tar.xz and and choose unpack here. Open the folder gqrx-sdr-2.11.5-linux-rpi3. Have a look in readme.txt. Open LXTerminal an enter

sudo apt update
sudo apt install gnuradio libvolk1-bin libusb-1.0-0 gr-iqbal
sudo apt install qt5-default libqt5svg5 libportaudio2
cd Downloads
ls
cd gqrx-sdr-2.11.5-linux-rpi3
sudo cp udev/*.rules /etc/udev/rules.d/
reboot


General Information

Many programs are installed using this manual. In case of an error, it may be helpful to carry out an update. Important. Make a backup of the SD card before attempting to do so.

sudo apt-get update
sudo apt-get upgrade
reboot

Alternatively it might be helpful to upgrade the complete system. Be careful, the programs may not work afterwards.

sudo apt-get update
sudo apt-get dist-upgrade
reboot

Disclaimer

Please note the software/information available on this website are provided “as is” without warranty of any kind, either expressed or implied and such software is to be used at your own risk.

The use of the software links on this website is done at your own discretion and risk and with agreement that you will be solely responsible for any damage to your computer system or loss of data that results from such activities. You are solely responsible for adequate protection and backup of the data and equipment used in connection with any of the software linked to this website, and we will not be liable for any damages that you may suffer connection with downloading, installing, using, modifying or distributing such software. No advice or information, whether oral or written, obtained by you from us or from this website shall create any warranty for the software.


Have fun…
VY 73, Karl-Heinz, DL1GKK

source:https://dl1gkk.com/setup-raspberry-pi-for-ham-radio/?fbclid=IwAR2jvstUQw8vM_iGQK7MoQT7anox7VYBYzewe79cDHwUTLcxsV03J7TKKpY

source:
https://dl1gkk.com/setup-raspberry-pi-for-ham-radio/