Legacy digi Pi Software Guide

This is a web version of the legacy digi Pi Software Guide Rev 1.2. It is kept as a support reference for users who still use the earlier digi Pi HAT and want to configure Raspberry Pi audio, hardware serial, PTT, and KX3 remote power control.

For the current New digiPi HAT, start with the KM6LYW digiPi image setup guide and the New digiPi HAT assembly guide.

Download the original digi Pi Software Guide Rev 1.2 PDF.

What This Guide Covers

The legacy digi Pi guide focuses on configuring the internal sound card and Raspberry Pi hardware serial port. It does not cover installing ham radio digital-mode applications themselves. For a ready-made ham radio Linux environment, the original guide recommended HamPi.

Before You Start

  • Use a freshly installed Raspberry Pi OS desktop image.
  • Configure WiFi or Ethernet before starting headless operation.
  • Enable SSH and VNC if no monitor is connected.
  • Run system updates before changing audio or serial settings.
sudo apt-get update
sudo apt-get upgradeCode language: JavaScript (javascript)

Sound Card Configuration

Back up the Raspberry Pi boot configuration file before editing it.

sudo cp /boot/config.txt /home/pi/
sudo chmod 777 config.txt
sudo nano config.txt

Find this line:

dtparam=audio=on

Disable the onboard Raspberry Pi audio by changing it to:

#dtparam=audio=onCode language: PHP (php)

Then add the digi Pi audio overlay:

dtoverlay=audioinjector-wm8731-audio

Save the file, copy it back to /boot/, and reboot.

sudo cp config.txt /boot/
sudo reboot

After reboot, open a terminal and run alsamixer. The sound card should appear as audioinjector-pi-soundcard. Use F4 to switch to capture controls and adjust capture gain as needed.

Hardware Serial Port Configuration

The legacy digi Pi uses GPIO14 and GPIO15 for the hardware serial port. On Raspberry Pi 4, those pins may be affected by Bluetooth by default, so the original guide enables the hardware serial port and disables Bluetooth.

sudo raspi-config

In raspi-config, open the serial interface settings. Disable the login shell over serial, then enable the serial hardware. Reboot after saving.

Update config.txt For UART

After reboot, edit config.txt again and use these settings in the [ALL] section:

[ALL]
#dtoverlay=vc4-fkms-v3d
enable_uart=1
dtoverlay=disable-bt
#dtoverlay=pi3-miniuart-bitCode language: PHP (php)

Reboot again. GPIO14 and GPIO15 should then be available as ttyAMA0.

GPIO Notes

  • GPIO17 is used for PTT.
  • GPIO16 is used for KX3 power remote control.
  • GPIO14 and GPIO15 provide the hardware serial port as ttyAMA0.

KX3 Remote Power Example

The original PDF includes a Python example for briefly pulling GPIO16 high to remotely power on a KX3. Do not set GPIO16 and GPIO17 high at the same time, especially when an external 9 V supply is connected to X1.

#!/usr/bin/python3
import RPi.GPIO as GPIO
import time

kx3 = 36
GPIO.setmode(GPIO.BOARD)
GPIO.setup(kx3, GPIO.OUT)
GPIO.output(kx3, GPIO.LOW)
print('we will set KX3 to HIGH in 5 secs.')
time.sleep(5)
GPIO.output(kx3, GPIO.HIGH)
time.sleep(0.2)
GPIO.output(kx3, GPIO.LOW)
GPIO.cleanup()Code language: JavaScript (javascript)

Revision Note

Google also found the older Rev 1.1 PDF. Rev 1.2 should be treated as the main web reference, while Rev 1.1 can remain available only as a historical attachment if needed.

Leave a Comment

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

Shopping Cart