RigPlane Core 3.0 is out of beta. As of 3.0.1, a plain pip install rigplane installs it; you no longer need --pre.
pip install rigplane
Core is the open-source (MIT) Python library and web UI that RigPlane Pro is built on. It controls Icom radios over the network or USB and the Yaesu FTX-1 over USB, serves a browser interface for phone, computer or tablet, and includes a rigctld-compatible server so WSJT-X, fldigi and JS8Call can control the radio. Python 3.11 or newer is required.
RigPlane Pro, the desktop app, includes Core 3.0.1 in 0.10.0-beta.10, released today. Pro remains in open beta; its changes are listed below.
A note on version numbers
3.0.0 was tagged during the release freeze but never published to PyPI. 3.0.1 is the first published release of the 3.0 line. It includes everything prepared for 3.0.0, plus four fixes.
What changes for operators
Readings show only what the radio reported. If the radio has not reported a value yet, the web UI leaves the slot empty instead of showing "?", dashes or a made-up default, and the slot keeps its size so nothing jumps when the value arrives. Controls such as NARROW, Filter Shape and the notch choices mark your change as pending until the radio confirms it.
Clearer transmit feedback. A transmit state the radio has not confirmed shows "TX" with a hollow lamp; a confirmed one is filled. If a control is refused because the radio is transmitting, or because its transmit state is not confirmed, the control you touched says so. PTT is now managed per connection: press and release belong to the same session.
Faster LAN recovery. A dropped LAN session comes back as soon as the radio reports the session free, instead of after a watchdog wait.
More of each radio's controls. Repeater controls (tone, tone squelch and CTCSS tone) appear while a receiver is on a band the radio's profile marks as a repeater band. The FTX-1 gets NARROW. Manual Notch Width is a WIDE / MID / NAR choice on radios that have it. The IC-7300 profile now covers receive up to 74.8 MHz, which includes the 4 m band; transmit on 4 m is not offered.
Profiles, skins and command line. On the lan, serial and yaesu-cat backends, the commands and value ranges for each radio come from its profile in rigs/. The web UI's radio logic is shared, and a skin only decides how things look; with a source checkout you can build your own skin. The web, serve and station commands take --listen for the address the server listens on.
Fixes in 3.0.1
- A quick key, unkey, key, unkey could leave the radio transmitting. The unkey is now sent promptly, and an unkey older than a newer key-on is dropped.
- When the acknowledgement of an Icom PTT release is missing or unclear, Core reads the transmit state back from the radio before accepting the next key-down.
- With several identical USB radios connected, every web client now gets one plain message when the radio's audio devices cannot be paired: choose the audio device on the station computer.
- Memory writes are refused unless the radio's profile declares a memory layout, instead of risking a stored channel.
Before you upgrade from 2.x
3.0 is a major release. It keeps selected compatibility aliases, but not every 2.x script or integration works unchanged. Check these first:
- 3.0 requires the radio model. Every command that talks to a radio must say which one it is:
--model IC-7300on the command line,model="IC-7300"in Python (on the LAN backend, a matching--radio-addralso works). 2.11 silently assumed an IC-7610 when none was given, which could drive another radio with the wrong profile; 3.0 refuses to guess. Only the FTX-1 on theyaesu-catbackend and an external rigctld run without it. The radios you can name are in the supported-radios table in the README. - Remove
--auth-tokenand--auth-token-filefrom launch commands; the 3.0 parser rejects them. Core HTTP and WebSocket clients no longer send a Bearer header or?token=. - The old HTTP
pttcommand is rejected. Use the WebSocket PTT flow for momentary PTT, or the latched TRANSMIT operation. - The root
notchFilterandtxFreqMonitorfields are gone from the JSON state. Readmain.notchFilterorsub.notchFilterinstead. - To stay on 2.x for now:
pip install "rigplane<3".
The migration guide covers each change with examples, and What's New in 3.0 is the operator-facing list.
RigPlane Pro 0.10.0-beta.10
Beta.10 moves the desktop app to Core 3.0.1, with the fixes above, and adds changes of its own. Download it from /downloads/ and install it over your current beta; builds are there for macOS (Apple Silicon), Windows (x64 and ARM64) and Linux (Flatpak, AMD64 and ARM64).
Transmit and push-to-talk. Pro gets the Core transmit fixes above, so a confirmed release lets you key again right away. On a phone or tablet, the push-to-talk button stays held when the device is rotated or your finger slides off the button. When keying is refused because the previous transmission is still being released, the message says so.
Radio connections and audio. Reconnecting to an Icom radio over Wi-Fi or LAN after disconnecting no longer fails with "login response timed out". When the station cannot pair a radio's audio devices, the audio-device picker marks the device nearest the radio with "(near the radio)" and preselects it. A remote client whose receive audio the station refused now asks for it again by itself, and Settings shows that the automatic retry is running.
Memory channels. On the IC-705, IC-9700, IC-7300 and IC-7300MK2, storing or clearing a memory channel uses the radio's documented memory layout. A radio without a declared layout refuses the command instead of risking a stored channel. The IC-7610 keeps the memory record format it had before; that format is still being checked against the radio's own guide.
Diagnostics and support. Settings keeps a record of the last diagnostic report attempt: sent (with its Report ID), prepared and waiting for you, or failed. A report that failed to send, or was prepared but not sent, can be sent again from there. Diagnostic bundles from the installed app now include the RigPlane Pro sections that were missing before.
Known limitations. The FTX-1 does not connect while the radio is in C4FM digital mode; switch it to FM or another analog mode first. The phone push-to-talk hold was verified with emulated touch, not yet on real iOS or Android devices. Storing or clearing a memory channel is refused on radios without a declared memory layout. Details are in the release notes on the downloads page.
Known limitations of Core 3.0
Operator-visible gaps of 3.0 are listed in the 3.0 known limitations. Please check that list before reporting a problem. For anything else, open an issue.
Links
- Core release notes: rigplane 3.0.1 on GitHub
- Documentation: rigplane.dev
- Package: pypi.org/project/rigplane
- Pro downloads: /downloads/
73, Sergey KN4KYD
Icom and Yaesu are trademarks of their respective owners and are referenced here only to describe compatibility.
Last reviewed 2026-10-29.