RigPlane
Guide · WSJT-X · IC-7610 · macOS

WSJT-X with IC-7610 on a Mac — step-by-step setup.

Run FT8, FT4, and JT65 on the Icom IC-7610 from macOS, with WSJT-X talking to the radio over Hamlib NET rigctl on 127.0.0.1:4532 and audio bridged through the BlackHole 2ch device that ships with RigPlane Pro. About 45 minutes from box to first QSO if the radio is already on your desk.

TL;DR

The IC-7610 has a clean USB CI-V control surface and a built-in USB audio CODEC, which is exactly the combination WSJT-X wants for FT8, FT4, and JT65. The historically painful parts on macOS — Hamlib install gymnastics, virtual audio cables, mismatched sample rates — disappear once RigPlane Pro is in the loop: it exposes a Hamlib NET rigctl server on port 4532 for CAT and PTT, and it bundles the BlackHole 2ch installer so WSJT-X sees the radio as a regular soundcard after one admin prompt. This guide walks the full path: plug in the radio, install RigPlane Pro, point WSJT-X at it, and make a contact. For the wider cross-platform audio-routing context — what BlackHole is doing, and how the same idea looks on Linux and Windows — see the audio routing for digital modes guide. If you only need the radio-side USB configuration, the canonical reference is the IC-7610 USB setup guide on rigplane.dev.

What you'll need

  • An Icom IC-7610 with the USB CI-V interface enabled (the default).
  • A Mac running macOS 13 Ventura or newer. RigPlane Pro is signed and notarized; macOS will not put up scary first-launch dialogs beyond the standard Gatekeeper prompt. Apple Silicon and Intel are both supported.
  • A USB A-to-B cable (typically included with the IC-7610). Newer Macs with USB-C only ports work fine with either a USB-C to USB-A adapter or a USB-C to USB-B cable.
  • RigPlane Pro from the downloads page. The desktop app bundles the audio bridge and the rigctld server you need. If you want the headless / CLI route instead, pip install rigplane works on macOS — see the WSJT-X setup guide on rigplane.dev for the command-line flags.
  • WSJT-X 2.7 or newer from wsjt.sourceforge.io. RigPlane has been tested with the 2.7 series for FT8, FT4, JT65, and related modes.
  • A 50-ohm dummy load (or a resonant antenna and a clear channel) for the first low-power transmit test in step 8.

For wider context, see the ham radio software for Mac overview and the IC-7610 page. The RigPlane vs wfview page covers the closest open-source alternative.

Step 1. Connect the IC-7610 to the Mac

Power off the IC-7610, run the USB A-to-B cable from the Mac to the radio's rear-panel USB (B) port (the square connector — not the slot that takes the CF card), then power the radio back on. Give macOS five to ten seconds to enumerate the device.

Confirm the serial port appeared by opening Terminal and running:

ls -l /dev/cu.usbserial-*

You should see a line like /dev/cu.usbserial-IC-7610A_111120 or similar. The exact suffix depends on the radio's serial number — what matters is the /dev/cu.usbserial-* prefix, which is the macOS naming convention for FTDI-class USB serial adapters and is documented in the IC-7610 USB setup guide.

Two radio-side menu settings to verify before you move on — both reachable through Menu → Set → Connectors on the IC-7610 front panel:

  • CI-V → CI-V USB Port: must be Link to [CI-V]. If it is set to [REMOTE], the radio puts the USB CI-V into RS-BA1 mode and serial commands are blocked.
  • CI-V → CI-V USB Baud Rate: 115200 is the recommended value — required if you want panadapter / waterfall later, and harmless if you only want CAT and audio for WSJT-X.
Why the dual-USB story matters. The IC-7610 carries CAT control and audio over a single USB-B port. macOS exposes the CAT side as a serial port (/dev/cu.usbserial-...) and the audio side as a Core Audio device called IC-7610 USB Audio. Both appear automatically when the cable is connected — no driver install needed on macOS 13+.

Step 2. Install RigPlane Pro

Grab the macOS build from the downloads page, open the disk image, and drag the app into /Applications. Launch the app once so Gatekeeper finishes verifying the signature, then open Settings → Audio and click Install BlackHole 2ch. The bundled, signed BlackHole 2ch .pkg runs with a single administrator-password prompt; Core Audio re-enumerates a few seconds later. That one click is all the audio setup macOS needs — no Homebrew install, no separate download from Existential Audio.

RigPlane Pro is signed and notarized through the standard Apple developer channel, so Gatekeeper will not block first launch. If you prefer the command-line path instead of the desktop app, pip install rigplane drops the same engine on your machine and you can run rigplane web for the browser UI; that flow is fully covered in the rigplane.dev WSJT-X setup guide.

Step 3. Connect to the IC-7610 in RigPlane

