DigiPi Build Guide


*** WARNING *** – Try this at your own risk, this worked for me but may not work for yo. However it might give you enough clues to get your build working.

Raspberry Pi Zero 2 W + CM108 All-In-One Cable (AIOC)


1. Purpose and Design Intent

This document describes a known-good DigiPi build (with modifications because I wanted a little more controls over the hardware) using:

  • Raspberry Pi Zero 2 W
  • CM108 USB All-In-One Cable (AIOC) with opto-isolated PTT
  • DigiPi OS and Direwolf
  • Baofeng UV5 mini

The procedure follows DigiPi’s hardware-aware initialization design.

Order matters. Deviating from this sequence is the most common cause of audio, PTT, and service failures.


2. Bill of Materials

2.1 Required Hardware

  • Raspberry Pi Zero 2 W
  • CM108 All-In-One Cable (NA6D or equivalent)
  • 16–32 GB microSD card (Class 10)
  • 5 V / 2.5 A power supply
  • External VHF/UHF radio
  • Appropriate radio cable (Kenwood K1 or equivalent)

2.2 Radio Requirements (Mandatory)

The radio is a core system component, not an accessory.

Audio Requirements

The radio must provide true analog audio paths.

Required:

  • RX audio output (speaker or data audio)
  • TX mic-level audio input
  • Common audio ground

Not acceptable:

  • Bluetooth audio
  • USB audio presented by the radio
  • VOX-only operation

PTT Requirements (Critical)

The radio must support hard PTT via a discrete line.

Supported:

  • Mic connector PTT
  • Data/accessory port PTT

Not supported: ( but possible if you know your way around the Operating System and can make the necessary changes, but I don’t recommend it)

  • VOX
  • Audio-triggered PTT
  • CAT-only PTT without hardware fallback

The CM108 provides USB HID-controlled, opto-isolated PTT, preventing ground loops and RF ingress.


Audio Processing Requirements

All audio processing must be disabled:

  • Speech compressor: OFF
  • EQ / enhancement: OFF
  • Noise reduction: OFF
  • VOX: OFF
  • Digital voice features: OFF

Packet/APRS requires raw, unprocessed audio.


Duty Cycle and Power

The radio must tolerate:

  • Continuous RX
  • Frequent short TX bursts

External power and mobile-grade radios are strongly recommended for permanent nodes.


2.3 Radio Compatibility Classification (CM108 AIOC)

✅ Fully Compatible — Kenwood 2-Pin (K1)

Examples:

  • Baofeng UV-5R series
  • Quansheng UV-K5 / UV-K6
  • BTECH analog HTs

These are the best choice for DigiPi.


⚠️ Semi-Compatible — Digital / DMR (Audio + PTT Only)

Examples:

  • Anytone 878 series
  • Anytone UV-1701

Limitations:

  • Audio and PTT only
  • No programming or control
  • DSP features must be disabled

Usable for analog APRS only.


❌ Not Compatible

Examples:

  • Icom handhelds with proprietary connectors
  • Yaesu waterproof models
  • Baofeng waterproof models (e.g. UV-9R)

These radios should not be used with DigiPi.


3. Prepare the DigiPi SD Card

  1. Flash the DigiPi OS image to the microSD card.
  2. Reinsert the card and in the partition that is available create an empty file named (with no extensions): ssh
  3. Do not manually configure Wi-Fi.

Do not power the Pi yet.


4. Assemble All Hardware Before First Boot (Mandatory)

Before applying power:

  1. Plug the CM108 AIOC into the Raspberry Pi
  2. Connect the AIOC to the radio (audio + PTT)
  3. Power on the radio
  4. Insert the microSD card
  5. Apply power to the Raspberry Pi

No USB devices should be added later.


Why Order Matters

DigiPi’s first-boot process:

  • Enumerates USB audio
  • Detects CM108 HID PTT
  • Establishes stable ALSA ordering
  • Builds Direwolf defaults around present hardware

The AIOC is part of the system identity, not an accessory.


