Skip to content

K3/K3S Programming Guide

This guide walks through the Elecraft K3/K3S CAT (Computer Aided Transceiver) serial protocol from a programmer’s perspective. It is organized by task rather than by command name, so you can find the commands you need for each aspect of radio control without reading the entire protocol specification.

For a complete alphabetical listing of every command, see the K3/K3S/KX3/KX2 CAT Command Reference.

The K3/K3S accepts commands over a standard serial connection. Two physical interfaces are available:

  • USB via the KIO3 or KUSB board, which provides a virtual COM port on the host computer
  • RS-232 via the DB-9 connector on the rear panel

Default serial parameters:

ParameterValue
Baud rate38400
Data bits8
ParityNone
Stop bits1
Flow controlNone

All commands are plain ASCII text terminated with a semicolon (;). Responses from the radio also end with ;. There is no line-feed or carriage-return delimiter — the semicolon is the only framing character.

FA; → query VFO A frequency
FA00014200000; ← radio responds with the current frequency

Every interaction with the K3/K3S follows a simple three-part model:

SET — Send a command with data to change a radio parameter.

FA00014200000; Set VFO A to 14.200 MHz
MD1; Set mode to LSB
KS020; Set keyer speed to 20 WPM

GET — Send the command letters with no data (just the terminating ;) to read the current value.

FA; Query VFO A frequency
MD; Query current mode
KS; Query keyer speed

RSP — The radio responds with the command letters followed by the current data, in the same format as a SET.

FA00014200000; VFO A is at 14.200 MHz
MD1; Mode is LSB
KS020; Keyer speed is 20 WPM

Many commands accept a $ suffix to target VFO B or the sub receiver instead of VFO A / main receiver. For example:

AG; GET main receiver AF gain
AG$; GET sub receiver AF gain
AG120; SET main receiver AF gain to 120
AG$120; SET sub receiver AF gain to 120

Commands that support the $ suffix are marked with $ in the command reference.

Before issuing most commands, enable K3 extended mode with the K3 command. This unlocks the full command set and extended response formats.

K31; Enable extended K3 command mode
K30; Return to basic (K2-compatible) mode

By default, the K3 only sends data in response to a GET command. The AI command enables automatic notifications when the radio state changes — either from front-panel controls or from other software.

ModeBehavior
AI0;Polling only (default). The radio never sends unsolicited data.
AI1;The radio sends an IF response whenever any front-panel change occurs.
AI2;The radio sends the specific command response matching the changed parameter.

See the Event Handling page for details on processing auto-information responses.

Each page in this guide focuses on a specific area of radio control. They are meant to be read in order the first time, then used as a reference afterward.

PageCovers
Connection & DiscoveryFinding the serial port, verifying the radio identity, and establishing a session
Frequency & ModesSetting and reading VFO frequencies, operating modes, and band selection
Receiver ControlAF/RF gain, filters, bandwidth, AGC, noise blanker, and DSP settings
Transmitter ControlTX/RX switching, power output, SWR metering, and mic gain
Voice, CW & DataCW keying, stored messages, data sub-modes, and voice operations
Advanced FeaturesSplit operation, sub receiver, diversity reception, and memory channels
Event HandlingAuto-information modes, unsolicited responses, and state synchronization
Error HandlingTimeout handling, error recovery, and retry patterns
KPA500 IntegrationAmplifier power, band tracking, fault monitoring, and standby control
KAT500 IntegrationAntenna tuner control, tune initiation, and antenna selection
Station IntegrationCoordinating K3 + KPA500 + KAT500 as a unified station