CSR Experiment 1 : HF Digipeater

Not only does the CSR not contain any cell services, it also lacks any VHF APRS capability. Most modern adventurers of the CSR will use something like the Garmin InReach to allow family and friends to track their progress - a very good product with many features, something that is worthwhile if you are considering a trip like the CSR.

I however wanted to try some a bit different. For awhile we’ve been doing APRS via 30m HF, and we’ve been pretty happy with the results. We use a beaten up Codan 9323 HF radio along with a Diamond Mobile HF antenna which has been cut for the APRS frequency. A Raspberry Pi connects to the radio (via a DigiRig) and a USB GPS and Direwolf, the APRS software we use controls these to beacon our location.

The only problem we’ve had with this setup is that it only tracks our car. Often on these trips we might go for walks or runs. This is where the HF digipeating experiment comes in. Can we repeat packets from VHF to HF and HF to VHF?

APRS diagram

Now if you ask anyone into packet amateur radio about this, their initial response will likely be “oh god no, don’t do this”. Which is a justified response. If you blindly set something like this up you’ll flood HF APRS with many many many packets than HF can support. Unlike VHF, HF covers a large area (pretty much all of Australia + more) and the slower modem speed means there’s less effective bandwidth available for packets.

So what we want to do is selectively digipeat VHF->HF when a condition is met. For our setup we are using the APRS PATH for this. Basically if the PATH contains “HFGATE” then digipeat onto HF. HF to VHF is fine - we can digipeat as much as we want in the direction.

# Direwolf configuration

# 0 = Codan 9323 HF radio
# 2 = IC7100
# Refer to direwolf userguide PDF on how to configure multiple audio devices / channels / modems

# HF to VHF
DIGIPEAT 0 2 ^WIDE[3-7]-[1-7]$ ^WIDE[12]-[12]$ 
# VHF to HF
DIGIPEAT 2 0 ^HFGATE$ ^HFGATE[12]-[12]$ TRACE 
#VHF to VHF
DIGIPEAT 2 2 ^WIDE[2-7]-[1-7]$ ^WIDE[1]-[1]$

Since our Raspberry Pi is connected to both the Codan 9323 for HF APRS and our IC-7100 we can configure Direwolf to make use of both these radios!

Finally we need a way to generate these packets. We don’t want to be carrying around mobile rigs in our backpacks. Instead I got a pair of HG UV-98 radios - handheld APRS and voice radios. These provide a bluetooth interface that apps like Aprsdroid can use. Best of all these radios are USB chargeable making them perfect for camping.

HG UV-98 radios

To wrap this up into a nice package we have a few scripts. The first is a preflight script for the Codan 9323. This prevents Direwolf from starting if the Codan 9323 isn’t configured correctly. It also works around some quirks with the PTT race condition that occurs on faster Raspberry Pis and Direwolf. The second set of scripts use hamlib to configure the IC7100 into the right mode and configuration for packet.

#!/bin/bash
hamlib_commands=(
F 439100000
M PKTFM 15000 # packet mode, FM
U NB 0 # noiser blanker off
U NR 0 # noise reduction off
L SQL 0 # disable squelch
R None # disable duplex
L PREAMP 0 # disable preamp
L ATT 0 # disable attuantor
L RFPOWER 1 # power 100%
U ANF 0 # disable auto notch
S 0 VFOA # disable split
L AF 0
)
rigctl -m 370 -r /dev/icomA "${hamlib_commands[@]}"

These are then bundled into systemd unit files that are controlled by radioconsole.

The good

General vehicle tracking worked well. We switched to our sand flag antenna fairly early on and with some tuning we were able to get a good SWR match.

APRS digpeating being shown on APRS.fi

Digipeating worked really nicely. I’ve looked at some of the tracks reported to APRS.fi and many more packets get into the network than I would expect - even in deep valleys or obscured areas.

The digipeater also does VHF-VHF, so you can cover a fairly large area if you park somewhere high.

The bad

Audio cabling didn’t survive the rough conditions of the CSR. Some of the connections between the DigiRig and the Codan are a little dodgy now, and sometimes require adjusting to work correctly.

Along with the cabling issues, sometimes when driving at high speed, hitting foliage or high winds, the antenna will be bending such that the SWR is bad. This seems to cause RF in the shack problems and USB devices start disconnecting from the Raspberry Pi. We have some thoughts on how to fix this - but requires some further investigation.

VHF died on one of the HG UV-98 radios. We worked around this issue by switching to UHF for APRS.

The interesting

The fun part of this is that isn’t specific to just position reports. On multiple occasions on the trip I was able to hold chat conversations using the APRS messaging functionality.

APRS messages being displayed in APRSDroid