5. First Boot and Wi-Fi Provisioning (Hotspot Mode)

On first boot, DigiPi will:

  • Detect the CM108 and radio
  • Connect to the temporary Wi-Fi hotspot for setup

Using a phone, tablet, or computer:

  1. Connect to a network named similar to: Digi{i, Digip-xxxx
  2. Open a browser and navigate to: http://10.0.0.5

5.1 Complete Hotspot Setup

Follow the on-screen instructions to:

  • Select your home Wi-Fi network
  • Enter the Wi-Fi password
  • Save settings

Then hit submit and then hit restart.


6. Access DigiPi on Your Home Network

After reboot:

  • DigiPi joins your home Wi-Fi
  • Your local DHCP server assigns an IP address
    (for example 192.168.1.100)

Access DigiPi using either:

  • DHCP-assigned IP:http://192.168.1.100
  • mDNS hostname:http://aprs-digipi.local

7. DigiPi Service Page → Initialization

When you first connect to DigiPi on your home network, you will see the normal DigiPi service control page (APRS, WSJT-X, FLDigi toggles, etc.).

Scroll to the bottom of that page and click Initialization.

This opens the DigiPi Initialization form.


8. DigiPi Initialization Form (One-Time)

This form must be completed once and cannot be revisited without re-flashing the SD card.

Fill in all fields carefully:

  • Callsign – base callsign only (no SSID)
  • Winlink Password – existing or create account
  • APRS Password – APRS-IS passcode
  • Grid Square
  • Latitude / Longitude
  • GPS Device – leave detected value unless you know otherwise
  • AX.25 Node Password – any alphanumeric string
  • Default Mode – typically Standby
  • Screen Type / Large Display – optional
  • Radio Interfacemust be set to AIOC

8.1 Detection Verification (Critical)

At the bottom of the form you must see:

  • Detected Radio/GPS device referencing the AIOC
  • Detected audio interface showing the All-In-One-Cable (AIOC)

If either is missing:

  • Stop
  • Power down
  • Verify AIOC + radio connections
  • Boot again and retry Initialization

8.2 Complete Initialization

Submit the form and follow any on-screen prompts.

DigiPi will:

  • Finalize hardware detection
  • Generate baseline configuration
  • Prepare services for operation

Reboot if instructed.

After this step:

  • The Initialization form will no longer appear
  • The normal DigiPi service page becomes active

9. Verify CM108 Detection (Post-Init)

From SSH:

lsusb
aplay -l
arecord -l

Expected:

card 0: AllInOneCable

10. ALSA Mixer Configuration (Critical)

alsamixer

Select All-In-One-Cable (F6).

Set:

  • Mic: 60–70
  • Speaker: 0 / muted
  • Auto Gain Control: OFF
  • Mic Boost: OFF
  • Capture: ON

Save:

sudo alsactl store

11. Verify Opto-Isolated PTT

sudo apt install hidapi-utils
sudo hidapitester --vidpid 1209:7388 --open --send-output 0x00,0x01

Release:

sudo hidapitester --vidpid 1209:7388 --open --send-output 0x00,0x00

Radio must key cleanly.


12. Direwolf Configuration and Audio Calibration

Configure Direwolf normally.

  • RX audio target: 40–60
  • TX audio: clean deviation, no clipping

13. Recovery (If Initialized Incorrectly)

If DigiPi was booted without the AIOC connected:

  1. Power off
  2. Connect AIOC + radio
  3. Boot
  4. Run:aprs-digipi-setup
  5. Reboot

Re-initialization is strongly recommended.


14. Final Known-Good Checklist

  • AIOC connected at first boot
  • CM108 = ALSA card 0
  • AGC disabled
  • Opto-isolated PTT verified
  • RX level 40–60
  • Clean TX deviation
  • Stable across reboots

Result

You now have a properly initialized, hardware-aware DigiPi node that matches actual DigiPi behavior and is ready for APRS, packet, and related services.

You can now safely add screenshots, callouts, and styling for publication on your site.

Leave a Reply

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