Open RigPlane Pro. The first-run flow shows a radio picker. Choose Icom IC-7610 — the app probes the CI-V address and the USB audio device automatically, so you should not need to type a serial path by hand. The IC-7610 backend ships with a tested CI-V parity matrix and a profile that auto-detects the 0x98 CI-V address.

Once connected, you should see live frequency, mode, and S-meter readings in the operator console. RX audio should be flowing — drop a pair of headphones on and confirm. If audio is silent at this stage, do not move on; the rest of the guide assumes RigPlane already has a working RX path.

Leave RigPlane Pro running. The app's rigctld server on 127.0.0.1:4532 is what WSJT-X will talk to in step 6, and the audio bridge needs to be live for step 7.

Step 4. Configure audio on macOS

This is the step that traditionally costs the most time on macOS, and the one RigPlane Pro removes the most friction from. When you ran the bundled installer in step 2, it placed a single virtual audio device called BlackHole 2ch into Core Audio. That one device is how WSJT-X exchanges audio with the radio.

You can confirm BlackHole 2ch is present by opening System Settings → Sound → Output and Input, where it will appear in both device lists. There is no reason to set it as the system default; WSJT-X will pick it explicitly in step 7.

RigPlane Pro handles the actual routing internally: the audio bridge writes the radio's receive PCM into BlackHole 2ch, and reads WSJT-X's transmit PCM back out of BlackHole 2ch and ships it to the radio over the IC-7610's USB CODEC. WSJT-X just sees BlackHole 2ch as a normal soundcard with both an input and an output, the same way it sees a SignaLink or a built-in radio USB CODEC.

One device, not two. Older write-ups (and the rigplane.dev command-line guide for the manual pip install rigplane path) describe a two-device topology — BlackHole 2ch for RX, BlackHole 16ch for TX — to avoid a feedback loop when both WSJT-X and the user-launched bridge talk through Core Audio. RigPlane Pro's bundled bridge runs on the other side of the loopback from WSJT-X, so a single BlackHole 2ch device is enough; WSJT-X reads RX from it and writes TX into it without the bridge looping back on itself. RigPlane Pro bundles only the BlackHole 2ch installer, and the audio routing for digital modes guide confirms the same one-device recipe on macOS.

On the radio side, the IC-7610 also needs to know that TX audio for DATA mode arrives over USB. RigPlane handles the DATA mode flag for you (the rigctld server enables packet mode when WSJT-X requests it), but the MOD Input setting that selects which physical input the IC-7610 modulates from is a one-time front-panel choice on the radio. Walk: Menu → Set → Connectors → MOD Input, and set it to USB. This is required for USB-controlled setups; RigPlane only auto-configures MOD Input for the direct Icom LAN audio path, not the USB control path this guide walks you through. The same one-time setting is documented in the WSJT-X setup guide under "Radio Settings (for TX audio)."

Step 5. Install and launch WSJT-X

Download the macOS installer for WSJT-X 2.7 or newer from wsjt.sourceforge.io. WSJT-X is the work of Joseph Taylor, K1JT, and contributors; it is free, GPL software. Open the disk image, drag WSJT-X.app into /Applications, and launch it from there. The first launch on macOS 13+ will show the standard Gatekeeper "downloaded from the internet" prompt — accept it.

On first run, WSJT-X will ask for your station callsign and grid square. Fill those in, then move into Settings (WSJT-X menu → Preferences…, or ⌘,). The next two steps live in that Settings window.

Step 6. WSJT-X radio settings

In the WSJT-X Settings window, switch to the Radio tab. Match the values below — they reflect the canonical configuration documented in the RigPlane WSJT-X setup guide:

SettingValue
RigHamlib NET rigctl
Network Server127.0.0.1:4532
PTT MethodCAT
ModeData/Pkt
Split OperationFake It

Port 4532 is the standard Hamlib NET rigctld port and is the default in WSJT-X — RigPlane Pro listens there so no port-forwarding tricks are needed. Fake It split is the recommended setting for FT8 and FT4 on rigs where transmit-VFO juggling adds latency; RigPlane handles the necessary CAT exchange transparently.

With those values in place, click Test CAT. The button should turn green within a second or two — WSJT-X has connected to RigPlane's rigctld server and read back the current frequency and mode from the IC-7610. Then click Test PTT. The radio should key up briefly and drop back to receive. If either test fails, jump to the troubleshooting section before moving on.

Step 7. WSJT-X audio settings

Switch to the Audio tab in WSJT-X Settings. Set both sides to the same device:

SettingValueWhy
Soundcard InputBlackHole 2chReceives RX audio from the radio via RigPlane Pro's bridge.
Soundcard OutputBlackHole 2chSends WSJT-X transmit audio into RigPlane Pro's bridge.

