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 RigPlane Virtual Audio Driver 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 installs the RigPlane Virtual Audio Driver 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 the virtual audio cable 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 audio driver. The bundled, signed RigPlane Virtual Audio Driver .pkg runs with a single administrator-password prompt; Core Audio re-enumerates a few seconds later, adding the RigPlane Virtual Cable Output and RigPlane Virtual Cable Input devices. That one click is all the audio setup macOS needs — no Homebrew install, no separate third-party download.

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 two virtual audio devices into Core Audio: RigPlane Virtual Cable Input (a capture device WSJT-X records RX from) and RigPlane Virtual Cable Output (a render device WSJT-X plays TX into). Together they are how WSJT-X exchanges audio with the radio.

You can confirm both devices are present by opening System Settings → Sound: RigPlane Virtual Cable Input appears under Input and RigPlane Virtual Cable Output appears under Output. There is no reason to set either as the system default; WSJT-X will pick them explicitly in step 7.

RigPlane Pro handles the actual routing internally: it writes the radio's receive PCM into RigPlane Virtual Cable Input for WSJT-X to read, and reads WSJT-X's transmit PCM back from RigPlane Virtual Cable Output and ships it to the radio over the IC-7610's USB CODEC. WSJT-X just sees two normal soundcards — one capture, one render — the same way it sees a SignaLink or a built-in radio USB CODEC.

Two devices, one per direction. The RigPlane Virtual Audio Driver exposes the cable as a render-only RigPlane Virtual Cable Output and a capture-only RigPlane Virtual Cable Input, rather than a single bidirectional device. Because each device carries only one direction, there is no way for WSJT-X to read back its own transmit audio — the feedback-loop concern that older single-device write-ups had to work around does not arise. WSJT-X records RX from the Input device and plays TX into the Output device; the audio routing for digital modes guide covers the same two-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 each side to its matching RigPlane device:

SettingValueWhy
Soundcard InputRigPlane Virtual Cable InputReceives RX audio from the radio via RigPlane Pro.
Soundcard OutputRigPlane Virtual Cable OutputSends WSJT-X transmit audio into RigPlane Pro.

This is the same two-device recipe used in the cross-platform audio routing for digital modes guide — on macOS with RigPlane Pro, the RigPlane Virtual Cable Input and Output devices are the virtual cable, and WSJT-X uses one on each side. The reason this is safe is in the step 4 callout: each device carries a single direction, 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 RigPlane Virtual Cable Input (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 path 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?

Join the open beta and run a few sessions on the IC-7610. The beta includes the audio bridge and the rigctld server you need for WSJT-X.

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.