“5 Minute” Portable APRS iGate

I recently did one of the few events being held and there was some APRS being used on the course. The area was not near any digipeaters that could pick up the average APRS tracker. I decided to see if I could hack together a quick APRS iGate I could take out in the field, connect to my Arrow II, and with a hotspot attempt to capture some beacons directly to APRS-IS for them. While they did get an APRS digipeater out in the field for the event, my iGate could still help to ensure the packets made it to APRS-IS for net control. I won’t mention how my setup location made aiming the Arrow II different than I expected; but I’m pretty sure at some point I got some packets out there.┬áThe setup itself is rather straightforward and took so little time I call it a “5 Minute” iGate. Most of this is due to the fact the Kenwood TH-D74A has a built-in KISS TNC.

Karl-Heinz/DL1GKK’s blog entry about using a RaspberryPi and the D74 to send/receive APRS with Xastir provided the information on configuring the radio. The command he uses for displaying the serial devices was also a handy memory jog; because having to deal with UART/Serial/USB-to-UART stuff is something I never had to do with any regularity until I became a ham (where everything is still based around UART and COM ports at the core.)

pi@raspberrypi:/usr/bin $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Sep 26 05:26 usb-JVC_KENWOOD_TH-D74-if00 -> ../../ttyACM0

The part where we deviate from DL1GKK’s experiences is with the software on the Pi, we’re going to be creating a very basic iGate with ‘aprx’. It is able to directly support the KISS TNC in the D74, so you literally only need to install it with ‘sudo apt install aprx’ and then setup a basic configuration at /etc/aprx.conf –

mycall CALL-SSID
myloc lat DDmm.mmN lon DDDmm.mmW

server rotate.aprs2.net
heartbeat-timeout 1m # Disabler of heartbeat timeout

pidfile /var/run/aprx.pid
rflog /var/log/aprx/aprx-rf.log
aprxlog /var/log/aprx/aprx.log

serial-device /dev/ttyACM0 19200 8n1 KISS
callsign $mycall
alias WIDE1,WIDE2
tx-ok false
telem-to-is true

beaconmode APRSIS
cycle-size 60m
beacon symbol “I&” $myloc comment “RPi + D74 iGate”

One thing I briefly looked in to was if aprx could poll GPS for the location information, since I do happen to have a GPS hat and don’t need hardware serial for the radio. It doesn’t look like it does; about the best I can come up with, right now, would be a script to delay the start of aprx at boot while waiting for a valid GPS signal. The scary thing I could probably do something like this since I have a little experience hacking with GPS for APRS-IS.