This is the same one-device recipe used in the cross-platform audio routing for digital modes guide — on macOS with RigPlane Pro, BlackHole 2ch is the only virtual cable in play, and WSJT-X uses it on both sides. The reason this is safe is in the step 4 callout: RigPlane Pro's bridge runs opposite WSJT-X across the loopback, so neither side reads its own output.

Close the Settings window. WSJT-X will reconnect to the audio device and you should immediately see the FT8 waterfall start filling in across the bottom of the main window.

Step 8. First FT8 QSO

Tune the radio to a working FT8 frequency — 14.074 MHz on 20 m is the universal first stop and one of the busiest channels on the planet during daylight hours. Click the corresponding band button at the top of the WSJT-X main window; RigPlane will move the IC-7610 to that frequency and to USB-D mode (PKTUSB) automatically.

Before you transmit, drop the WSJT-X TX power slider on the right side of the main window to about 25 percent. The IC-7610's USB audio path has less internal headroom before ALC compression than the IC-7300 or FTX-1; running the WSJT-X slider at 100 percent produces a "fat" carrier and IM3 spurs for the first several seconds of each transmission until ALC settles. Starting around 25 percent is a well-tested starting point and is documented in the IC-7610 USB setup guide under "TX appears dirty / multiple peaks." You can tune the slider up from there using an external SWR / power meter — the right level is where the meter just starts to drop as you reduce the slider, which is where ALC stops engaging.

Watch the waterfall for a minute. If you see decodes scrolling in the right-hand pane, your RX path is healthy. Now make a call:

  1. Click an Enable Tx button on a decoded CQ line, or set up a CQ of your own in the lower-left transmit window.
  2. Confirm the TX/RX cycle indicator in the bottom-right shows the right state at each 15-second boundary.
  3. Watch the radio's S-meter / TX power meter during the transmit half of the cycle. A clean trace with full rated output (or close to it, at your reduced slider setting) is the signature of a healthy chain.

Once you log your first contact, the rest is the same FT8 you already know. Move to 7.074 MHz on 40 m, 21.074 MHz on 15 m, 28.074 MHz on 10 m — whatever the band conditions favor.

Step 9. Troubleshooting

Test CAT button stays red

RigPlane Pro is not running, the rigctld server is on a different port, or another app is holding port 4532. Make sure RigPlane Pro is open and showing live frequency in its operator console, then re-check the Network Server field reads exactly 127.0.0.1:4532. If that still fails, quit any other CAT software (wfview, flrig, fldigi configured for rigctld) and try again. The full diagnostic flow is in the WSJT-X setup guide.

No decodes in the waterfall

WSJT-X is not getting RX audio. Two things to check: WSJT-X Audio → Soundcard Input must be BlackHole 2ch (not Built-in Microphone, not the IC-7610 USB Audio device directly), and RigPlane Pro must be showing RX audio in its own operator console. If RigPlane is silent, the audio bridge is not running — quit and relaunch RigPlane Pro.

PTT does not key the radio

PTT Method must be CAT, not VOX and not a hardware serial line. With CAT selected, WSJT-X tells RigPlane to assert PTT through the same CI-V channel that handles frequency control, which is the reliable path on the IC-7610. If the first TX takes 15-20 seconds to actually key, that is the known USB → PKTUSB transition delay; RigPlane Pro is built with WSJT-X compatibility (the --wsjtx-compat behavior in the CLI) enabled on the rigctld profile it ships with, so DATA mode is pre-warmed on first connect and subsequent TX cycles fire instantly.

TX shows multiple peaks or a fat carrier on a second receiver

Your WSJT-X TX power slider is too high. Drop it to around 25 percent as a starting point. This is an IC-7610 USB audio CODEC characteristic, not a RigPlane issue — the same effect appears with any control path (LAN, serial, direct rigctld) and is hardware-side ALC compression on the radio. The detailed tuning procedure with an external meter is in the IC-7610 USB setup guide.

Frequencies look off by a few hundred Hz

WSJT-X displays the dial frequency it reads from the radio plus the audio-frequency offset of the decode. If everyone on the band is decoding at the same offset and you are not, check that WSJT-X Mode is set to Data/Pkt rather than plain SSB — packet mode is what aligns the audio centre with the FT8 expectation. Reset the radio to USB-D by reselecting the FT8 band button in WSJT-X.

Ready to operate?

Start a free trial of RigPlane Pro and run a few sessions on the IC-7610. The trial covers the full audio bridge and the rigctld server you need for WSJT-X — nothing is gated behind a paid tier for the digital-mode path.

Related reading

Last reviewed 2026-05-19. Icom and IC-7610 are trademarks of Icom Inc. Apple, Mac, and macOS are trademarks of Apple Inc. WSJT-X is the work of Joseph Taylor, K1JT, and the WSJT Development Group, distributed under the GNU General Public License. RigPlane is an independent project and is not affiliated with, endorsed by, or sponsored by Icom Inc., Apple Inc., or the WSJT Development Group.