Ham Rig Control (Hamlib)
Hamlib, FLRig, OmniRig — the universal CAT-control layer that makes every other ham app talk to your radio.
CAT (Computer-Aided Transceiver) control is the boring but essential layer underneath every digital-modes app, logger, and contest program. Without rig control, your software can't switch bands or read your frequency. Hamlib is the abstraction that lets one app speak to dozens of radio brands. Cross-link with Ham Digital Modes, Ham Logging, Ham Contesting, and Ham Satellite Tracking — they all sit on top.
The universal layer
- ★ Hamlib — C library +
rigctl/rigctlddaemons; speaks the CAT protocol of 400+ ham radios (Yaesu, Icom, Kenwood, Elecraft, FlexRadio, TenTec, Alinco, Drake, Radioshack, plus most SDR-based rigs). Therigctldnetwork daemon lets multiple apps share one radio over TCP. LGPLv2.1. The default. Almost every Linux/Mac ham app uses it. - Hamlib's
rotctl/rotctld— same idea for antenna rotators (Yaesu G-5500, Hy-Gain, EA4TX); used by Gpredict, satellite tracking apps. See Ham Satellite Tracking.
Per-platform front-ends
- ★ FLRig — W1HKJ's GUI in front of Hamlib; a small always-on rig control window with frequency, mode, S-meter, ATU triggers. Multiple apps connect via XML-RPC / TCP so Fldigi + WSJT-X + a logger can all share the radio. Linux / Win / Mac. GPL.
- ★ OmniRig — Windows; closed, freeware. The Windows equivalent of FLRig — a COM-based rig server that 30+ Windows ham apps talk to. Versions 1 (legacy) and 2 (modern). Maintained by Alex VE3NEA.
- Ham Radio Deluxe — Rig Control — paid; closed; well-known but most users now stick to Hamlib / FLRig / OmniRig directly.
- TRX-Manager (F6DEX) — Windows; paid; loyal user base; competitor to HRD.
- WfView — Icom-only (IC-705 / IC-7300 / IC-7610 / IC-7700 / IC-9700); cross-platform; uses Icom's CI-V over TCP for the remote radio over LAN use case. GPL. Excellent for "shack in the basement, radio in the garage" setups.
Special cases
- FlexRadio SmartSDR — closed Windows app for Flex 6000 / 8000 series radios. The Flex's network protocol is documented; community Linux clients exist (
pihpsdr,linhpsdr). - Anan / Hermes / openHPSDR — uses piHPSDR (Pi/Linux) or Thetis (Windows, .NET, GPL) — GUI front-ends for Hermes-protocol HF SDRs. See Homebrew & Ham-Flavored SDRs.
- TS-2000 / IC-9700 satellite radios — special "two-VFO duplex" rigctl modes for sat work (uplink and downlink simultaneously).
Network rig sharing
- ★ Hamlib
rigctld— bind a radio at one host, share it over the network. Zero-config; the default Linux solution. - ★ WfView (Icom-native) — for Icom IC-7300/7610/705/9700; full screen + audio over the LAN.
- RemoteHams.com / RCForb — service for sharing a radio publicly; closed.
- FlexRadio SmartLink — Flex-only; closed; routes their radio over the public Internet.
Antenna rotator control
- ★ Hamlib
rotctld— same daemon model; speaks Yaesu GS-232 / G-5500, Hy-Gain DCU, EA4TX ARS, Green-Heron RT-21, M2 RC2800. - PstRotator (Windows) — paid (~$45); pretty UI; integrates with WSJT-X / Gpredict / SatPC32.
- gpredict via rotctld — see Ham Satellite Tracking; the FOSS sat-rotator pipeline.
CAT debugging
- Hamlib
rigctlCLI —rigctl -m <model> -r /dev/ttyUSB0opens an interactive prompt;freads frequency,F 14074000writes; the standard troubleshooting tool. - Hairless MIDI / com0com (Windows) — virtual serial-pair tools to share a single COM port between two apps when the radio doesn't support multi-app CAT.
- socat / virtual TTYs (Linux) — same idea on Linux.
Practical guidance
- One CAT cable, many apps via FLRig / OmniRig / rigctld. Don't try to point WSJT-X and a logger and a contest app at the same serial port directly — they'll fight. Use a multiplexer (FLRig on Linux/Mac, OmniRig on Windows, rigctld for cross-platform).
- Baud rate / handshaking matters. Many Yaesu radios default to 4800 baud; raise to 38400. Icom CI-V wants
\xfe\xfeframing; thecivaddressparameter must match the radio's CI-V hex. - PTT method. Three options: (1) software CAT command (cleanest, modern radios), (2) RTS / DTR on serial port (older interfaces, SignaLink-via-VOX is type 3 below), (3) audio VOX (no wire, but flaky — avoid for digital modes).
- CI-V Echo on, USB Echo off. Icom's most common gotcha — wrong setting and rigctl appears to work but reads stale frequency.
- Lock down the rig's "auto power off." Many radios sleep after 30 minutes; rig control commands every few minutes keep them alive but the radio may have settings overriding this.
- Test with
rigctl -m <model> fbefore launching WSJT-X. Saves you 20 minutes of confusion when WSJT-X fails to connect.
License / pricing notes
- Hamlib / FLRig / WfView / Thetis / piHPSDR — FOSS (GPL/LGPL).
- OmniRig / DXLab — closed, free.
- HRD / TRX-Manager / PstRotator / SmartSDR — paid, closed.
- Hamlib has aggressive backwards compatibility. Old radios (TS-440, FT-757GX from the 80s) are still supported.
Pick this if…
- Default rig control on Linux / macOS: Hamlib + FLRig.
- Default rig control on Windows: OmniRig (free) — most Windows ham apps target it natively.
- Icom radio over LAN, full screen + audio: WfView.
- Anan / Hermes Lite 2 SDR ham radio: piHPSDR (Linux) / Thetis (Windows).
- FlexRadio: SmartSDR (the official path) — Flex's own software is closed but widely loved.
- Antenna rotator on Linux: Hamlib rotctld.
- All-in-one paid Windows shack suite: Ham Radio Deluxe (worth the money if you want one box).