EI4LF logo
EI4LF | Primers | HAM Radio Workstation on Raspberry Pi 400

Welcome to the EI4LF amateur radio page


HAM Radio Shack Workstation built on a Raspberry Pi 400


1. Introduction

For a Raspberry Pi Deskop I wanted to get the right mix of usability but also lightweight considering the hardware platform. Raspberry Pi Operating System (OS) is OK out of the box and for doing projects where interaction with the desktop is not that often. I choose to use Ubuntu; however, the GNOME3 based desktop requires to much resources. The lowest resource desktop is Xfce; however, the MATE Desktop is also pretty lightweight, is much more functional and feature rich. MATE is the continuation of the old GNOME2 environment that provides an intuitive and attractive desktop environment that is extremely lean, stable, and has decent customisation. Ubuntu MATE is therefore a good balance of lightweight with software availability for HAM radio.

What you’ll need:

  • A microSD card (16GB minimum, 32GB recommended but I used 64GB)
  • A computer with a microSD card drive
  • A Raspberry Pi 4 (I used the Raspberry Pi 400)
  • A micro USB-C power cable
  • A monitor with an HDMI interface (or a MicroHDMI convertor to VGA, DVI or DisplayPort)
  • A micro HDMI cable
  • A USB keyboard

2. Ubuntu MATE

Ubuntu MATE logo

Ref: Ubuntu MATE

From the Ubuntu MATE website download the Raspberry Pi 64-bit image, compatible with Raspberry Pi models: B3, B3+, B4 and 400. The downloaded image at the time of writing is ubuntu-mate-22.04-desktop-arm64+raspi.img.xz.

3. Raspberry Pi

3.1. Using the Raspberry Pi imager

From the Raspberry Pi Software Centre download and install the latest version of The Raspberry Pi imager.

~$ ls ~/Downloads
imager_1.7.5_amd64.deb

Install and then run the Raspberry Pi imager. In this example it is carried out on a GNU/Linux OS.

~$ sudo apt install rpi-imager
~$ rpi-imager

Select:

  • The Custom .img from your computer
    • Select the downloaded image ubuntu-mate-22.04-desktop-arm64+raspi.img.xz
  • Internal SD Card
  • Select WRITE

Accept message to erase data from the ''Internal SD card reader'. Raspberry Pi OS (64-bit) is written to the microSD card.

3.2. Manually imaging the file (Linux instruction)

If you run into any difficulties, for example the verify part fails, then it is possible to manually install the image on the MicroSD card.

Before plugging the MicroSD card into the computer for imaging run lsblk.

~$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0  1.9T  0 disk 
├─nvme0n1p1 259:1    0  512M  0 part /boot/efi
└─nvme0n1p2 259:2    0  1.9T  0 part /

Plug in the MicroSD card and rerun lsblk. The MicroSD card can now be identified as mmcblk0.

~$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0 59.5G  0 disk 
nvme0n1     259:0    0  1.9T  0 disk 
├─nvme0n1p1 259:1    0  512M  0 part /boot/efi
└─nvme0n1p2 259:2    0  1.9T  0 part /

Make sure the MicroSD card is not mounted.

~$ umount /dev/mmcblk0
umount: /dev/mmcblk0: not mounted

Uncompress the .img file from the compressed archive format.

~$ xz --decompress ubuntu-mate-22.04-desktop-arm64+raspi.img.xz

Using the dd utility which converts and copies the file in 1MB blocks to the MicroSD card.

~$ sudo dd bs=1M of=/dev/mmcblk0 if=ubuntu-mate-22.04-desktop-arm64+raspi.img status=progress
4917821440 bytes (4.9 GB, 4.6 GiB) copied, 2 s, 2.5 GB/s
6333+0 records in
6333+0 records out
6640631808 bytes (6.6 GB, 6.2 GiB) copied, 150.709 s, 44.1 MB/s

4. Install the OS on the Raspberry Pi

Install the newly created microSD card in the Raspberry Pi 400 and boot it. In this case (unlike the installation of Raspberry Pi OS), the Ubuntu MATE is not yet installed. When the file on the MicroSD card runs for the first time it will go through an install process. Follow the instruction and set as appropriate for your shack.

  • Set the language and keyboard layout: English (UK)
  • Set the Timezone: Dublin
  • Your name: ei4lf
  • Your computer's name: ei4lf
  • Pick a username: pi
  • Choose a password: raspberrypi
  • Confirm your password: raspberrypi

4.1. Pin MATE Terminal and Caja to top bar

Select Menu => System Tools => MATE Terminal

  • Right click and drag it to the top panel bar
  • Place it as you want, right click and select Lock to Panel
  • Now it is available without having to go through the menus.

Select Menu => System Tools => Caja

  • Right click and drag it to the top panel bar
  • Place it as you want, right click and select Lock to Panel
  • Now it is available without having to go through the menus.

4.2. Update and Upgrade the OS

Update and Upgrade the OS. This can be achieved via the:

Menu => Administration => Software Updater

or it can be carried out manually as follows:

pi@ei4lf:~ $ sudo apt update && sudo apt upgrade
[sudo] password for pi: raspberrypi

