Skip to content

IC-7300 USB Serial Backend Setup (macOS)

This guide shows how to control the IC-7300 via USB serial CI-V + USB audio devices instead of the default LAN backend.

Why Use the Serial Backend?

  • No network required — direct USB connection
  • Lower latency — no UDP/network overhead
  • Simpler setup — no IP config, username, or password
  • Alternative to LAN — for users without Ethernet/WiFi on IC-7300

Hardware Requirements

  • IC-7300 transceiver (HF/50 MHz)
  • USB cable with a Type-B plug (the IC-7300 [USB] port is Type B)
  • macOS computer (Ventura or later, Apple Silicon or Intel)

Radio Configuration

Critical Setup Step

On the IC-7300, navigate to Menu → Set → Connectors → CI-V → CI-V USB Port and set it to Unlink from [REMOTE] (the radio's default), NOT Link to [REMOTE].

  • Unlink from [REMOTE] — the [USB] and [REMOTE] CI-V ports work independently; the CI-V USB Baud Rate setting applies only in this mode
  • Link to [REMOTE] — the [USB] and [REMOTE] CI-V ports are connected internally

The IC-7610 has the same setting.

Setting Value Why
CI-V USB Port Unlink from [REMOTE] ✅ Required — the USB baud rate setting applies only in this mode
CI-V USB Baud Rate 115200 Recommended for scope/waterfall
CI-V Address 0x94 (IC-7300 default) Library auto-detects from profile

Baud Rate

  • 115200 baud is recommended for scope/waterfall capability
  • Lower baud rates (19200, 9600) work for basic control (freq, mode, PTT) but scope/waterfall is disabled by a guardrail due to high packet rate
  • CI-V baud rate IS significant on IC-7300 — it must match between radio and library
  • With Auto, the radio keeps the baud rate of the first program that talks to it until it is restarted. If the first connect gets no answer, rigplane tries 19200, 9600 and 4800 once and connects at the one that answers (it says so, and warns that the scope needs 115200). To get back to 115200, set 115200 on the radio (or restart the radio and connect rigplane to it first)

IC-7300 Single Receiver

The IC-7300 has a single receiver (unlike IC-7610's dual receiver or IC-9700's dual). The library automatically enforces this via the IC-7300 profile — operations on receiver=1 will fail with CommandError.

macOS Setup

1. Install rigplane

pip install rigplane

2. Connect USB and Verify Devices

Plug in the USB cable and verify the serial port:

ls /dev/cu.usbserial-* | head -5
# Output example: /dev/cu.usbserial-A602RVAV

Check for audio devices exported by the radio:

rigplane --list-audio-devices

An Icom radio's USB audio device is named USB Audio CODEC.

3. Connect via Python

import asyncio
from rigplane import SerialBackendConfig, create_radio

async def main():
    # Serial radio for IC-7300
    config = SerialBackendConfig(device="/dev/cu.usbserial-A602RVAV", model="IC-7300")

    async with create_radio(config) as radio:
        # Read frequency
        freq = await radio.get_freq()
        print(f"Frequency: {freq / 1e6:.6f} MHz")

        # Set frequency
        await radio.set_freq(7_074_000)

        # Read mode
        mode, _ = await radio.get_mode()
        print(f"Mode: {mode}")

        # Enable scope; frames arrive through radio.on_scope_data(callback)
        await radio.enable_scope()

asyncio.run(main())

4. CLI Usage

# Check connection
rigplane --backend serial --model IC-7300 --serial-port /dev/cu.usbserial-A602RVAV status

# Set frequency
rigplane --backend serial --model IC-7300 --serial-port /dev/cu.usbserial-A602RVAV freq 7074000

# Monitor metrics
rigplane --backend serial --model IC-7300 --serial-port /dev/cu.usbserial-A602RVAV meter

5. Web UI

rigplane --model IC-7300 --serial-port /dev/cu.usbserial-A602RVAV web
# Open http://localhost:8080

Supported Features

Feature Status Notes
Frequency ✅ Full Get/set HF/50 MHz
Mode ✅ Full USB, LSB, CW, FM, AM, RTTY, PSK, etc.
Power ✅ Full RF power 0-100W
Scope/Waterfall ✅ Full Real-time scope at 115200 baud
Audio RX/TX ✅ Full PCM and Opus codecs
Meters ✅ Full S-meter, SWR, ALC, Power, Vd, Id
Filters ✅ Full Filter width selection
DSP ✅ Full NB, NR, Twin Peak, PBT
Dual Watch ⚠️ Single RX IC-7300 has single receiver only

Audio Subsystem

IC-7300 exports a USB audio device that rigplane can use. For RX/TX code, see Audio Recipes.

WSJT-X Integration

On macOS, bridge rigplane audio to WSJT-X through the RigPlane Virtual Cable (the RigPlane Virtual Audio Driver is installed by RigPlane Pro):

  1. Start the audio bridge against the cable ends:
    rigplane --model IC-7300 --serial-port /dev/cu.usbserial-A602RVAV audio bridge --device "RigPlane Virtual Cable Output" --tx-device "RigPlane Virtual Cable Input"
    
  2. WSJT-X settings:
    • Input Device: "RigPlane Virtual Cable Input"
    • Output Device: "RigPlane Virtual Cable Output"

Troubleshooting

Serial Port Not Found

Solution: Verify the USB cable connection and check the /dev/cu.usbserial-* listing.

Low Baud Rate Warning

WARNING Scope disabled at low baud rate (9600 < 115200). Set allow_low_baud_scope=True to override or set ICOM_SERIAL_SCOPE_ALLOW_LOW_BAUD=1.

Solution: Set CI-V USB Baud Rate to 115200 in radio menu → Set → Connectors.

Audio Devices Not Found

Solution: Check that the radio's USB Audio CODEC device is listed:

rigplane --list-audio-devices

CI-V Commands Timing Out

Solution: Verify CI-V USB Port is set to Unlink from [REMOTE], not Link to [REMOTE].

Performance Tuning

Serial CI-V Pacing

If commands are arriving too fast, raise the minimum interval between CI-V commands. The serial backend reads it when the radio object is created, so set it before starting:

# 100 ms minimum between CI-V commands (Icom default: 25 ms)
export ICOM_SERIAL_CIV_MIN_INTERVAL_MS=100
rigplane --model IC-7300 --serial-port /dev/cu.usbserial-A602RVAV web

Hardware Notes

  • Power: the IC-7300 takes 13.8 V DC through its [DC 13.8 V] socket, not USB power
  • Cable length: Keep under 3m to avoid signal integrity issues

See Also

Get the Packaged Desktop App

Prefer a packaged desktop app?

This guide covers the open-source rigplane Python library. If you want a polished desktop application with a GUI for IC-7300 control on macOS and Linux, check out RigPlane Pro.

Download RigPlane Pro for Mac and Linux →