Connection & Discovery
This page covers the full lifecycle of a K3/K3S serial connection: finding the radio on a serial port, identifying the hardware and firmware, managing the power state, and establishing a reliable session.
For general background on command format and serial port settings, see the Programming Guide overview.
Finding the Radio
Section titled “Finding the Radio”Serial Port Discovery
Section titled “Serial Port Discovery”The K3/K3S appears as a standard serial port. The port name depends on the operating system:
- Windows — COM ports (
COM1,COM3, etc.). Enumerate with the Win32SetupDiAPI or by scanningCOM1throughCOM32. - macOS —
/dev/tty.usbserial-*or/dev/cu.usbserial-*(FTDI-based KIO3 USB). - Linux —
/dev/ttyUSB0,/dev/ttyACM0, or similar.
To locate the K3 programmatically, iterate through available serial ports and probe each one.
Probing a Port
Section titled “Probing a Port”Send a single semicolon (;) as a no-op probe. The K3 ignores unknown or empty commands without producing an error, so this is a safe way to test whether a K3 is listening:
; → (no response, but port is valid if no error occurs)A more definitive approach is to send the identification command:
ID; → ID017;The ID017; response confirms a K3 or K3S is connected.
Identification Commands
Section titled “Identification Commands”Once you have found the radio, three commands give you everything you need to know about the hardware.
Radio Model (ID)
Section titled “Radio Model (ID)”ID; → ID017;The value 017 identifies the K3 family. The K3, K3S, KX3, and KX2 all return ID017;. If you need to distinguish between them, use the OM command or firmware revision string.
Installed Options (OM)
Section titled “Installed Options (OM)”OM; → OM AP----T-;The response contains a nine-character option map following the OM prefix. Each position corresponds to a specific option module. A letter means the option is installed; a dash (-) means it is not.
| Position | Letter | Option Module |
|---|---|---|
| 1 | A | KAT3 / KAT3A internal autotuner |
| 2 | P | KPA3 / KPA3A 100 W amplifier |
| 3 | R | K160RX 160 m receive option |
| 4 | S | KRX3 sub receiver |
| 5 | D | KDVR3 digital voice recorder |
| 6 | N | KNB3 noise blanker |
| 7 | - | Reserved |
| 8 | T | KXV3 / KXV3A transverter interface |
| 9 | - | Reserved |
In the example response OM AP----T-;, the KAT3, KPA3, and KXV3 are installed.
Firmware Revision (RV)
Section titled “Firmware Revision (RV)”RV; → RV02.78;The firmware version is returned as a dotted decimal string. Some commands require a minimum firmware version, so recording this value during initialization is important.
Power State
Section titled “Power State”The K3 has two power states controlled by the PS command. The rear-panel power switch must be on (providing standby power) for serial commands to work at all.
Querying Power State
Section titled “Querying Power State”PS; → PS0; (radio is off / standby)PS; → PS1; (radio is on)Powering On
Section titled “Powering On”PS1; → (radio begins booting)After sending PS1;, wait at least 4 seconds before sending any other commands. The K3 performs internal calibration during boot and will not respond reliably until it is complete.
Powering Off
Section titled “Powering Off”PS0; → (radio enters standby)Initialization Sequence
Section titled “Initialization Sequence”The recommended startup handshake discovers the hardware, enables extended command mode, and turns on event-driven updates.
Step-by-Step
Section titled “Step-by-Step”-
Probe — Send
;orID;to verify the radio is present on the port. IfID;returnsID017;, you have a K3-family radio. -
Discover options — Send
OM;and parse the option map. Store the result so your application knows which features are available (sub receiver, autotuner, voice recorder, etc.). -
Check firmware — Send
RV;and record the version. Certain commands or behaviors vary by firmware revision. -
Enable extended mode — Send
K31;to enter K3 extended command mode. This unlocks additional commands and response formats that are not available in the default K2-compatible mode. -
Enable auto-info — Send
AI2;to activate auto-information mode 2. In this mode the K3 spontaneously sends status updates whenever the operator changes a setting on the front panel, eliminating the need to poll.
Disconnection
Section titled “Disconnection”When your application is finished with the radio, clean up the session before closing the serial port:
-
Disable auto-info — Send
AI0;to stop unsolicited status messages. Leaving auto-info enabled after disconnecting can cause data to accumulate in the serial buffer. -
Power off (optional) — Send
PS0;if you want to put the radio into standby. -
Close the port — Release the serial port so other applications can use it.
AI0; → (auto-info disabled)PS0; → (radio enters standby, optional)Multiple Application Considerations
Section titled “Multiple Application Considerations”-
Virtual serial port splitters — Some operators use software such as LP-Bridge, VSPE, or com0com to share a single COM port among multiple programs (logger, rig control, digital modes). While this can work, be aware that command conflicts are possible if two programs send commands simultaneously or if both enable
AImode. -
KIO3 USB interface — The K3’s KIO3 board provides a single USB serial connection. This is the same port used for firmware updates. There is no second independent serial channel on the radio itself.
-
RS-232 vs. USB — The K3 supports both an RS-232 port (directly on the KIO3 rear connector) and USB. Only one can be active at a time; they share the same internal UART.
Next Steps
Section titled “Next Steps”Continue to Frequency & Modes to learn how to read and set VFO frequencies, operating modes, and filter bandwidths.