Already familiar with remote operation and just want the cookbook? Here's the short version. Skip to the per-radio sections further down if any of these steps need more context.

Yaesu FT-991A

  1. Plug the radio into a Windows PC over USB. CAT settings on the radio: menu 031 = 38400, 032 = 100ms, 033 = ENABLE.
  2. Download https://www.k3mgm.com/downloads/hampal-host/latest.zip, unzip, double-click HamPalHost.exe. The host auto-detects the COM port on first launch.
  3. In HamPal, pick FT-991A, enter the PC's IP, tap Connect.

ICOM IC-9700

  1. Connect the radio to your network over Ethernet. Enable LAN under Menu > SET > Network, set a username/password under Network > Remote Control.
  2. In HamPal, open Settings and enter the same username and password under the ICOM credentials section.
  3. Pick IC-9700, enter the radio's IP, tap Connect.

ICOM IC-7100

  1. Plug the radio into a Raspberry Pi over USB. CI-V settings under Menu > SET > Connectors: baud 19200, address 88h, transceive ON, USB SEND OFF.
  2. On the Pi (one-time): sudo apt install python3-pip libopus0 portaudio19-dev && pip3 install -r pi-bridge/ic7100/requirements.txt. Then: python3 pi-bridge/ic7100/bridge.py --serial /dev/ttyUSB0.
  3. In HamPal, pick IC-7100, enter the Pi's IP, tap Connect.

Default ports (open these on any firewall between your phone and the host/radio):

Radio Ports
FT-991A TCP 7300, UDP 7301
IC-9700 UDP 50001-50003
IC-7100 TCP 7400, UDP 7401

Only the IC-9700 authenticates clients. The FT-991A Windows host and the IC-7100 Pi bridge are open to anyone who can reach the port — keep them on a trusted LAN or behind a VPN like Tailscale or WireGuard.