Supported Radios¶
Radio support in icom-lan is defined by TOML rig profiles in rigs/.
Adding a new radio = adding a new .toml file — see Adding a New Radio.
Tested¶
IC-7610¶
- CI-V Address:
0x98 - LAN Ports: 50001 (control), 50002 (CI-V), 50003 (audio)
- USB: Serial CI-V + USB audio devices (setup guide)
- Features verified: frequency, mode, power, S-meter, SWR, ALC, PTT, CW keying, VFO select, split, attenuator, preamp, power on/off, discovery (LAN only), scope/waterfall
- Dual receiver: use
select_vfo("MAIN")/select_vfo("SUB")
Backend Comparison¶
| Feature | LAN Backend | Serial Backend |
|---|---|---|
| Control (freq/mode/PTT) | ✅ Full | ✅ Full |
| Meters (S/SWR/ALC) | ✅ Full | ✅ Full |
| Audio RX | ✅ Opus/PCM over UDP | ✅ USB audio device |
| Audio TX | ✅ Opus/PCM over UDP | ✅ USB audio device |
| Scope/Waterfall | ✅ Full (~225 pkt/s) | ⚠️ Requires ≥115200 baud |
| Dual Receiver | ✅ Command29 | ✅ Command29 |
| Remote Access | ✅ Over LAN/VPN | ❌ USB only |
| Discovery | ✅ UDP broadcast | ❌ N/A |
| Setup | IP, username, password | USB cable + device path |
USB Serial Setup
See the IC-7610 USB Serial Backend Setup Guide for step-by-step instructions on using the serial backend (macOS-first).
For IC-7610 USB operation, set Menu → Set → Connectors → CI-V → CI-V USB Port
to the CI-V option (Link to [CI-V]), not [REMOTE].
IC-7300¶
- CI-V Address:
0x94 - Connectivity: USB serial (CI-V) — no built-in LAN
- VFO scheme: VFO A/B (not Main/Sub)
- Rig profile:
rigs/ic7300.toml - Features verified: frequency, mode, power, S-meter, SWR, ALC, PTT, CW keying, VFO A/B select, attenuator, preamp, NB, NR, scope/waterfall, audio RX/TX
- Not available: DIGI-SEL, IP+, LAN, dual receiver
Setup Guide
IC-7300 USB Serial Backend Setup — Complete USB configuration guide for IC-7300 with audio integration and WSJT-X bridging.
IC-7300 vs IC-7610¶
| Feature | IC-7610 | IC-7300 |
|---|---|---|
| Receivers | 2 (MAIN/SUB) | 1 (VFO A/B) |
| VFO labels | MAIN / SUB | VFO A / VFO B |
| DIGI-SEL | ✅ | ❌ |
| IP+ | ✅ | ❌ |
| LAN | ✅ | ❌ |
| Scope | ✅ | ✅ |
| USB Serial | ✅ | ✅ |
The Web UI automatically hides DIGI-SEL and IP+ controls when connected to an IC-7300 (capability-based UI guards). VFO labels switch to "VFO A" / "VFO B" automatically.
Yaesu FTX-1¶
- Protocol: Yaesu CAT (text)
- Connectivity: USB serial
- Rig profile:
rigs/ftx1.toml - Features: 17 modes (incl. C4FM), dual RX, ATT 4 levels, 2m/70cm/HF
- VFO scheme:
ab_shared(2 receivers, 1 VFO) - Backends: Serial (Yaesu CAT) — full working backend
- Web UI: Full spectrum/waterfall via Audio FFT Scope, controls, audio RX/TX
- Audio: USB audio RX/TX supported; Audio FFT Scope provides real-time IF waterfall
Yaesu CAT Backend
The FTX-1 uses the Yaesu CAT text protocol over USB serial. Full frequency, mode, PTT, and audio control is working. The Web UI uses the Audio FFT Scope for spectrum display (no hardware panadapter on FTX-1).
Non-Icom Radios (Profile Only)¶
The TOML rig profile system supports multiple protocols. These profiles exist but backend adapters are not yet implemented or tested:
Xiegu X6100¶
- Protocol: CI-V (IC-705 compatible subset)
- CI-V Address:
0x70 - Rig profile:
rigs/x6100.toml - Features: HF + 6m, QRP 8W, built-in ATU, WiFi
- VFO scheme:
ab - Status: Profile only. May work with CI-V backend (untested).
Lab599 TX-500¶
- Protocol: Kenwood CAT (text)
- Rig profile:
rigs/tx500.toml - Features: HF + 6m, QRP 10W, built-in ATU, minimal CAT (ID FA FB MD FR FT PA RA)
- VFO scheme:
ab - Status: Profile only. Kenwood CAT backend not yet implemented.
Community-Validated / Maintainer Hardware Pending¶
These radios have working field reports and validated user integrations, but the maintainer has not yet completed first-party hardware validation in this repo.
IC-705¶
- CI-V Address:
0xA4 - Connectivity: LAN (WiFi/Ethernet) + USB serial (CI-V)
- VFO scheme: Single receiver (portable transceiver)
- Rig profile:
rigs/ic705.toml - Validated features: LAN connect/disconnect, reconnect, frequency, mode, PTT, and audio path integrations on the WiFi backend
- Status: Community-validated on LAN/WiFi. First-party maintainer hardware validation is still pending.
Setup Guides
- IC-705 USB Serial Backend Setup — Step-by-step USB configuration
- Use Menu → Set → Connectors → CI-V → CI-V USB Port =
Link to [CI-V]
Has Rig Profile (Not Yet Backend-Tested)¶
These radios have complete rig profiles and the CI-V backend should support them, but they have not been tested by the maintainers. Community testing and reports welcome!
IC-9700¶
- CI-V Address:
0xA2 - Connectivity: LAN (Ethernet) + USB serial (CI-V)
- VFO scheme: Dual independent receivers (MAIN/SUB)
- Rig profile:
rigs/ic9700.toml - Expected features: frequency, mode, power, S-meter, scope/waterfall, audio RX/TX, independent MAIN/SUB control, dual audio streaming
- Status: Profile complete. Backend untested — reports welcome.
Setup Guide
IC-9700 USB Serial & LAN Setup — Setup guide covering serial USB and LAN Ethernet configuration.
Should Work (Untested)¶
These radios use the same Icom LAN protocol and should work out of the box. Community testing and reports welcome!
IC-7851¶
- CI-V Address:
0x8E - Connectivity: Ethernet (built-in)
IC-R8600¶
- CI-V Address:
0x96 - Connectivity: Ethernet (built-in)
- Notes: Receiver only — PTT/TX commands will be rejected.
Using Presets¶
Instead of remembering CI-V addresses, use the built-in presets:
from icom_lan import create_radio, LanBackendConfig, get_civ_addr
# Look up by model name and pass to config
addr = get_civ_addr("IC-705")
config = LanBackendConfig(host="192.168.1.100", username="u", password="p", radio_addr=addr)
async with create_radio(config) as radio:
...
For LAN-only scripts you can still use IcomRadio(host, radio_addr=get_civ_addr("IC-705"), ...) — see API Reference.
Custom CI-V Address¶
If you've changed your radio's CI-V address in the menu, specify it explicitly in the backend config:
config = LanBackendConfig(host="192.168.1.100", username="u", password="p", radio_addr=0x42)
async with create_radio(config) as radio:
...
Adding Support for New Radios¶
See Adding a New Radio (Rig Profiles) for the complete guide. In brief:
- Copy the closest reference rig file as a template:
- Icom CI-V →
rigs/ic7610.toml - Kenwood CAT →
rigs/tx500.toml - Yaesu CAT →
rigs/ftx1.toml - Update
[radio]and[protocol]sections - Update
[capabilities],[controls],[meters],[[rules]]as needed - For CI-V radios: update
[commands]section - Run
uv run pytest tests/test_rig_loader.py tests/test_rig_multi_vendor.py -vto validate
The library is CI-V address agnostic — any radio that speaks the Icom LAN protocol should work. If you test with a new model:
- Connect with the model's default CI-V address
- Verify basic operations (frequency, mode, meters)
- Open an issue or PR with your rig file
Finding Your Radio's CI-V Address¶
- Check your radio's Menu → Set → CI-V settings
- Look it up in the Icom CI-V reference manual
- The default is usually printed in the radio's specification sheet