Do you want to continue? [Y/n] Y

Note: This process will take some time the first time it is performed.

Remove any unnecessary packages.

pi@ei4lf:~ $ sudo apt autoremove

Do you want to continue? [Y/n] Y

Review the instalation thus far.

pi@ei4lf:~ $ neofetch
           `:+shmNNMMNNmhs+:`              pi@EI4LF 
        .odMMMMMMMMMMMMMMMMMMdo.           -------- 
      /dMMMMMMMMMMMMMMMmMMMMMMMMd/         OS: Ubuntu MATE 22.04.2 LTS aarch64 
    :mMMMMMMMMMMMMNNNNM/`/yNMMMMMMm:       Host: Raspberry Pi 400 Rev 1.0 
  `yMMMMMMMMMms:..-::oM:    -omMMMMMy`     Kernel: 5.15.0-1011-raspi 
 `dMMMMMMMMy-.odNMMMMMM:    -odMMMMMMd`    Uptime: 9 hours, 11 mins 
 hMMMMMMMm-.hMMy/....+M:`/yNm+mMMMMMMMh    Packages: 2130 (dpkg), 13 (snap) 
/MMMMNmMN-:NMy`-yNMMMMMmNyyMN:`dMMMMMMM/   Shell: bash 5.1.16 
hMMMMm -odMMh`sMMMMMMMMMMs sMN..MMMMMMMh   Resolution: 1280x1024 
NMMMMm    `/yNMMMMMMMMMMMM: MM+ mMMMMMMN   DE: MATE 1.26.0 
NMMMMm    `/yNMMMMMMMMMMMM: MM+ mMMMMMMN   WM: Metacity (Marco) 
hMMMMm -odMMh sMMMMMMMMMMs oMN..MMMMMMMh   Theme: Yaru-MATE-light [GTK2/3] 
/MMMMNNMN-:NMy`-yNMMMMMNNsyMN:`dMMMMMMM/   Icons: Yaru-MATE-light [GTK2/3] 
 hMMMMMMMm-.hMMy/....+M:.+hNd+mMMMMMMMh    Terminal: mate-terminal 
 `dMMMMMMMMy-.odNMMMMMM:    :smMMMMMMd`    Terminal Font: Ubuntu Mono 13 
   yMMMMMMMMMms/..-::oM:    .+dMMMMMy      CPU: BCM2835 (4) @ 1.800GHz 
    :mMMMMMMMMMMMMNNNNM: :smMMMMMMm:       Memory: 785MiB / 3789MiB 
      /dMMMMMMMMMMMMMMMdNMMMMMMMd/
        .odMMMMMMMMMMMMMMMMMMdo.                                   
           `:+shmNNMMNNmhs+:`                                      

5. Wallpapers

Put personal wallpapers in the directory: /home/pi/Pictures

Right click on the desktop background:

  • Select Change Desktop Background
  • Click Add and browse to /home/pi/Pictures
  • Select the personal background and click Open

6. Enable Plank

Plank is a simple dock for GNU/Linux.

Menu => Preferences => Startup Applications and select Add

  • Name: Plank
  • Command: plank
  • Select Add and then Close

7. Network Time Protocol

Enable Network Time Protocol (NTP) to get exact time updates from the Internet NTP servers.

Install NTP.

pi@ei4lf:~ $ sudo apt install systemd-timesyncd
pi@ei4lf:~ $ sudo timedatectl set-ntp true

Confirm the time.

pi@ei4lf:~ $ date
Thu 20 Jul 2023 10:48:29 IST

8. HAM Radio packages

Install the HAM Radio packages.

pi@ei4lf:~ $ sudo apt install hamradio-*

Do you want to continue? [Y/n] Y

  • Configuring dump1090-mutability
    • Start dump1090 automatically? <Yes>
  • Configuring xastir
    • Should non-superusers be able to use native AX.25 interfaces? <Yes>
  • Configuring radioclk
    • Serial port the radio receiver is connected to: ttyUSB0 and <Ok>

Note: ttyUSB0 is the first serial interface that is plugged into a USB port.

Again, this install will take some time. Have a cup of coffee while it does it.

An error will show regarding the radioclk, if there is no clock attached to ttyUSB0, ignore the error.

9. Adjusting Menus

Unfortunately some of the applications in the HamRadio packages are classified under multiple categories. For example Gqrx is categorised under both Sound & Video and HamRadio. The MATE menu displays the application in the first category. To move applications that have ended up in either the Internet or Sound & Video category that you would prefer in the HamRadio category, simply deselect them from the Internet or Sound & Video category and they will automatically appear in the next, HamRadio category.

Menu => Preferences => Main Menu

Disable HamRadio menu items in the Sound & Video category by unchecking them.

Disable HamRadio menu items in the Internet category by unchecking them.

View of the completed HamRadio category.

10. Final Desktop

View of the working Desktop with the HamRadio category from the Menu

11. Example application - QTel

QTel is an EchoLink client built using the QT graphical framework. Here shown QTel connected to the Southern Ireland Repeater Network.


Copyright © 2024 C²S Consulting