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 .-/]

AX.25

I discovering some ax.25 packet radio floating around on 145.010MHz. I connected my Btech APRS audio cable from computer headphone/mic to the Quansheng, and piped the audio into multimon:

$ pw-record --channels 1 --rate 22050 - | multimon-ng -t raw -a afsk1200 /dev/stdin

Here’s some of the traffic I decode:

  AFSK1200: fm AA3RG-7 to ID-0 UI^ pid=F0
  TheNet X-1J4  (PINEGV)
  AFSK1200: fm AA3RG-7 to N3FUD-7 RR4-
  AFSK1200: fm AA3RG-7 to N3FUD-7 RR4-
  AFSK1200: fm W3AVP-5 to ID-0 via AA3RG-7 UI^ pid=F0
  W3AVP Packet System - FN10xc
  W3AVP-5: New Holland Chat
  W3AVP-10: Winlink Gateway
  AFSK1200: fm AA3RG-7 to N3FUD-7 RR4-
  AFSK1200: fm W3HZU-0 to N3FUD-7 RR4-
  AFSK1200: fm W3HZU-0 to ID-0 UI^ pid=F0
  YORKPA:W3HZU  Connect W3HZU-1 BBS & W3HZU-11 CHAT
  AFSK1200: fm AA3RG-7 to N3OGS-7 DISC+
  AFSK1200: fm AA3RG-7 to N3OGS-7 UA-
  AFSK1200: fm AA3RG-7 to N3FUD-7 RR5-
  AFSK1200: fm W3HZU-0 to N3FUD-7 RR4-
  AFSK1200: fm N3DWB-0 to QRZ-0 via KA3TKW-0,PINEGV-0 UI^ pid=F0
  N3DWB JONESTOWN FN10SJ
  N3DWB-1 Mailbox
  AFSK1200: fm N3DWB-1 to MBX-0 via KA3TKW-0,PINEGV-0 UI^ pid=F0
  Mail for: None
  AFSK1200: fm AA3RG-7 to N3FUD-7 RR5-
  AFSK1200: fm W3HZU-0 to N3FUD-7 RR4-
  AFSK1200: fm AA3RG-7 to N3UOO-7 UA-
  AFSK1200: fm W3HZU-1 to WA3USG-1 via KA3TKW-0 SABM+
  AFSK1200: fm W3HZU-1 to WA3USG-1 via KA3TKW-0 SABM+
  AFSK1200: fm WA3USG-1 to W3HZU-1 via KA3TKW-0 UA-
  AFSK1200: fm WA3USG-1 to W3HZU-1 via KA3TKW-0 I00^ pid=F0
  [KPC3P-8.3-HM$]
  95529 BYTES AVAILABLE
  THERE IS 1 MESSAGE NUMBERED 13
  ENTER COMMAND:  B,J,K,L,R,S, or Help >
  AFSK1200: fm AA3RG-7 to N3FUD-7 RR5-
  AFSK1200: fm W3HZU-1 to WA3USG-1 via KA3TKW-0 I10+ pid=F0
  [BPQ-6.0.24.33-IHJM$]
  AFSK1200: fm W3HZU-1 to WA3USG-1 via KA3TKW-0 I10+ pid=F0
  [BPQ-6.0.24.33-IHJM$]

I need to find a terminal program for Android (BPQ Term?), and read more about the anatomy of an ax25 packet.