ELECRAFT K4 PROGRAMMER'S REFERENCE
Copyright 2022 Elecraft, Inc. Rev. C10
Using Commands in Switch Macros
This manual describes all K4 remote-control commands. These can be used by computer application developers to emulate the K4's front panel controls, or by operators who wish to customize K4 or K-Pod switch functions.
Since the transceiver supports fast digital I/O over Ethernet, it can provide Streaming Data, including dB/bin data for software panadapter emulation, IQ for demodulation and programs like Skimmer, and receive/transmit digitized audio.
The K4 executes a superset of the commands from the K3/K3S transceiver and P3 panadapter. Some commands support both a new K4 format as well as the legacy K3/K3S or P3 format. Some commands also have a new toggle or increment/decrement SET variation to simplify front-panel switch emulation. All variations are described in the Command Reference sections.
Multiple remote-control clients are supported via the Ethernet and USB ports (see Multiple Client Support). Each client can independently poll the K4 to obtain information needed to support its own user interface. Auto-Info (AI) mode is also provided to broadcast radio control changes to all clients. See Polling vs. Auto-Info (AI).
K4 Remote control commands are human-readable, providing an advantage for developers as well as operators who wish to create their own macros (strings of commands). Software applications can interact with the radio by polling with GET commands, or they may be designed to respond to automatically generated responses resulting from control changes.
Commands are divided into three groups:
Radio Commands band, mode, audio, RF, and operational settings
Menu Access Commands menu entry names, parameters, and default values
Display Commands panadapter, waterfall, and external monitor settings
Within each group are SET and GET commands. Response commands (RESP) from the K4 occur in reply to GETs, and can also be generated automatically following control changes at the radio. Responses use the same format as SET commands.
Many computer software applications poll for data of interest by using GET commands. Typically only a small subset of K4 commands is used for a given application.
An alternative is to place the K4 into AI (auto-info) mode. In this case, every control change at the radio (due to either local or remote control by any client) will generate a corresponding GET response automatically. The application can use all or a subset of these responses to update its interface. See the AI command.
Commands have a 2-, 3-, or 4-letter prefix followed by one or more parameters. Parameters can be comprised of numeric fields, letters, or a combination of these. All commands are terminated by a semicolon (;). Commands may use upper or lower case alphabetic characters. The only command that differentiates between the two is the CW/DATA text-send command (KY <text>), when used in PSK mode.
A dollar sign symbol ($) after a command prefix modifies a command to target VFO B/sub receiver. Applicable commands are so identified in the Command Reference.
SET commands have a prefix and usually 1 or more parameters. (All SET commands have corresponding GET commands and vice-versa unless otherwise noted.) SET examples:
AN3; selects KAT4 ATU antenna 3
FA7100; sets VFO A to 7100 kHz (FA/FB support multiple numeric formats)
MD$3; selects CW mode for VFO B/sub RX
GET commands use only the prefix; the response to a GET (RESP) uses the SET format. Examples:
AN; returns ANx; where x is the currently selected antenna
MD$; returns MD$x; where x is the current operating mode for VFO B/sub RX
TOGGLE/INCR/DECR commands are special variants of SET commands. Examples:
RA/; turns VFO A/main RX attenuator on if it was off and vice-versa
BN$+; selects the next-highest band for VFO B/sub RX
K4 switch emulation commands (SW) simulate the use of switches on the K4's front panel. 2-digit IDs specify the function without the need to differentiate between tap and hold. Examples:
SW56; simulates tapping the K4's NR switch
K3 switch emulation commands (SWT/SWH) support a subset of K3/K3S switches that have matching K4 functions. These are provided for compatibility with existing applications. Example:
SWT16; simulates tapping the K4's XMIT switch (identical to SWT16 on the K3/K3S).
Meta commands (K2, K3, K4) affect behavior of certain individual commands and the overall protocol. Refer to the command reference for details.
Display commands are preceded by a # symbol to disambiguate them from current or future radio control commands.
If a GET or SET command is received that cannot be parsed, the radio will echo the command followed by "?" and a semicolon terminator. If a command is correctly formed but a parameter is out of range, a GET response is echoed that shows the current valid setting.
A K4 may be controlled by multiple clients simultaneously, including other K4s or software applications running on computers or mobile devices. Connections can be established through the two virtual COM ports (USB-B connector), the RS232 port (DE9 connector), or Ethernet.
The radio's built-in server maintains the latest radio state information (band, mode, etc.). Each client can poll for the subset of information it needs to maintain its UI. Clients using older software may use K2 or K3 "meta modes" as well as legacy command formats. Clients can also individually turn on auto-information mode (see AI command) when desired. In this case, any change in radio state caused by a client or at the radio itself is then broadcast to all clients via AI responses.
The K4 provides three kinds of streaming data: digital audio (two outgoing channels for receive, one incoming channel for transmit), dB/bin (for reproducing panadapter data), and raw IQ (to support external demodulation, text decode, etc.). Each data stream is enabled by connecting to a specific port over Ethernet. Once the connection is established, data flows continuously.
Example applications and details on streaming data protocols are available on request.
One or more K4 remote-control commands can be concatenated together to form macros that perform user-defined functions. For example, the sequence:
FA14085;MD6;DT2;PC070H;
puts the radio on a common 20 meter RTTY "watering hole" frequency, selects data mode and FSK-D data submode, then sets power output to 70 watts.
Macros can be edited directly from the front panel and assigned to programmable switches on the radio itself or on the Elecraft K-Pod controller. To create/edit macros, tap Fn, then hold MACROS.
Commands are listed in alphanumeric order. If a command can target either VFO A/main RX and VFO B/sub RX separately, it is so identified by a $ symbol. This symbol must be added to the command only when targeting VFO B/sub RX.
All SET commands have a corresponding GET command and vice-versa unless otherwise noted.
[Pending] in a command's heading indicates that implementation is planned or in progress.
AB (VFO Copy/Swap/Init; SET only)
SET format: ABn; where n=0 (FA>FB), 1 (FB>FA), 2 (FA/FB swap), 3 (all A>B), 4 (all B>A), 5 (all A/B). Cases 0-2 copy or swap only VFO frequency. Cases 3-5 copy or swap all VFO parameters. Some limitations apply. For example, RX antennas are only copied or swapped if the VFOs are on different bands.
AF (Audio Feedback tones)
SET format: AFn; where n=0 cancels any AF tone sequence, 1 is a simple switch beep (high pitch), and 2 = hi/lo error tone.
AG$ (AF Gain)
SET/RESP format: AG$nnn; where n is 000-060.
TOGGLE format: AG/ toggles between last gain value and 0. (To emulate receiver mute, send AG0; to mute and AG/; to restore previous level.)
NOTE: When the SUB AF knob is assigned to balance control via the BL command, the AG$ command (sub RX AF gain) returns the same value as AG (main RX AF gain).
AI (Auto-Info)
SET/RESP format, AI mode: AIn; where n is the auto-info mode:
0 = Auto info off
1 = VFO, RIT, and certain other control changes generate periodic "IF;" responses
2 = All control changes generate periodic responses
3 = N/A (reserved for future use)
4 = Immediate notification of changes not made by client (see NOTE1)
5 = Immediate notification of all changes (see NOTE1)
SET/RESP format, AI Delay: AIDxxx; where xxx is the delay in ms (60 to 999) to be used in AI1 and AI2 modes. Default is 500 ms.
NOTE1: Excessive traffic can potentially overflow serial port buffers in immediate AI modes (AI4 and AI5).
NOTE2: AI mode is per-client.
AL (AF Limiter)
SET/RESP format: ALnn; where nn is 01-30 (level set). Sets level of AF limiter used when AGC is off (see GT command). Typical value is 20.
AN (TX Antenna)
SET/RESP format: ANn; where n is 1 to 3 for KAT4 ANT1/2/3 (ANT2 and ANT3 are not available if the ATU isn't installed.) Sets the transmitter antenna on HF-6 meters only (see note below). This is also the receive antenna for either receiver (main or sub) when sharing the transmit antenna. Also see AR and AT commands.
TOGGLE format: AN/; alternates between the two most recently used TX antennas.
NOTE: This command does not pertain to transverter antennas. For external transverters, XVTR IN and XVTR OUT are used, while for an internal transverter, ANT4 is used.
AP$ (APF)
SET/RESP format: AP$mb; where m = 0 (off) or 1 (on); b = 0 (narrow, 30 Hz) or 1 (wide, 50 Hz). Only applies in CW mode.
AR$ (RX Antenna)
SET/RESP format: AR$n; where n is:
0 = Disconnected (all RX RF sources disconnected from target RX)
1 = EXT. XVTR IN / RX ANT IN2 (external transverter IN jack)
2 = RX USES TX ANT (the antenna currently selected for the transmitter)
3 = INT. XVTR IN (internal transverter IN)
4 = RX ANT IN1 (receive antenna)
5 = ATU RX ANT1 (see NOTE1)
6 = ATU RX ANT2 (see NOTE1)
7 = ATU RX ANT3 (see NOTE1)
This command selects the RX antenna for HF-6 only (see NOTE2).
TOGGLE format: AR$/; alternates between the two most recently used RX antennas.
NOTE1: If there is no KAT4 ATU installed, then selections 5, 6, and 7 are invalid. Substitute AR2 for these cases (RX uses TX antenna, which is always ANT1).
NOTE2: This command does not pertain to transverter antennas. For external transverters, XVTR IN and XVTR OUT are used, while for an internal transverter, ANT4 is used.
AT (ATU Mode)
SET/RESP format: ATn; where n is 0 (NOT INST--see NOTE), 1 (BYPASS), or 2 (AUTO). Pertains to the current band and antenna.
TOGGLE format: AT/; alternates between ATU in and bypassed.
NOTE: An AT0 command should not be sent under normal circumstances; the K4 will automatically ascertain whether a KAT4 ATU module is installed.
BG (Bar Graph Read; GET only)
RESP format: BGnnx; where nn is always 00 and x is 0 (RX) or 1 (TX). Provided for K3 compatibility.
BI (Band Independence for VFO B)
SET/RESP format: BIn; where n=1 allows VFO B to be set to a different band from VFO A.
BL (Balance)
This command specifies whether the SUB AF knob controls sub receiver audio gain or left/right audio balance. In the latter case, the command also specifies the portion of audio to route to the left and right channels. When the knob is used as a balance control, nominal audio gain for both receivers is controlled by the MAIN AF knob (labeled "AF"). The BL command then scales how much of the main receiver audio goes to the left channel, and how much of the sub receiver audio goes to the right channel. If the sub receiver is off, it controls how much main RX audio goes to left and right.
SET/RESP format: BLm+nn; where m is balance mode on/off (0/1) and
+nn is +/- 50 (-50 = full left gain, +50 = full right gain)
TOGGLE format: BL/; toggles balance mode on/off.
SHORT format: BL1; (on) BL0; (off) BL~; (normalize, 50/50).
NOTE: When the SUB AF knob is assigned to balance control (i.e., BL1+nn), the AG$ command (sub RX AF gain) returns the same value as AG (main RX AF gain).
BN$ (Band Number)
SET/RESP format: BN$nn; where nn is the band number:
00 = 160 m ...10 = 6 m; 16-25 = transverter bands
(11-15 reserved for future HF bands)
INCR/DECR format: BN$+; or BN$-; increments or decrements current band.
TOGGLE format: BN$/; alternates between the two most-recently used bands.
BAND STACK format: BN$^; recalls next band stack register.
NOTE: VFO B band changes require VFO B Different Band set to YES.
NOTE: The XV command can also be used for transverter band selection.
BR (Serial Port Baud Rate)
SET/RESP formats:
BRpbbbbbb; sets port p's baud rate, where p is 0-2 (see port info below)
BRbbbbbb; set all ports to the specified rate
GET formats: BRp; gets port p's baud rate. BR; gets port 0's baud rate.
Port 0 is the RS232 port. Ports 1 and 2 are the two virtual com ports associated with the USB-B jack. Baud rate (bbbbbb) can range from 004800 to 115200 baud.
BW$ (Bandwidth)
SET/RESP format: BW$nnnn; where nnnn is filter bandwidth x10 Hz.
CP (Speech Compression)
SET/RESP format: CPnnn; where nnn is 000-030. Applies only to SSB modes.
CW (CW Pitch)
SET/RESP format: CWnn; where nn is sidetone pitch x10 Hz (25-95).
DA (Digital Audio Control)
GET format: DA;
RESP format:
DA0; (idle)
DAPWnnnnn; (waiting to auto-repeat)
where nnnnn is wait time remaining in ms to auto-repeat
DARMnnnnnttttt; (recording voice message from microphone)
where nnnnn is current length in ms ( 0 to 90 sec)
where ttttt is max recording length in ms ( 90 sec)
DARSnnnnnttttt; (af recording from speakers)
where nnnnn is current position in ms ( 0 to 90 sec)
where ttttt is max position in ms (90 sec max once recording buffer full)
DAPMnnnnntttttmsc; (playing recording to microphone, transmit)
where nnnnn is current position in ms ( 0 to 90 sec)
where ttttt is max position in ms (90 sec max once recording buffer full)
where m is af playback mode (A = MAIN ONLY, B = SUB ONLY, 0 = BOTH)
where s is current recording session (recording 1, recording 2, etc.)
where c is 1 if current recording session is the last recorded session
NOTE: if playback mode is 'M' a voice message is being transmitted
NOTE: if playback mode is 'A, B or 0' af recording is being transmitted
DAPSnnnnntttttmsc; (playing af recording to speakers, listen)
where nnnnn is current position in ms ( 0 to 90 sec)
where ttttt is max position in ms (90 sec max once recording buffer full)
where m is af playback mode (A = MAIN ONLY, B = SUB ONLY, 0 = BOTH)
where s is current recording session (recording 1, recording 2, etc.)
where c is 1 if current recording session is the last recorded session
SET format:
DA0; stop any digital audio action (stop transmitting, stop recording, etc.)
DARC; clear recording buffers
NOTE: see DAME to erase saved voice messages
DARM; start recording voice message from microphone (90 second max)
DAPMnnnnn; play last recorded voice message through transmitter
where nnnnn is offset in ms
DAMEm; erase voice message
where m is 1 to 8 (BANK 1 = 1 to 4 | BANK 2 = 5 to 8)
DAMSm; save last recorded voice message
where m is 1 to 8 (BANK 1 = 1 to 4 | BANK 2 = 5 to 8)
DAMPmnnnnn; play voice message and repeat (optional)
where m is message index 1 to 8
where nnnnn is optional to specify message repeat interval in ms
NOTE: Repeat interval of 1 will use Message Repeat Interval from Menu
DAPSnnnnnm; start playback af recording to speakers
where nnnnn (optional) is offset in ms
where m (optional) is playback mode: 0, A, B (NORMAL, MAIN, SUB))
DAPJnnnnn; af recording playback jump
where nnnnn can have multiple meanings
0: jump to last af recording session
1 to 9: jump to recording session id
>: jump to next recording
<: jump to prev recording
Ex: DAPJ3; jump to 3rd recording
Ex: DAPJ<; jump to prev recording
2 chars or more: jump in specified ms
Ex: DAPJ-500; rewind 500ms
Ex: DAPJ500; fast-forward 500ms
DB$ (Audio dBV meter read)
RESP format: DB$snnnn; where s is +/- and nnnn is 0-9999, representing audio signal level for the main or sub RX ($) in 10ths of a dB. Useful for MDS measurements (see Elecraft XG3 user manual for method).
SET format: DB$0; (sets new 0 dB reference level for target receiver).
NOTE: Even though measured dB values are independent of the AF GAIN setting, AGC must be turned off to make the dBV reading accurate for signals above AGC threshold. Use GT to turn off AGC. Use AL to limit audio signal strength when AGC is off.
DE (Command Processing Delay; SET only)
SET format: DEnnn where n can be 001 to 999 (ms * 10), i.e. up to 9.99 seconds (TBD).
DM (DTMF; SET only)
SET format: DMn where n = 0-9, A-D, *, or #. Applies to FM mode only.
DN/DNB (VFO Move Down; SET only)
SET format: DN; (move VFO A down one unit, based on the current VFO step size) or DNB; (same for VFO B). Also see UP/UPB and RU/RD (RIT offset up/down).
TBD: Support for K3 variants.
DO (DIGOUT1 State)
SET/RESP format: DOn; where n = 0/1 (DIGOUT1 ON [0V] or OFF [floating]) for
the present band (and present TX antenna [ANT1/2/3] for HF-6 m).
DIGOUT1 is pin 11 of the ACC jack. It is saved per-band/per-TX-antenna on the HF-6 m,
and per-band on transverter bands.
DR$ (Data Rate)
SET/RESP format: DR$r; where <r> is the baud rate identifier:
AFSK-A, FSK-D: 0=45 baud, 1=75 baud; PSK-D: 0=31 baud, 1=63 baud.
DT$ (Data Sub-Mode)
SET/RESP format: DT$n; where n is the data sub-mode set or last used, whether or not DATA mode is in effect: 0 (DATA A), 1 (AFSK A), 2 (FSK D), or 3 (PSK D).
NOTES: (1) If DT is used when the transceiver is not in DATA mode, the returned value may not be valid. (2) See MD command for data normal/reverse information. (3) In Diversity Mode, sending DTn (main RX data mode) matches the sub receiver’s mode to the main receiver’s.
DV (Diversity Mode)
SET/RESP format: DVn; where n is 1 to turn diversity mode ON, and 0 otherwise.
NOTES: (1) Turning on diversity mode also turns on the sub receiver if it was off. (Requires K4D or K4HD model.) (2) When diversity mode is turned on, VFO A's band, mode, filter, and other settings are copied to VFO B. VFO B's frequency can still be different from VFO A, allowing it to be used as the transmit frequency in SPLIT mode. (3) An alternate toggle command DV\; exists that also toggles the subrx if turning diversity on causes the sub rx to also turn on.
DW (TX DATA Bandwidth)
SET/RESP format: DWnn; where nn is the TX DATA bandwidth in 100 Hz units, 20-40 (2.0-4.0 kHz).
EC (Echo Command to RS232 Port for KPA1500 control, etc.; SET only)
SET format: EC*ssss; where * is normally a blank for text mode
and ssss is text command to send to RS232 port.
Ex: EC BN05; (will send "BN05;" to RS232 port)
ECxssss; where x is any non-blank character, indicating hex mode,
and ssss is valid ASCII-hex binary data of any length.
Ex: ECx46413B; (will send ascii FA; to RS232 port)
EXAMPLES: Here the EC command is used to swap between ANT1 and ANT2 on a KPA1500, or swap the the amp between OPER and STBY:
EC ^AN0;
EC ^BPT18;
NOTE: To prevent any conflict with unknown data being sent by external devices, all incoming data on the RS232 port will be ignored after sending an EC set command until the radio is restarted.
ER (Configuration Error; GET only)
GET/RESP format: ERnn; where nn is a configuration error number. ER responses are generated when certain commands are rejected due to context. GET returns last error. For example, there are various invalid combinations of SB (sub RX), AR (RX antenna), and FT (split).
NOTE: The full list of error codes appears in the K4 Built-In Operating Manual, which can be accessed using any browser. This document is available on the Elecraft website.
ES (TX SSB/ESSB Mode and Bandwidth)
SET/RESP format: ESnbb; where n = 0 (SSB TX) or 1 (ESSB TX) and bb is the SSB or ESSB TX bandwidth in 100 Hz units, 30-45 (3.0-4.5 kHz).
Alternate GET/RESP Format: ESn; where n is 0 (SSB) or 1 (ESSB)
FA (VFO A Frequency)
SET format: FAn...; where n can have 1 to 11 digits. Frequency range is 100 kHz to 54 MHz. Digit count affects interpretation: 1 or 2 digits: n = MHz (e.g., "FA7;" = 7 MHz); 3 to 5 digits: n = kHz; 6+ digits: n = Hz.
RESP format: FAnnnnnnnnnnn; (frequency in Hz).
FB (VFO B Frequency)
See FA command for format.
FC$ (Center Panadapter for target VFO)
SET format: FC; or FC$; will center the panadapter on the target VFO.
FI$ (IF Center Frequency)
SET/RESP format: FIn… where n… is 1 to 11 digits. Supports same formats as FA/FB. Sets center frequency for panadapter and/or IQ data streaming.
FP$ (Filter Preset)
SET/RESP format: FP$n; where n is 1-3. Selects filter preset n for current mode.
NOTE: Make sure operating mode is selected first, since presets are saved per-mode.
SHORT format: FP~; (normalize)
FR (Receive Function)
SET/RESP format: FRn; where n is a decimal digit. Cancels SPLIT if applicable.
NOTE: This command is provided for K3 compatibility. It is equivalent to FT0.
FT (Split)
SET/RESP format: FTn; where n = 0 (SPLIT off) or 1 (SPLIT on).
TOGGLE format: FT/; alternates between SPLIT on and off.
FX (Audio Effects)
SET/RESP format: FXn; where n is 0=0ff, 1=delay (sim stereo), 2=pitch-map.
NOTES: (1) If the sub receiver is on (SB command), normal stereo audio effects do not apply. (2) The K3 doesn't support pitchmap mode. Instead, it has a "BIN" mode that is not available on the K4. BIN on the K3 does simple binaural phase inversion, like the toggle switch on some headsets.
GT$ (AGC Mode)
SET/RESP format: GT$n; where n is 0=0ff, 1=slow AGC, 2=fast AGC.
K3 SET/RESP format: GTnnn; where n is 002 for fast AGC and 004 for slow AGC.
K2 Extended SET/RSP format (K22): GTnnnx; where x is 0 (AGC off) or 1 (AGC on).
TOGGLE format: GT$/; alternates between AGC on and off.
NOTE: When AGC is OFF, the AF limiter must be set to a level that protects the operator's ears from strong signals. See AL command. AGC cannot be turned off if NR or autoNotch are in effect.
HD (HDR Module Mode) [Pending]
TBD.
ID (Radio Identification)
SET/RESP format in K41 mode: IDs; where string s is "0" (default) or the user's ID text from the status display (typically a call sign). If the string is changed via an ID command, it will appear in the radio's status/ID area after a reboot of the radio.
RESP format in K40 mode: ID017; (GET only; for K3 compatibility).
IF (Basic Radio Information; GET only)
Provided for K3 compatibility (K22/K31 meta-mode variant).
RESP format: IF[f]*****+yyyyrx*00tm0spbd1*; where the fields are defined as follows:
[f] Operating frequency, excluding any RIT/XIT offset (11 digits; see FA command format)
* represents a space (BLANK, or ASCII 0x20)
+ either "+" or "-" (sign of RIT/XIT offset)
yyyy RIT/XIT offset in Hz (range is -9999 to +9999 Hz when computer-controlled)
r 1 if RIT is on, 0 if off
x 1 if XIT is on, 0 if off
t 1 if the K4 is in transmit mode, 0 if receive
m operating mode (see MD command)
s 1 if scan is in progress, 0 otherwise
p 1 if the transceiver is in split mode, 0 otherwise
b Basic RSP format: always 0; K2 Extended RSP format (K22): 1 if present IF response is due to a band change; 0 otherwise
d Basic RSP format: always 0; K3 Extended RSP format (K31): DATA sub-mode, if applicable (0=DATA A, 1=AFSK A, 2= FSK D, 3=PSK D)
The fixed-value fields (space, 0, and 1) are provided for syntactic compatibility with existing software.
IP (IP Address)
RESP format: IPV4:aaa.bbb.ccc.ddd; where aaa-ddd are the fields of the transceiver's assigned IP address.
IS$ (IF Center Pitch)
SET/RESP format: IS$nnnn; where nnnn = pitch (x10 Hz). IS9xxx sets per-mode default.
K3 SET/RESP format: IS nnnn; where nnnn = pitch (Hz). IS 9xxx sets per-mode default.
NOTE: This command is named "IS" (IF Shift) for legacy compatibility reasons. It is actually an AF center-pitch setting command on the K4 and other Elecraft transceivers.
K2 and K3 (Meta Commands)
Provided for backward compatibility with legacy host pc software.
K22; meta-mode affects the following command responses:
FW$; IF; KY; NB$; PC;
K31; meta-mode affects the following command responses:
DS; IF; SM$;
K4 (Meta Command)
SET/RESP format: K4n; where n = 0 (basic K4 mode) or 1 (advanced K4 mode). A K4;
GET command can be used to determine whether a K4 is connected to the host application.
NOTE: K4n; SET command turns off K2; meta-mode and changes K3 meta-mode
K41; meta-mode affects the following command responses:
DS; GT$; ID; IF; IS$; NB$; PA$; PC; RA$; SM$; VT$;
KP (Keyer Paddle and Weight Setup)
SET/RESP format: KPionnn; where i = iambic keying mode (A/B), o = paddle orientation (N/R), and nnn = keying weight (090-125). Weight value should be constrained to multiples of 5, i.e. 90, 95, 100, 105, 110, 115, 120, 125, and displayed in the setter as a fixed-point ratio, e.g. 0.90 to 1.25.
KS (Keyer Speed)
SET/RESP format: KSnnn; where nnn is the keyer speed, from 8 to 100 WPM.
KY (CW/DATA Message Text)
SET format: KY*[text]; where * is normally a BLANK and [text] is 0 to 60 characters. If * is an R (for "repeat"), the last message will repeat after a delay set up in MENU:Message Repeat Interval. If * is a W (for “wait”), processing of any following host commands will be delayed until the current message has been sent. This is useful when a KY command is followed by other commands that may have side-effects, e.g., KS (keyer speed).
RESP format: KYn; where n is 0 (CW text buffer not full) or 1 (buffer full).
The following keyboard characters are mapped to CW "prosigns":
( KN
+ AR
= BT
% AS
* SK
! VE
In addition to these prosigns, these special characters can be inserted in KY command text:
< Puts the K3 into TX TEST mode, until a '>' character is received
> Returns the K3 to TX NORM mode
@ In CW mode, this character terminates any CW message
| Quickly terminates TX in FSK/PSK modes (EOT on built-in keyboard)
LB (LPA Bias Calibration)
SET format: LB1; starts bias calibration (takes 10 to 60 seconds).
GET format: LB; returns: 1 = busy, 2 = last cal attempt failed,
0 = not busy; last attempt succeeded
NOTE: This command, which is done at the factory, calibrates the bias setting for the 10 watt PA (also known as the "LPA"). In the rare case that bias calibration data are lost, this command can be used. To see if the bias is already correct: (1) put the K4 into SSB mode, (2) set mic gain to 0, (3) tap the status area (date/time/etc), then select "All Param", (4) tap XMIT; (5) note the LPA current value. Total LPA current in this case is just the bias current plus about 0.2 A. Since per-device bias is about 0.4 A, the LPA total current reading is typically 0.2 + (0.4 x 2) = 1 amp, +/- 0.1 amp. If the current is significantly below this, chances are either the bias needs to be recalibrated or there's a problem with the LPA module.
Once an LB1 command is received, the K4 will automatically emit a GET response of either 0 or 2 when bias calibration completes. It is also possible to poll during calibration, which will return LB1 as long as calibration is still in progress. THE OPERATOR SHOULD NOT ADJUST ANY RADIO CONTROLS OR TRANSMIT DURING LPA BIAS CALIBRATION.
LC (GET/SET ATU LC Data)
TBD. This is shown as implemented for K4 to Client in the MVP list; it probably isn't needed.
LI (Line Input)
SET/RESP format: LIuuullls; where:
<uuu> = line in level, USB-B 0-??? (actual range TBD)
<lll> = line in level, line in jack 0-???
<s> = line in source 0 = Sound card (USB-B), 1 = LINE IN jack
SET ONLY extensions:
LInnns; (set level and source)
LInnn; (set level for current source)
LIs; (set source)
NOTE: In voice modes, audio from the specified line in source is only enabled if the mic-input command (MI) is configured for LINE IN, FRONT+LINE, or REAR+LINE. Disabled in CW, PSK-D, and FSK-D modes.
LK$ (VFO Lock)
SET/RESP format: LK$n; where n = 0 (unlock) or 1 (lock).
LN (VFO Link)
SET/RESP format: LNn; where n = 0 (VFOs not linked) or 1 (VFOs linked; turns on link icon to the left of the VFO B numeric display). When the VFOs are linked, VFO A controls both VFOs. If VFO B is offset from VFO A, the offset amount will be preserved as VFO A is tuned.
LO (Line Out)
SET/RESP format: LOlllrrrm; where:
<lll> = left line level 0-040 (actual range TBD)
<rrr> = right line level 0-040
<m> = mode 0 = Right channel is independent
1 = Right channel uses Left channel value
NOTES: (1) Line out audio is always available at both the LINE OUT jack (analog AF out) and the sound card interface. (2) The CODEC on the AFIO allows Windows PCs to independently adjust L/R audio *in* (PC perspective). This is a K4-only feature (the CODEC on the KIO3 didn't allow independent adjustment). If the operator is using Windows to control this, they can specify R=L feature in the LINE IN UI (<m> = 1 above).
MA$ (Mode Alternates; GET only)
This command is only needed by applications that are attempting to functionally emulate the K4's mode-select button group. It returns a set of bit flags that shows what alternate modes were last selected for each primary mode for the current VFO. "Alternate Modes" refers to one of: CW normal/reverse, USB/LSB, DATA-A normal/reverse, etc. These are tracked so that the MODE button group can be labeled with the correct per-VFO/per-band mode selections.
RESP format: MAxx; where xx is an ASCII-hex value whose bits are defined as follows:
b0 0 = CW normal, 1 = CW reverse
b1 0 = LSB, 1 = USB (default is LSB for 160/80/40 m, USB for other bands)
b2 0 = DATA-A normal, 1 = DATA-A reverse
b3 0 = AFSK-A normal, 1 = AFSK-A reverse
b4 0 = FSK-D normal, 1 = FSK-D reverse
b5 0 = PSK-D normal, 1 = PSK-D reverse
b6 0 (reserved for future use)
b7 0 (reserved for future use)
MB (Message Bank) [Pending]
TBD.
MC (Memory Channel) [Pending]
TBD.
MD$ (Operating Mode)
SET/RESP format: MD$n; where 0=N/A, 1=LSB, 2=USB, 3=CW, 4=FM, 5=AM, 6=DATA, 7=CW REV, 8=N/A, 9=DATA REV. Also see DT (DATA sub-mode). Applications that recreate the K4's mode-select button group should also use the MA command.
TOGGLE format: MD$/; alternates between two most recently used modes.
INCR/DECR format: MD$+; and MD$-; cycle through the operating modes (SSB, CW, AM, FM, DATA).
MO (Menu Open)
ME (Menu Parameter)
MEDF (Menu Definition)
See Menu Access Commands.
MG (Mic Gain)
SET/RESP format: MGxxx; where <xxx> is 000-080. For mic input selection, see MI. For mic preamp configuration, use MS (Mic Setup).
MI (Mic Input Select)
SET/RESP format: MIn; where: <n> = 0 (front mic), 1 (rear mic), 2 (LINE in see LI cmd), 3 (front mic + LINE IN), or 4 (rear mic + LINE IN). For preamp, bias, and mic button configuration, use MS (Mic Setup).
NOTE: Mic selection only applies to voice modes. In audio data modes, LINE IN is always used (audio jack or USB sound card input).
ML (Transmit Monitor Level)
SET/RESP format: MLmnnn; where m is 0 (CW), 1 (AF data), or 2 (voice), and nnn is 000-100. In CW/direct-data modes this is the sidetone/alert tone level; in voice modes, speech monitor level; in AF data modes, data monitor level.
GET format: MLm; where m is 0 (CW), 1 (AF data), or 2 (voice).
K3 SET/RESP format: MLnnn; where nnn is 0-60 and applies to the current mode (see above).
MS (Mic Setup)
SET/RESP format: MSabcde; where:
<a> = front mic preamp 0 = 0 dB, 1 = 10 dB, 2 = 20 dB
<b> = front mic bias 0 = OFF, 1 = ON
<c> = front mic controls 0 = UP/DN buttons disabled, 1 = UP/DN enabled
<d> = rear mic preamp 0 = 0 dB, 1 = 14 dB
<e> = rear mic bias 0 = OFF, 1 = ON
SET ONLY extensions: MSAx; MSBx; MSCx; MSDx; MSEx; where: x is desired value.
MX (Main/Sub Audio Mix when Sub RX is on)
SET/RESP format: MXs; where string <s> can have only the values shown below. To maintain compatibility with terminology used on earlier products, <s> uses "A" and "B" as equivalents to "main" and "sub". Also see important NOTEs below.
s Left Audio Right Audio Description
A.B main sub Full stereo separation (default)
AB.AB main+sub main+sub Equivalent to mono
A.-A main main, inverted polarity Useful as a binaural effect
A.AB main main+sub Hybrid setting
AB.B main+sub sub "
AB.A main+sub main "
B.AB sub main+sub "
B.B sub sub No main RX audio
B.A sub main Full stereo separation, swapped
A.A main main No sub RX audio
This command specifies what mix of main/sub RX audio will be sent to the left/right audio channels. This is especially useful for SO2V operation, etc. The default is "MXA.B;", providing full stereo separation with left audio=main and right=sub.
NOTE1: MX only applies if the sub receiver is on, and stereo audio is being used, i.e. stereo headphones or dual external speakers. If the sub receiver is off, but stereo audio is still in effect, then the FX command (audio effects) applies.
NOTE2: The MX command is not to be confused with the BL command (balance). BL specifies the relative volume level of the left and right audio channels. The BL setting applies regardless of how main and sub receive audio is mixed left and right (via the MX command). BL also applies even with sub off, providing comfortable listening levels for operators with different hearing sensitivity in each ear. When working with the MX command, at least initially, it may be helpful to normalize the balance to 50/50 (using the BL~; command) to avoid conflating its effect with that of the audio mix.
NA$ (Auto Notch)
SET/RESP format: NA$n; where n=0 is OFF, n=1 is ON. Only applies to SSB modes.
TOGGLE format: NA$/; turns auto-notch on if it was off and vice-versa.
NB$ (Noise Blanker)
SET/RESP format: NB$nnm; where nn is NB level (0-15) and <m> is 0/1 for off/on.
ALTERNATE format: NB$m; where m is 0/1 for off/on (no effect on level setting).
TOGGLE format: NB$/; turns the noise blanker on (at its most recent setting) if it was off and vice-versa.
NOTE: If the panadapter noise blanker is set to AUTO, it will be turned on/off in conjunction with the receiver noise blanker.
NM$ (Manual Notch)
SET/RESP format: NM$nnnnm; where nnnn is notch pitch (150-5000 Hz) and m is 0/1 for off/on. NOTE: Applies only to CW and SSB modes.
ALTERNATE format: NM$m; where m is 0/1 for on/off. (no effect on pitch setting)
TOGGLE format: NM$/; turns manual notch on if it was off and vice-versa.
NR$ (Noise Reduction)
SET/RESP format: NR$nnm; where nn = NR level (0-10) and <m> is 0/1 for off/on.
TOGGLE format: NR$/; turns noise reduction on (at its most recent setting) if it was off and vice-versa.
OM (Option Module Info; GET only)
RESP format: OM APXSHML14---; where any of the option characters, when present, indicate detected option modules (see list below). The positions of the letters are fixed. If a module is not present, its letter is replaced by a dash (-). The letters (and associated positions) in the OM string refer to the following option modules:
A = ATU (KAT4)
P = PA (KPA4)
X = XVTR (additional fields will be used to ID different XVTR models)
S = SUB RX (KRX4 + 2nd KDDC4, standard in K4D model)
H = HDR MODULE (KHDR4 + KDDC4-2, standard in K4HD model)
M = K40 (or "Mini")
L = LINEAR AMP detected (generic, i.e. Elecraft KPA500 or KPA1500)
1 = KPA1500 amp detected
4 = Identifies the radio as a K4 (S & 4 = K4D; S, H, and 4 = K4HD)
OV$ (Overflow ADC/COR; RESP only)
RESP format: OV$nc; where n = ADC Overflow (0/1) and c = COR Relay status (0/1 for off/on).
NOTE: This command provides information that could be used by a host application to turn on an "ADC overflow" or "COR" indication. Internally, it is used as input to the K4's automatic front-end gain reduction algorithm. (To enable this automatic attenuation, menu entry "RX Auto Atten" must be set to ON; see Menu Commands.)
PA$ (Preamp)
SET/RESP format: PA$nm; where n is as shown below, and m is 0 (off) or 1 (on).
n = 0 (off)
n = 1 (10 dB regular preamp)
n = 2 (160-15 m: 18 dB regular preamp; 12-6 m: 20 dB LNA)
n = 3 (12-6 m only: 10 dB regular preamp + 20 dB LNA)
TOGGLE format: PA$/; turns the preamp on (at most recent setting) if it was off and vice-versa.
PB (DVR Message Playback)
SET/RESP format: PBn; where n is message number 1 to 8. PB0; will cancel any dvr action (recording or playback)
NOTE: This command is an alias of DAMPm;
PC (Power Control)
SET/RESP format: PCnnnr; where nnn is power output and r is the power range:
L = low power (QRP, 0.1-10.0 W); e.g., for 5.0 W, use PC050L;
H = high power (QRO, 1-110 W); e.g., for 50 W, use PC050H;
X = milliwatt range (for XVTRs, 0.1-10.0 mW).
ALTERNATE GET format: PCX; always returns power in the K4 format (PCnnnr)
even if the default K3 legacy format was in effect.
NOTE: If <r> is omitted, ‘L’ range is assumed for both SET and get response.
Also see PP command (per-band power control, barefoot or with ext. amp).
PK (Port Keying Setup: PTT, KEY, FSK)
SET/RSP format: PKnpf;
GET format: PKnp;
where:
n = serial port number (1=USB1, 2=USB2, 3=DE9)
p = port pin type (D=DTR, R=RTS)
f = function (X=OFF, C=CW, P=PTT, F=FSK [DTR only])
Example: PK3DF configures DE9-DTR as a source for FSK input.
NOTE1: DTR and RTS signalling is "wire-ORed." This means that PTT and KEY can be obtained from multiple DTR and/or RTS lines simultaneously. Similarly, FSK data can be obtained by multiple DTR sources simultaneously.
NOTE2: FSK can always be applied at ACC-FSK IN. Similarly, PTT can always be applied at ACC-PTT IN as well as at the front and rear-panel PTT jacks.
PL$ (PL/CTCSS Tone Mode and Number)
SET/RESP format: PL$nnm; where nn = 01 to 50 (see table), and m = 0 (off) or 1 (on).
CTCSS TONE TABLE (Hz):
#01-09: 67.0, 69.3, 71.9, 74.4, 77.0, 79.7, 82.5, 85.4, 88.5
#10-19: 91.5, 94.8, 97.4, 100.0, 103.5, 107.2, 110.9, 114.8, 118.8, 123.0
#20-29: 127.3, 131.8, 136.5, 141.3, 146.2, 151.4, 156.7, 159.8, 162.2, 165.5
#30-39: 167.9, 171.3, 173.8, 177.3, 179.9, 183.5, 186.2, 189.9, 192.8, 196.6
#40-50: 199.5, 203.5, 206.5, 210.7, 218.1, 225.7, 229.1, 233.6, 241.8, 250.3, 254.1
NOTE: Tone numbers (shown as #nn above) are not standardized by the EIA/TIA; they vary by manufacturer. The K4's PL command uses them only as a monotonic table index.
PM (Panadapter Mode) [TBR - Internal command]
SET/RESP format: PMn; where n = 1 for single padapter, 2 = dual panadapter.
PO (Power Output)
RESP format: POnnnn; where nnnn is current TX power output in tenths of a watt.
SET format: POn; where n is 1 for automatic delivery. 0 is to turn off automatic delivery.
Also see TM command, which provides real-time updates of all TX metering without polling.
PP (Per-band power; GET only)
NOTE: Only active if Per-Band Power in MENU is set to YES.
RESP format: PPbbcccmdddr;
where: bb is band #
ccc is “level barefoot”
m is “barefoot power range” (L or H)
ddd is “level amplifier”
is “amplifier power range” (L or H)
ALTERNATE GET format: PPbb; where bb is band
ALTERNATE GET format: PP1; return all per band power levels
PS (Power On/Off Control)
SET/RESP format: PSn; where 0 = off, 1 = on.
PS0; Power off
PS8; Restart (*Experimental)
PS88; Restart and perform auto-update (*Experimental)
PS9; Standby (TBD)
TBD. The SBC supports wake-on-LAN from standby mode.
RA$ (RX Attenuator)
SET/RESP format: RA$nnm; where nn is 0/3/6/9/12/15/18/21 (dB) and m = 0 (off), 1 (on).
TOGGLE format: RA$/; turns the attenuator on (at the most recent setting) if it was off and vice-versa.
RC$ (RIT/XIT Offset Clear; SET only)
SET format: RC$;. Clears RIT and XIT offset for VFO A or B.
NOTE: In diversity mode, RIT applied to VFO A affects both receivers since both are
controlled by VFO A.
RD$ (RIT/XIT Down; SET only)
SET format: RD$n; where n (1-9999) is an RIT/XIT decrement amount in either 1 Hz or 10 Hz increments. If the RATE switch selection for the target VFO is 1 Hz, then <n> is in 1 Hz units; if the RATE selection is 10 Hz or higher, then <n> is in 10 Hz units. (This behavior is provided for backwards compatibility with the K3.) Maximum allowed RIT/XIT offset is +/- 9.999 kHz.
NOTE 1: If XIT is ON, it tracks the RIT offset for the transmit VFO. See XT command.
NOTE 2: In diversity mode, RIT applied to VFO A affects both receivers since both are
controlled by VFO A.
RE (RX EQ)
SET/RESP format, normal: REnabcdefgh; where a through h are 3-character decimal fields, each specifying a range of –16 to +16 dB. +00 is "Flat." Values a - h correspond to EQ bands as follows: a = 100 Hz, b = 200 Hz, c = 400 Hz, d = 800 Hz, e = 1200 Hz, f = 1600 Hz, g = 2400 Hz, h = 3200 Hz.
SET format, flat: REF; sets all RX EQ bands to +00.
RG$ (RF Gain)
SET/RESP format: RG$-nn; where nn is 00 to 60 (-0 to -60 dB).
NOTE: This is an internal DSP scalar applied ahead of all other signal processing. It does not change gain ahead of the ADC. For that purpose use the PA (preamp) or RA (receive attenuation) commands.
RO$ (RIT/XIT Offset)
SET/RESP format: RO$snnnn; where s is +/-, and nnnn is 0-9999 Hz.
NOTE 1: RO$ always returns the offset value in Hz, regardless of the tuning rate specified for the target VFO. For backwards compatibility, RD$ and RU$ change the value in either 1 Hz or 10 Hz increments depending on the selected VFO's tuning rate.
NOTE 2: If XIT is ON, it tracks the RIT offset for the transmit VFO. See XT command.
NOTE 3: In diversity mode, RIT applied to VFO A affects both receivers since both are
controlled by VFO A.
RP (Repeater Offset and Mode)
SET/RESP format: RPmnnnnn; where:
m is the repeater mode: 'S' (simplex), '+', or '-'
nnnnn is the repeater offset in kHz (00000 to 99999 kHz, or 99.999 MHz)
RT$ (RIT On/Off)
SET/RESP format: RTn; where n is 0 (off) or 1 (on).
TOGGLE format: RT$/; turns RIT on if it was off and vice-versa.
RU$ (RIT/XIT Up; SET only)
SET format: RU$n; where n (1-9999) is the RIT/XIT increment amount in either 1 Hz or 10 Hz increments. If the RATE switch selection for the target VFO is 1 Hz, then <n> is in 1 Hz units; if the RATE selection is 10 Hz or higher, then <n> is in 10 Hz units. (This behavior is provided for backwards compatibility with the K3.) Maximum allowed RIT/XIT offset is +/- 9.999 kHz.
NOTE 1: If XIT is ON, it tracks the RIT offset for the transmit VFO. See XT command.
NOTE 2: In diversity mode, RIT applied to VFO A affects both receivers since both are
controlled by VFO A.
RV (Firmware Revisions; GET only)
GET format: RV;
RESP format: RV.mmm-vvvv; (all modules will be returned in individual responses).
NOTE: Module name and version is variable length. Split string fields on hyphen ( - ).
NOTE: DDC/DUC will include FPGA version in version string as (m:vv)
GET K3 compat format: RVm; where m is K3 legacy module
RVF; / RVM; both return FP firmware version
RVD; / RVA; both return DSP firmware version
RVR; return DAP firmware version
RX (Go to Receive Mode; SET only)
SET format: RX;
SB (Sub RX)
SET/RESP format: SBn; where n is 0 (sub RX off) or 1 (on).
TOGGLE format: SB/; turns the sub RX on if it was off and vice-versa.
As on the K3, the K4's Sub RX feature allows the user to listen on both VFO A and B frequencies at the same time. On the K3 you need a KRX3 for this purpose. But on the K4, single-antenna sub RX (dual watch) is a standard feature. Adding a KRX4 provides independent dual-receive (separate antennas and BPFs for main/sub).
SC (Screen Count; count of attached monitors)
SET/RESP format: SCn; where n is 1 (LCD only) or 2 (LCD plus external monitor).
SD (VOX or QSK Delay)
SET/RESP format: SDxyzzz; where
x is 1 to turn on full CW QSK (delay = 0), or 0 to use specified QSK delay
y is mode for delay-setting purposes (C=CW & direct data, V=voice, D=AF data)
z is delay in 10-ms increments (000-255 = 0.00 to 2.55 seconds)
TOGGLE format: SD/; turns VOX or QSK delay on if it was off and vice-versa.
NOTE: K3 and KX version of SD is GET-only, applied only to CW mode, and used 50-ms increments (vs. 10 ms for the K4). See VX for vox enable. See VG and VI for VOX gain and antivox setup.
SG$ (System Gain; GET only)
RESP format: SGsnn; where s is sign (+/-) and and nn is the relative gain/loss ahead of the ADC (main or sub).
NOTE: This command is used for calibrating S meters and panadapter REF LVL. It takes into account all preamps, attenuators, splitters, and filters.
SI (System Auto Info; SET only)
Enable or disable AI4 system information / voltage reports for various modules.
NOTE: Requires AI4; or higher mode to be active for delivery.
SET format:
SIDA1; Enable AI4 delivery of DAP info reports
SIDD1; Enable AI4 delivery of DDC info reports
SIDU1; Enable AI4 delivery of DUC info reports
SIFP1; Enable AI4 delivery of FP info reports
SIRF1; Enable AI4 delivery of RFB info reports
SM$ (S-Meter; GET only)
RESP format: SM$nn; where nn is meter bars 00-42 (matches K4 bar graph).
SET format: SMn; where n is 1 (Automatically delivered when s-meter value changes.)
NOTE: GET format is meta mode dependent and required for K4 style response.
NOTE: SET format is not meta-mode dependent. Requires AI4 for delivery.
If K4 meta mode is not enabled (K41;), the response is a K3 backward compatible format.
RESP format: SM$nnnn; (0000-0015 range in K30;) (0000-0021 range in K31;)
SMH$ (High-Resolution S-meter; GET only)
RESP format: SMH$+nnn; where +nnn is the signal level in dBm.
SET format: SMHn; where n is 1 (Automatically delivered when s-meter value changes.)
NOTE: GET format is meta mode dependent and required for K4 style response.
NOTE: SET format is not meta-mode dependent. Requires AI4 for delivery.
SN (Serial Number; GET only)
RESP format: SNnnnnn;
SP (Spot & Autospot; SET only)
SET/RESP format: SPn; where n is:
0 (spot tone off), 1 (spot on without mute), 2 (spot on with mute),
3 (autospot).
SS (Screenshot Capture)
SET format: SSd; where d is 0 (LCD) or 1 (HDMI)
NOTE: USB memory stick is required to save screenshot captures.
SQ$ (Squelch)
SET/RESP format: SQ$nnn; where nnn is 000-040. Typical setting is 22.
SW (K4 Front Panel Switch emulation; SET only)
SET format: SWnnn; where n is switch, knob, or button ID. n can have 1, 2 or 3 digits. See full list of switch emulation codes below. Also see SWT/SWH commands (K3/K3S switch emulation).
A->B SW72;
A/B SW41;
ADJ SW143;
AF PLAY SW139;
AF REC SW138;
ALT SW148;
ANT SW60;
APF SW144;
ATTN SW141;
ATU SW158;
ATU TUNE SW40;
AUTO SW146;
B SET SW44;
B->A SW147;
BAL SW130;
BANK SW137;
CLR SW64;
DIV SW152;
FIL SW33;
FILTER SW81; (Knob tap)
FREQ ENT SW53;
KEYPAD . SW42; (Decimal point)
KEYPAD 0 SW33;
KEYPAD 1 SW17;
KEYPAD 2 SW51;
KEYPAD 3 SW18;
KEYPAD 4 SW52;
KEYPAD 5 SW19;
KEYPAD 6 SW61;
KEYPAD 7 SW32;
KEYPAD 8 SW62;
KEYPAD 9 SW31;
KEYPAD BS SW72; (Backspace)
KEYPAD <- SW43; (Enter)
KHZ SW150;
LEVEL SW142;
LOCK A SW63;
LOCK B SW151;
M1 SW17;
M1 hold SW162;
M2 SW51;
M2 hold SW163;
M3 SW18;
M3 hold SW164;
M4 SW52;
M4 hold SW165;
MANUAL SW140;
MODE SW43;
MON SW128;
NB SW32;
NORM SW129;
NR SW62;
NTCH SW31;
PF1 SW153;
PF2 SW154;
PF3 SW155;
PF4 SW156;
PRE SW61;
QSK SW134;
RATE SW73;
RCL SW34;
REC SW19;
REM ANT SW135;
REV Dn SW160; (Switch press)
REV Up SW161; (Switch release)
RF/SQL SW82; (Knob tap)
RIT SW54;
RX ANT SW70;
SCAN SW149;
SPLIT SW145;
SPOT SW42;
STORE SW20;
SUB SW83;
SUB ANT SW157;
TEST SW132;
TUNE SW16;
TUNE LP SW131;
VOX SW50;
XIT SW74;
XMIT SW30;
XMTR SW80; (Knob tap)
SWT/SWH (K3 Switch Tap/Hold Emulation; SET only)
Some K4 switch functions will be mapped to K3/K3S equivalent SWT/SWH switch codes for backward compatibility. (List TBD.)
TA (TX Gain constant; advanced; GET only)
RESP format: TGbbxxxxyyyyzzzz;
where bb is band
where xxxx is qrp tx gain constant
where yyyy is qro tx gain constant
where zzzz is mw tx gain constant (*Always 0; TBD)
ALTERNATE GET format: TAbb; return specific band values
ALTERNATE GET format: TA1; return all band values
TB$ (Buffered Text)
GET format: TB$;
RESP format: TB$trrs; where <t> is the number of queued transmit characters still to be sent (from KY packets; up to 9, and 9 if higher than 9); <rr> is the count of available receive characters for VFO A or VFO B; and <s> is the text string itself, which can include semicolons, etc.
TD$ (Text Decode/Encode Mode)
SET/RESP format: TD$mtl; where <m> is the text-decode mode; <t> is the text-decode threshold (where applicable); and <l> is the number of received text lines to display. Per-operating-mode details below.
CW text decode mode: 0=off, 1=TX only (N/A at present), 2=RX 8 to 45 WPM, 3=RX 8 to 60 WPM, 4=RX 8 to 90 WPM. CW threshold settings: 0=AUTO, 1-9=fixed levels.
DATA text decode modes: 0=off, 1=on. Threshold setting: N/A.
SSB encode mode (2-tone): 0=2-TONE off, 1=on. Threshold setting: N/A.
TE (TX EQ)
SET/RESP format: TEabcdefgh; where a through h are 3-character decimal fields, each specifying a range of –16 to +16 dB. +00 is "Flat." Values a - h correspond to EQ bands as follows: a = 100 Hz, b = 200 Hz, c = 400 Hz, d = 800 Hz, e = 1200 Hz, f = 1600 Hz, g = 2400 Hz, h = 3200 Hz.
TG (TX Gain constant; GET only)
RESP format: TGnnnn; where nnnn is TX gain value for current power range and band.
NOTE: See TA; command for more advanced TX Gain value responses.
TM (TX Meter Data)
Automatically delivered to clients when TX metering data changes.
AUTORESP format: TMaaabbbcccddd; where aaa is ALC (bars), bbb is CMP (dB), ccc is FWD power (watts in QRO mode, tenths of a watt in QRP mode), and ddd is SWR (1/10th units).
SET format: TMx; where x is 1 for on and 0 for off.
TQ (TX query; GET only)
GET format: TQ; or TQX; (see NOTE below).
RESP format: TQn; where n = 1 if the K4 is logically in transmit mode.
NOTE: If the GET query is "TQ;", then the K4 is considered to still be in transmit mode during the S-meter holdoff time (300 ms), even though receive audio can be heard. If the GET query is "TQX;", then the S-meter holdoff time is not considered to be part of the transmit state. This allows an application to find out more quickly when actual RF transmit has ended, which may result in a more responsive user interface (when playing DVR messages, for example).
TS (TX Test Mode)
SET/RESP format: TSn; where n is 0 (test mode off) or 1 (test mode on). If TX test mode is in effect, the "TX" icon flashes and the transceiver will not put out power, though it still keys any downstream gear. Can be used to pre-set mic gain and compression off-air since the ALC meter functions on audio alone.
TOGGLE format: TS/; turns TX test mode on if it was off and vice-versa.
TU (TUNE)
SET/RESP format: TUn; where 0=exit, 1=tune, 2=tune LP, 3=ATU tune, 4=ATU extended search tune. This emulates the TUNE, TUNE LP, and ATU switch functions. TU3 is the equivalent of tapping ATU once; TU4 emulates a 2nd tap within 5 seconds. TU0 is returned automatically the K4 drops transmit for any reason.
TX (Go to Transmit; SET only)
SET format: TX;. Places radio in transmit mode. Exit by sending RX.
UP/UPB (VFO Move Up; SET only)
SET format: UP; (move VFO A up one unit based on current VFO B step size) or UPB; (same for VFO B). Also see DN/DNB and RU/RD (RIT offset up/down).
TBD: Support for K3 variants.
VG (VOX Gain)
SET/RESP format: VGmnnn; where: m = mode (V/voice, D/AF Data); nnn = 000-060.
Sets VOX gain for specified mode. Also see VX, VI, and SD.
VI (VOX Inhibit or anti-vox)
SET/RESP format: VInnn; where nnn = 000-060. Sets VOX inhibit (anti-vox) level for voice modes. Also see VX, VG, and SD.
VO$ (VFO Offset)
SET/RESP format: VOsnnnnn; where <s> (sign) is + or - and nnnnn can be 00000-99999. The offset value can have from 1 to 5 digits. Offsets the target VFO by a fixed +/- amount in Hz regardless of the current VFO step size.
VT$ (VFO Tuning Step)
SET/RESP format: VT$nm; where n is 0 - 5 (0 - 1Hz, 1 - 10Hz, 2 - 100Hz, etc.);
m is mode (*see MD command)
VX (VOX On/Off)
SET/RESP format: VXmn; where m = mode (C = CW/direct data, V = voice, D = AF data), and n = 0 (OFF) or 1 (ON). Turns VOX on/off for the specified mode. In CW, PSK-D, and FSK-D modes, VOX ON means “hit-the-key” CW is enabled (live paddle). Also see VG, VI, and SD.
TOGGLE format: VX/; turns VOX mode on if it was off and vice-versa.
WM (Wattmeter Calibration)
SET/RESP format: WMpnnn; where: p is the power class (L = low range, H = high range, X = mW/transverter range) and nnn is the calibration value (default in all three cases is 500).
XF$ (XFIL Number) [Pending]
TBD. Implementation pending release of K4HD model.
XV$ (Transverter Band Select)
SET/RESP formats: XV$nn; where nn is 01-12, corresponding to band buttons XVTR1-12.
This command is used to switch the K4 to the designated transverter bands. (The BN command can also be used to select transverter bands. BN11 corresponds to XVTR1, etc.) Transverter bands can be configured using the XVTR menu entries or the XVN/XVM/XVR/XVI/XVO/XVP commands (see below).
XVN, XVM, XVR, XVI, XVO, XVP (Transverter Band Setup)
SET/RESP formats:
XVNn; where n is the XV band to setup (1-12)
XVMn; where n is the XV mode (0=off, 1=external)
XVRnnnnn; where nnnnn is the XV band lower edge in MHz (0-99999)
XVInn; where nn is the IF band in MHz (0-53)
XVO+nnnnn; where + is +/-, and nnnnn is the offset in Hz (0-99999)
(corrects for oscillator/multiplier chain error)
XVPnnn; where nnn is the power output in 0.1 mW units (0.1 to 5.0)
Example: XVP010; = 1.0 mW
These commands are used to set up the transverter band displays (XVTR1-XVTR12). Use XVN to specify the target band for the other setup commands. (MENU:XVTR… commands can also be used.) Once a transverter band has been configured, use XV$n (1-12) or BN$ (11-22) to set the radio to that band.
XT (XIT)
SET/RESP format: XT$n; where n = 1 to turn XIT on. Uses same offset value as RIT of the TX VFO, whether RIT for that VFO is turned on or not.
TOGGLE format: XT$/; turns XIT on if it was off and vice-versa.
Menu access commands can be used by applications to recreate the K4's menu structure, including menu entry names and parameters (data types, ranges, current values, and default values).
MEDF (Menu Definition)
GET format: MEDFiiii; where iiii is the menu ID #. Returns menu entry name string and parameter format specifications. (Details TBD.)
ME (Menu Parameter)
This commands allows external applications to read or change menu settings.
SET/RESP format: MEiiii.nnnn; where iiii is the menu ID # and nnnn is the parameter value. All menu entries are listed below in menu/alphanumeric order.
Menu Entry ID
AF Limiter (AGC off) 0039
AGC Attack 0011
AGC Decay, Fast 0009
AGC Decay, Slow 0008
AGC Hold Time 0007
AGC Noise Pulse Reject 0013
AGC Slope 0012
AGC Threshold 0010
AutoRef Averaging 0048
AutoRef Debounce 0049
AutoRef Offset 0050
CW TX in SSB Mode 0104
DIGOUT1 (ACC jack, pin 11) 0100
Ext. Monitor Function 0070
Fan Speed Min 0003
FM Deviation, Tone 0089
FM Deviation, Voice 0088
FSK Dual-Tone RX Filter 0064
FSK Mark-Tone 0085
FSK Polarity 0084
IP Address 0043
KAT4 ATU Option 0004
KPA4 PA Option 0006
KRX4 2ND RX Option 0005
LCD Brightness 0036
LED Brightness 0037
Message Repeat Interval 0087
Mouse L/R Button QSY 0074
Per-Band Power 0046
Preamp 3 (12/10/6 m) 0093
Radio Serial Number 0033
Radio Type 0034
Reference Freq 0040
RIT CLR 2nd Tap Restore 0042
RIT Knob Alt. Function 0044
RX 1.5 MHz High-Pass Fil. 0091
RX All-Mode Squelch 0106
RX Audio Mix with Sub On 0105
RX Auto Attenuation 0073
RX CW IIR Filters (50-200 Hz) 0102
RX Dyn. Range Optimization 0097
Screen Cap File 0080
Serial RS232: Auto Info 0065
Serial RS232: Baud Rate 0057
Serial RS232: DTR 0054
Serial RS232: RTS 0055
Serial USB-PC1: Auto Info 0066
Serial USB-PC1: Baud Rate 0060
Serial USB-PC1: DTR 0058
Serial USB-PC1: RTS 0059
Serial USB-PC2: Auto Info 0067
Serial USB-PC2: Baud Rate 0063
Serial USB-PC2: DTR 0061
Serial USB-PC2: RTS 0062
Speaker, Internal 0001
Speakers + Phones 0072
Speakers, External 0083
Spectrum Amplitude Units 0092
Spectrum Freq. Marks 0090
Spectrum Trace Fill 0030
TUNE LP (Low power TUNE) 0069
TX 2-Tone Generator 0014
TX ALC 0002
TX DLY, Key Out to RF Out 0052
TX Gain Cal 0028
TX Gain Cal via TUNE 0015
TX Inhibit Mode 0053
TX Monitor Level, Line Out 0101
TX Noise Gate Threshold 0103
VFO B Different Band 0041
VFO Coarse Tuning 0045
VFO Counts per Turn 0038
Wattmeter Cal 0027
XVTR Band # Select 0086
XVTR Band <n> I.F. 0078
XVTR Band <n> Mode 0076
XVTR Band <n> Offset 0079
XVTR Band <n> Power Out 0098
XVTR Band <n> R.F. 0077
XVTR OUT Test 0075
MO (Menu Open)
This command can be used to open the menu on the K4 LCD and set it to the specified menu entry.
SET format: MOiiii; where iiii is the menu ID # to display on screen.
TOGGLE format: MO/; toggle menu display
NOTE: MO0255; will close the menu if displayed.
#AR (Auto-Ref Settings)
SET/RESP format (normal): #ARaadd+oom; where:
aa = averaging constant (1 to 20)
dd = debounce constant (4 to 9)
+oo = user desired offset (+/- 8)
m = mode (1 for on, 0 for off)
SET format (special): #ARn; where n is:
0 = Reset auto-ref settings (avg, trg, ofs) to defaults, preserve mode
1 = Manually apply current auto-ref level (one-shot, preserve mode)
9 = Reset auto-ref settings (avg, trg, ofs) to defaults; force ON
A = set autoref on (AUTO)
M = set autoref off (MAN)
/ = Toggle AUTO/MAN (on/off)
Examples: #AR1506+001; (aa = 15, dd = 6, ooo=0, m=1)
#AR0906+081; (aa = 9, dd = 6, ooo=8, m=1)
#AVG (Averaging)
SET/RESP format: #AVGnn; where n is 01 to 20.
#CAL$ (Panadapter Reference Level Calibration)
SET format: #CAL$-nn; where nn is the signal level being injected, typically -73 dBm.
NOTE: Before using #CAL for the main RX, configure as follows:
PREAMP OFF
ATTENUATOR OFF
SUB RX OFF
SPAN > 20 kHz (suggest ~40 kHz)
When calibrating the sub receiver, make sure main RX is on a different antenna.
Calibration example (after verifying above configuration):
#CAL-73; (or injection level used; pause at least 1.5 seconds for convergence)
To stop calibration: #CAL0;
Calibration must be done per-band. #CALoffset will be sent to clients.
The offset is automatically applied and only reported for informational purposes.
#CUR$n; (VFO Cursor Display Mode)
NOTE: This is alias of #VFA and #VFB. See those commands for details.
#DSM (Display Mode, LCD)
#HDSM (Display Mode, External Monitor)
Allows toggling spectrum and waterfall.
SET/RESP format: #DSMn; where n is
0 (spectrum only)
1 (spectrum + waterfall)
2 (spectrum + power) TBD
3 (spectrum + waterfall + power) TBD
TOGGLE format: #DSM/; (toggle between 0 and 1)
#DPM (Dual Panadapter Mode, LCD)
#HDPM (Dual Panadapter Mode, External Monitor)
SET/RESP format: #DPMn; where n is:
0 = Single Panadapter, VFO A/main RX
1 = Single Panadapter, VFO B/sub RX
2 = Dual Panadapter
#FPS (Desired Panadapter Frames Per Second)
SET/RESP format: #FPSnn; where n is 1 to 60
NOTE: *Desired FPS doesn’t always result in actual FPS.
#FRZ (Freeze Panadapter and Waterfall)
SET/RESP format: #FRZn; where n is 0 (run) or 1 (freeze).
Applies to both LCD and external monitor.
#FXA (DDC Fixed Tune Mode)
SET/RESP format: #FXAn; where n is:
0=FULL SPAN (P3)
1=HALF SPAN (P3)
2=SLIDE EDGE (P3)
3=STATIC (P3)
4=SLIDE NEAR EDGE (P4*)
NOTE: Applies to both LCD and external monitor.
#FXT (DDC Fixed Tune toggle)
SET/RESP format: #FXTn; where n is 0 (track) or 1 (fixed).
Applies to both LCD and external monitor.
#MP$ (Mini-Pan Toggle)
SET/RESP format: #MP$n; where n is 0 (off) to 1 (display)
TOGGLE format: #MP$/;
NOTE: A get response value of -1 means the mini-pan can not be turned on based on current radio settings.
#NBL$ (DDC Noise Blanker Level)
SET/RESP format: #NBL$n; where n is 0 to 14.
Applies to both LCD and external monitor.
#NB$ (DDC Noise Blanker toggle)
SET/RESP format: #NB$n; where n is 0 (off), 1 (on), 2 (auto)
Applies to both LCD and external monitor.
NOTE: 2 (auto) makes PAN NB on/off follow RADIO NB on/off; levels are still independent
#PKM (Panadapter Peak Mode)
SET/RESP format: #PKMn; where n is 0 (off) or 1 (on).
TOGGLE format: #PKM/;
#REF$ (Panadapter Reference Level, LCD)
#HREF$ (Panadapter Reference Level, External Monitor)
SET/RESP format: #REF$n; where n is -200 to 60.
#SCL (Panadapter Scale)
SET/RESP format: #SCLn; where n is 10 to 150.
#SFL (Spectrum Fill)
SET/RESP format: #SFLn; where n is 0 (none) or 1 (fill)
#SPM (Span Adjust Mode)
RESP format: #SPM0; (Always in continuous mode)
#SPN$ (Desired Span)
*P3 incompatibility; TBD.
SET/RESP format: #SPN$n; where n is 6000 to 368000.
Applies to both LCD and external monitor.
Examples: #SPN46125; (sets span to 46.125 kHz)
#SPN46; (sets span to 46.000 kHz)
#WBS (Waterfall Color Range, LCD)
#HWBS (Waterfall Color Range, External Monitor)
SET/RESP format: #WBSn; where n is 5 to 30.
#WFC$ (LCD Waterfall Color Mode)
#HWFC (Waterfall Color Mode, External Monitor)
SET/RESP format: #WFC$n; where n is:
0 (gray)
1 (color),
2 (teal tone),
3 (blue tone),
4 (sepia tone)
#WFH (Waterfall Height, LCD)
#HWFH (Waterfall Height, External Monitor)
SET/RESP format: #WFHnnn; where nnn is 000 to 100 percent.
TOGGLE format: #WHF/; (toggle between 0 and last value).
#VFA (VFO A Cursor Display Mode)
SET/RESP format: #VFAn; where n is:
0 = OFF: VFO cursor is not displayed
1 = ON: VFO cursor is displayed always
2 = AUTO: VFO cursor is automatically hidden in waterfall
3 = HIDE: Do not show VFO cursor in waterfall
TOGGLE format: #VFA/;
#VFB (VFO B Cursor Display mode)
SET/RESP format: #VFBn; where n is 0-3 (see #VFA, above).
TOGGLE format: #VFB/;
Panadapter Frequency Control (for P3 compatibility):
#CTF$ (*See FI$ command and FC$ command as alternative)
Panadapter Markers:
#MFA (Marker Frequency)
#MFB (Marker Frequency)
#MKA (Marker Display Mode)
#MKB (Marker Display Mode)
#QSY (QSY to marker, support one-level undo)
The following P3 commands are not presently supported:
#BMP, #BR, #ER, #EW, #FNL, #FNX, #FON, #LBL, #LD, #PS, #PT, #RCF, #RST
#RVF, #RVM, #RVS, #SVDT, #SVEN, #SVFN, #SVRS
#TP, #XCV
Static default responses for the above will be added as required to retain backward compatibility.
Rev. A1, Sept 5, 2020: Initial release with Radio Commands only.
Rev. A2, Sept 17, 2020: Added Menu Access Commands and Display Commands.
Rev. A3, Nov. 12, 2020: Command definitions updated for consistency. Added preliminary Streaming Data section.
Rev. A4, Nov. 13, 2020: Fixed broken links. Removed deprecated AR8/AR$8 option (RX ANT, main=sub). Completed switch ID table (SW command).
Rev. B1, Dec. 21, 2020: Minor text corrections.
Rev. B2, Jan. 13, 2021: Added VT command definition. Added MS and LI set-only extensions. Documented calibration steps needed for #CAL.
Rev. B2, Jan 31, 2021: Updated SM command definition. Updated SMH command definition. Added SS command definition. Updated AP command definition. Updated #DPM command definition. Added MO command definition.
Rev. B3, Feb. 25, 2021: Added note that manual notch applies only to CW and SSB modes. Added transverter band info to BN command. Added XV command (alternative means of selecting transverter bands).
Rev. B4, Mar. 2, 2021: Updated OM command. Now returns a '4' to ID a K4/D/HD. Added 'M' for
K4-Mini (K4/0). Removed 'R' (KREF4 is not an option).
Rev. B5, Mar. 9, 2021: Changed field <c> definition of MS command: PTT button disable is no longer available.
Rev. B6, Mar. 12, 2021: Power control range in mW mode (PCnnnX) is now 0.1-10.0 mW. Noted that the AN and AR commands apply only to HF-6 meter antenna selections. (On transverter bands, the selections are fixed; see commands for details.)
Rev. B7, Mar. 22, 2021: Added PL command, including tone number to Hz conversion table. Added RP command (repeater offset and mode).
Rev. B8, Apr. 12, 2021: Added DM command (DTMF).
Rev. B9, June 5, 2021: Corrected FT. Added XV commands.
Rev. B10, June 26, 2021: In PK command description, noted that multiple DTR sources can be used simultaneously.
Rev. B11, July 10, 2021: Completed description of TD command for CW mode.
Rev. B12, July 14, 2021: Updated SW command values. Added list of menu entries (see ME command).
Rev. B13, July 21, 2021: Corrected ES command description; applies to both SSB and ESSB.
Rev. B14, September 15, 2021: Corrected typo in XT command description (XT1 is ON). Added DO command (DIGOUT1 state). Added full list of current SW commands (via N6TV). Completed documentation of RIT control commands (RC$, RD$, and RU$). Removed Pending status from the following command descriptions: BG (Bar Graph Read), DR (Data Rate), LI (Line Input), LO (Line Out), LK (VFO Lock), LN (VFO Link), MS (Mic Setup), PO (Power Output), and TB (Buffered Text).
Rev. B15, October 2, 2021: Added BL command description (balance control).
Rev. B16, November 5, 2021: Added alternative NB command format (NBm;) and note about panadapter AUTO noise blanker mode. Clarified behavior of ID command. Added VO$ command.
Rev. C1, March 1, 2022: Added toggle format to AG command (use AG0; and AG/; to emulate mute/unmute). Added toggle and short formats to BL command (balance). Added band-stack recall format to BN command. Added DA command (digital audio record/play, including DVR functions). Added DW command (data TX bandwidth; applies to DATA and AFSK modes). Added #PKM/ command (toggle panadapter peak mode).
Rev. C2, March 22, 2022: Added PB command (DVR playback). Added VT$ command (VFO Tune Step). Added #CUR$ command (VFO Cursor Display Mode). Added #VFA/#VFB toggle commands.
Rev. C3, May 16, 2022: The following commands have been added or modified:
DARC; command added (clear DAP recording buffers)
DR$; command added (data rate, e.g. RTTY 45/75 and PSK31/63)
PP command GET handler added (per-band power)
OV$; getter added (ADC/COR overflow)
#SPM; getter added (span adjust mode; always returns 0)
ES0; and ES1; getters added to get SSB and ESSB bandwidth
without requiring a mode change
New toggle commands:
#DSM/; #WFH/; #MP/; #VFA/; #VFB/; #CUR$/;
#PKM/;
Rev. C5, September 15, 2022: Added MX command (audio mix). Clarified TD command settings by operating mode. Added new #AR settings (auto-REF controls). Added EC command (echo commands and ASCII-hex-encoded text strings to RS232 port).
Rev. C6, September 28, 2022: Updated #FPS and #MP commands descriptions.
Rev. C7, October 5, 2022: Added LB command (LPA bias calibration).
Rev. C8, October 6, 2022: Further clarification of LB command. Completed EC command description, including examples (external peripheral control, e.g. KPA1500).
Rev. C9, October 10, 2022: Added missing menu access command (VFO Coarse Tuning).
Rev. C10, November 3, 2022: Added TQX variation of TQ command.
Back to Table of Contents