CAT / Radio Control
HAM-Tools controls your radio via Hamlib (rigctld). 31 models come preconfigured: Yaesu, Icom, Kenwood, Elecraft (the Hamlib backend knows ~200 more beyond that — the 31 are the curated, tested profiles with factory defaults).
Connection Types 🆕
New in 1.13.0
Besides USB there are two network paths. Pick them in the "Connection" picker at the top of Settings → CAT — selectable per configuration:
| Connection | What's behind it |
|---|---|
| USB (Serial) | The standard: HAM-Tools starts its own rigctld on the USB serial port |
| IC-705 WLAN | HAM-Tools connects directly to the IC-705 (or a compatible Icom) over WLAN — native Icom RS-BA1 protocol, no extra tool like wfview or kappanhang needed |
| Network (rigctld) | Dock onto an already running rigctld server — e.g. from wfview/kappanhang on the same Mac or a shack PC on the LAN |
IC-705 WLAN — Radio Without Cable
The IC-705 (and network-capable Icom relatives) speaks the RS-BA1 network protocol, which HAM-Tools has implemented natively since 1.13.0 (control stream UDP 50001 + CI-V serial stream 50002):
- Fields: radio IP, user, password — the values come from the radio menu Set → WLAN Set → Remote Settings (create a Network User with administrator rights)
- What runs: frequency, mode, and S-meter live; PTT and QSY (a spot click turns the radio) over WLAN; CW keying and the rig-internal voice memories work
- What deliberately doesn't: audio does not run through HAM-Tools — use WSJT-X & Co. externally as usual (the radio's audio stream stays free)
- Outdoor tip: the IC-705 can act as a WLAN access point itself — connect the Mac directly to the radio's WLAN, no router needed
- The CI-V address must match the radio setting (IC-705 default:
0xA4)
→ Step by step: Tutorial: Connect the IC-705 over WLAN
Network (rigctld) — External Hamlib Server
If a bridge tool (wfview, kappanhang) or another computer is already running a rigctld, HAM-Tools simply hooks onto it:
- Host:
127.0.0.1for the same device, otherwise the LAN IP of the shack PC - Port: the standard rigctld port is
4532; wfview/kappanhang often listen on4533so that 4532 stays free for other programs
First Setup (USB)
This is how you set up the standard path over a USB cable (for WLAN see above):
- Cmd+, → CAT tab
- Pick Manufacturer (Icom / Yaesu / Kenwood / Elecraft / Hamlib Dummy for testing without hardware)
- Pick Model — factory defaults (baud, data bits, parity, handshake) load automatically
- Pick Serial Port — the dropdown lists all
/dev/cu.*(USB CAT cables are detected automatically) - CI-V Address (ICOM only) — default from the profile, you can override it if your radio is configured differently
- Click "Start" — the badge at the top switches from gray to blue (Starting) to green (Connected)
Detect Automatically (Auto-Detect) 🆕
New in 1.15.0
Not sure which baud rate your radio is set to — or want to skip the manual setup entirely? The "Automatisch erkennen…" (detect automatically) button next to the model picker finds your radio by itself (works like the CAT search in UCX Log).
- Switch the radio on and connect it via USB/CAT cable
- Settings → CAT → "Automatisch erkennen…" (only clickable while CAT is stopped — press Stop first if a connection is active)
- Pick a manufacturer (e.g. Kenwood) — or "Alle Hersteller" (all manufacturers) if you're unsure
- "Suche starten" (start search) — HAM-Tools cycles through every combination of model × USB port × baud rate until the radio gives a valid answer. The progress view shows live what's being tested ("Teste Kenwood TS-590SG — usbserial-1420 @ 115200 Bd… 12/96")
- On a hit: "Übernehmen" (apply) writes model, port and baud rate into the active configuration — then press "Start" as usual
Good to know:
- Factory baud rates are tested first — a radio with default settings is usually found within seconds. Only after that does the full baud matrix run; a sweep across all manufacturers can take several minutes (the dialog shows an estimate).
- Some related models share the same CAT protocol (e.g. Kenwood TS-480/590/890) — so a sibling model may trigger first. If the shown model isn't yours: click "Weitersuchen" (keep searching) and the sweep continues with the next candidate.
- The search is WSJT-X-safe: it runs on its own internal port and leaves a shared rigctld server (see CAT Sharing) untouched.
- Only the USB (Serial) connection type is detected — for IC-705 WLAN and network rigctld see Connection Types.
CI-V Address (ICOM)
Every ICOM model has a default CI-V address. HAM-Tools knows:
| Model | CI-V | Model | CI-V |
|---|---|---|---|
| IC-7300 | 0x94 | IC-7100 | 0x88 |
| IC-7610 | 0x98 | IC-9100 | 0x7C |
| IC-705 | 0xA4 | IC-7600 | 0x7A |
| IC-9700 | 0xA2 | IC-7700 | 0x74 |
| IC-7200 | 0x76 | IC-7000 | 0x70 |
| IC-746PRO | 0x66 |
TIP
If your radio's CI-V was changed to a different value in the menu, just override the value in the field. With the "Default (0xXX)" button you reset to the factory value.
For Yaesu / Kenwood / Elecraft this section is hidden — those manufacturers don't use CI-V.
Multi-Config
You can save multiple configurations (e.g. one per radio). Workflow:
- Make the settings for Radio A (model + port + CI-V if applicable)
- Click "Save As…" → enter a name (e.g.
IC-705 Mobile) → Save - Configure Radio B (switch model, change port)
- "Save As…" again →
IC-7300 Shack - Switch between configs: in the "Active Config" picker at the top
WARNING
Changes apply to the currently active config. If you switch from IC-705 to IC-7300 and tweak the IC-7300 config, the IC-705 config doesn't change — it's saved.
What the App Does With CAT
- Read frequency: every 500 ms (default, adjustable 200–2000 ms) → shown in the logbook entry panel and the POTA/Contest form
- Set frequency: clicking a DX cluster spot or a QTH memory makes the radio jump to that frequency
- Read mode: in sync with frequency, determines the RST default (599 for CW/Digi, 59 for SSB)
- Set mode: the mode picker in the Radio/CAT panel sends
setModeto Hamlib → the radio switches USB/LSB/CW/PKTUSB - VFO A/B + Split: by click in the Radio/CAT panel
- S-meter: read live from the radio (Hamlib
get_strength) - PTT: set by the contest voice macros (F1–F8) for SSB playback; otherwise the app does not interfere with transmit
- Tuner: the TUN pill toggles the antenna tuner on/off; the separate TUNE button (modern Yaesu) starts a real tuner match (see below)
Yaesu: TUN Pill vs. TUNE Button
The Radio panel has two separate controls for the antenna tuner:
- TUN — toggle: switches the built-in tuner into the line (on) or out (off).
- TUNE — starts a real tuner match on the TRX. On modern Yaesu via the CAT command
AC002;.
The TUNE button only appears on rigs with a CAT-controllable tuner. On the older Yaesu with binary CAT (FT-817/857/897) it's hidden, since these have no ATU that can be matched over CAT. The device-specific tune command is overridable per TRX profile.
CAT Sharing (WSJT-X & Co.)
By default HAM-Tools holds the serial port exclusively — as long as CAT is connected, no second program can reach the radio. With "Share CAT" both run in parallel:
- Cmd+, → CAT tab → enable the switch "Keep rigctld open for other programs".
- In HAM-Tools, "Start" (connect CAT).
- Configure WSJT-X (or fldigi, JS8Call …):
- Rig:
Hamlib NET rigctl - Network Server:
127.0.0.1:4532 - PTT Method:
CAT - Poll Interval: 1 s
- Rig:
HAM-Tools then runs its built-in rigctld as a local server (only 127.0.0.1, no LAN access) that any number of Hamlib programs can hook onto. The server stays open even if you disconnect HAM-Tools' own CAT connection — a running WSJT-X session doesn't drop. You stop it via "Stop Sharing" or when you quit the app.
Band sync for free
When WSJT-X changes band over the shared rigctld, HAM-Tools sees it on the next frequency poll. If you enable "Band follows TRX" in the DX Cluster, the spot list, world map, and logbook filter follow along automatically.
Mode Picker Usable Even Without CAT
New in 1.8.10
Mode selection works even without an active CAT connection — important for remote setups, travel logging with no TRX within reach, or filling in paper logs after the fact.
- With CAT: a mode click sends
setModeto the radio, the radio switches, the poll loop confirms the new value. The selection is limited to Hamlib modes: USB, LSB, CW, CWR, AM, FM, RTTY, RTTYR, PKTUSB, PKTLSB. - Without CAT: a mode click sets the value directly in the internal RadioState (USB/LSB are mapped to
SSB, PKTUSB/PKTLSB toDATA, the rest 1:1). In addition, digital modes appear under a divider: FT8, FT4, JT65, JT9, PSK31, JS8, Q65, MSK144. These run on the TRX over PKTUSB modulation — Hamlib doesn't know them directly, so they're hidden without a CAT connection.
The status under the frequency display shows CAT (green) or manual (gray), so you always know where the current values come from.
Hamlib Under the Hood
HAM-Tools ships its own rigctld binary (Universal2, in Contents/Helpers/rigctld inside the app bundle). You don't need to install a separate Hamlib.
rigctld is spawned as a subprocess at CAT start with the matching arguments:
rigctld -m <hamlibRigNumber> -r <port> -s <baud> -C data_bits=8,stop_bits=1,...For ICOM, civaddr=0xXX is added to the -C argument automatically.
Troubleshooting
| Symptom | Possible cause |
|---|---|
| Badge stays gray on "Idle" | No radio model chosen or no port selected |
| Badge turns red "Error" | Port busy (another app is running), baud doesn't match, cable unplugged — tip: auto-detect finds model + baud by itself |
| Auto-detect finds nothing | Radio off, cable unplugged, or another program holds the serial port — and on Icom: a changed CI-V address (the search probes the factory address) |
| Connected but freq stays at 0 | Wrong CI-V (on ICOM), radio in the wrong mode |
| Connected but mode stays on "—" | The Hamlib module for this model doesn't support mode read |
| Connection drops | USB adapter driver issue — try another cable, update the FTDI driver |
For reproducible problems → Report Bug (Cmd+Shift+B) with the diagnostics attachment enabled.
Tips
- Multi-radio shack: one config per radio — switch with the picker, no entry marathon
- Portable: a second config with a different USB adapter port (can vary depending on the USB hub)
- Test without hardware: the
Hamlib Dummy Rig (test without hardware)profile → sets arbitrary values, good for UI tests