Btech UV-Pro

Yet Another Radio

I got interested in AX.25 packet over RF, so the Btech UV-Pro immediately looked like an interesting jumpstart, when it got a firmware update that allowed it to operate as a KISS TNC over Bluetooth.

Application Driven

HT is the up-to-date app for interfacing with the radio. There’s a “BTech Programmer” app, but it is an older, branded version of HT.

Setup

In the radio, I’d set “General” -> “Digital” -> “Format” = “APRS”, but the HT app kept switching it back to “BSS” any time it connected to the radio. It would never let me set “APRS” until I “verified” my ham radio callsign. It wants to do it by sending your license info to some chinese site – no thanks. Instead, I used a web app to generated an APRS code that worked in the HT app.

I enabling digital mode in radio to make it periodically beacon my APRS location. I set it to a fixed channel for sending APRS. Only the HT app seems to be able to set the beacon text for APRS.

I can send messages from radio by prefixing the message with the recipient:

KC3WWC-7: hey

TNC KISS Mode

I installed WoAD on Android, and enabled TNC KISS on the radio. I paired the radio to the phone via Bluetooth. I checked the Winlink RMS map on the website to find nearby packet gateways, and set the radio to the given packet frequency for the gateway I was trying to use. I configured a session for the callsign and SSID of the Winlink gateway, and started the session. Now it’ll send and receive queued email. There’s a log in WoAD that shows what it’s doing.

WoAD also has a terminal which can be used for BBSes, like KA3TKW. I connected there to see some messages and a BBS software from 1990!

APRSDroid can also talk to KISS TNC over Bluetooth. It’s a much nicer UI than the radio or HT app. Sometimes when switching apps, I needed to cycle power on the radio, but it doesn’t usually take too much to get it going again.

Direwolf

Direwolf doesn’t want to do anything without a local config in place. I had to decompressed /usr/share/doc/direwolf/conf/direwolf.conf.gz to $HOME/direwolf.conf. I customized the configuration file:

  • set my callsign
  • listed audio devices with arecord -L, found pipewire, and set ADEVICE pipewire in the config
  • plugged the Btech APRS cable into the Quansheng and computer
  • Direwolf is decoding packet (from 145.010MHz) and APRS (144.390MHz).
  • -q d quiets APRS decode errors when reading plain packet
  • -t 0 disables the colors
  • with pipewire, I can have both my record-aprs.sh script and Direwolf decoding.
  • decoded APRS from ISS on 144.825MHz via multimon-ng:
AFSK1200: fm KB9VIC-9 to DH4TLZ-0 via RS0ISS-0,WIDE2-1 UIv pid=F0
`t].l .#\`KB9VIC EM58 OLNEY IL HOME OF WHITE SQUIRRELS _%
AFSK1200: fm KA2OMQ-0 to W4BB-0 via RS0ISS-0 UI^ pid=F0
QSL? UR 59 FN13
AFSK1200: fm W4BB-0 to CQ-0 via RS0ISS-0 UI^ pid=F0
:KA2OMQ   :QSL and 73 via ISS
AFSK1200: fm W9QO-0 to STPX1V-0 via RS0ISS-0,SGATE-0,WIDE2-2 UIv pid=F0
'oIPl .-/]

APRS

The Working Configuration

I’ve gotten APRS working with my current gear. I’m running my UV-K5 running egzumer 0.22.0 and VOX enabled. I set the radio volume pretty high, about 75%, and connected the BTech APRS cable and a USB-C 3.5mm audio adapter to my Pixel 6 Pro for an audio connection. The volume on the phone was set to nearly 100% volume. I ran APRSDroid in AFSK mode on the phone.

I watched for my position to show up on the map on https://aprs.fi/.

The Stuff That Didn’t Work

With nunu firmware, I needed to key it manually, but it worked. VOX didn’t work in the nunu 0.20.5, so I switch back to egzumer for working VOX.

Next Steps

I’ll next try to find an old phone to run the APRSDroid and try to use the Explorer QRZ-1, so I can dedicate some hardware to this project.