SCOUT PRO Protocol
SCOUT PRO exposes standard NMEA 0183 output, RTCM v3.x correction input, and PAIR proprietary commands for receiver configuration. Use this reference to review the PAIR packet structure, query receiver status, adjust GNSS behavior, and configure serial output.
Protocol scope
1. PAIR command packet structure
All Kalmix GUIDE K35-series proprietary commands and responses follow the same string format. The maximum length of a command packet is 255 bytes.
$PAIR<Command_ID>[,<Data_Field_1>,...,<Data_Field_N>]*<Checksum><CR><LF>
-
$PAIR: Proprietary command header. -
<Command_ID>: Three-digit numeric command identifier, such as050. -
<Data_Field>: Command-specific parameters separated by commas. -
*<Checksum>: 8-bit XOR checksum of all characters between$and*. -
<CR><LF>: Packet terminator in hexadecimal format:0D 0A.
Configuration changes are not automatically stored across power cycles.
Send $PAIR513 after changing persistent settings, then reboot
the receiver or cycle the power supply.
2. PAIR command quick reference
| Command | Type | Category | Function description |
|---|---|---|---|
| System status & control | |||
PAIR001 |
Output | Command acknowledgement | Return the PAIR command execution result. |
PAIR020 |
Query | Get version | Query firmware release information. |
PAIR024 |
Query | Get chip version | Query the GNSS chipset version. |
PAIR004 |
Set | Hot start | Restart using available navigation data stored in NVRAM. |
PAIR005 |
Set | Warm start | Restart without using stored ephemeris data. |
PAIR006 |
Set | Cold start | Restart without using stored navigation data. |
PAIR023 |
Set | System reboot | Reboot the GNSS chipset immediately. |
PAIR513 |
Set | Save settings | Store the current configuration in NVRAM. |
PAIR514 |
Set | Restore settings | Clear NVRAM and restore factory defaults. |
| GNSS configuration | |||
PAIR066 |
Set | Set search mode | Enable or disable satellite constellations. |
PAIR067 |
Query | Get search mode | Query the current constellation settings. |
PAIR050 |
Set | Set fix interval | Set the navigation update interval, such as 1 Hz or 10 Hz. |
PAIR051 |
Query | Get fix interval | Query the current navigation update interval. |
PAIR031 |
Query | Get 3D velocity | Query the WGS84 ECEF XYZ Cartesian velocity vector. |
| Interface & formatting | |||
PAIR864 |
Set | Set baud rate | Configure the UART baud rate. |
PAIR865 |
Query | Get baud rate | Query the current UART baud rate. |
PAIR062 |
Set | Set NMEA rate | Configure the output interval for a selected NMEA sentence. |
PAIR063 |
Query | Get NMEA rate | Query the output interval for a selected NMEA sentence. |
PAIR098 |
Set | Set precision | Configure fractional precision for NMEA position values. |
PAIR099 |
Query | Get precision | Query the current NMEA decimal precision mode. |
PAIR100 |
Set | Set NMEA output mode | Configure the NMEA protocol output mode. |
PAIR101 |
Query | Get NMEA output mode | Query the current NMEA protocol output mode. |
3. Detailed PAIR command dictionary
$PAIR001 - Command acknowledgement
Return format
$PAIR001,<Command_ID>,<Result>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
Command_ID |
The three-digit command ID being acknowledged. |
Result |
0: Command successfully sent. 1: Command is processing; wait for the result. 2: Command sending failed. 3: Command ID is not supported. 4: Command parameter error, including out-of-range, missing, or checksum errors. 5: MNL service is busy; retry shortly. |
Example
// Host send: cold start
$PAIR006*3C
// Receiver response: success acknowledgement
$PAIR001,006,0*3D
$PAIR020 - Get version
Format
$PAIR020*CS<CR><LF>
Return format
The receiver returns a standard acknowledgement packet followed by the detailed version information.
$PAIR020,<Project_Version>,<Frequency>,<SW_package>,<Service_version>,<Service_build_time>,
<DSP_L1_rom_version>,<DSP_L1_ram_version>,<DSP_L5_rom_version>,<DSP_L5_ram_version>,
<Kernel_version>,<Kernel_build_time>,<KF_version>,<KF_build_time>,<RTK_version>,
<RTK_build_time>,<Fusion_version>,<Fusion_build_time>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
Project_Version |
Format:
<Project_board>_<SDK_version>_<SDK_Build_time>Example: AG3335A_V1.0.0_20190729
|
Frequency |
S: Single frequency D: Dual frequency |
SW_package |
N: Normal W: RAW R: RTK I: NavIC F: Fusion |
Service_version |
MNL service version, seven characters. |
Subsystem versions |
DSP L1 and L5, Kernel, KF, RTK, and Fusion version values. Each
version is followed by its build time in
yyMMDDhhmm format.
|
Example
// Host send
$PAIR020*38
// Receiver response
$PAIR001,020,0*39
$PAIR020,AG3335A_V1.0.0_YYYYMMDD,D,N,xxxxxxx,yyMMDDhhmm,xx.xxx,xx.xxx,xxxxxxx,yyMMDDhhmm,xxxxxxx,yyMMDDhhmm,xxxxxxx,yyMMDDhhmm,xxxxxxx,yyMMDDhhmm*40
$PAIR024 - Get chip version
Format
$PAIR024*3C<CR><LF>
Return format
$PAIR024,<CHIP>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
CHIP |
Chipset version, such as A, M, or S. |
Example
// Host send
$PAIR024*3C
// Receiver response
$PAIR001,024,0*3D
$PAIR024,M*5D
$PAIR004 - Hot start
Format
$PAIR004*3E<CR><LF>
Return format
$PAIR001,004,<Result>*<Checksum><CR><LF>
Example
// Host send
$PAIR004*3E
// Receiver response
$PAIR001,004,0*3F
$PAIR005 - Warm start
Format
$PAIR005*3F<CR><LF>
Return format
$PAIR001,005,<Result>*<Checksum><CR><LF>
Example
// Host send
$PAIR005*3F
// Receiver response
$PAIR001,005,0*3E
$PAIR006 - Cold start
Format
$PAIR006*3C<CR><LF>
Return format
$PAIR001,006,<Result>*<Checksum><CR><LF>
Example
// Host send
$PAIR006*3C
// Receiver response
$PAIR001,006,0*3D
$PAIR023 - System reboot
Format
$PAIR023*3B<CR><LF>
Return format
None. The receiver reboots immediately without sending a response.
Example
// Host send
$PAIR023*3B
$PAIR513 - Save settings to NVRAM
Format
$PAIR513*3D<CR><LF>
Return format
$PAIR001,513,<Result>*<Checksum><CR><LF>
Example
// Host send
$PAIR513*3D
// Receiver response
$PAIR001,513,0*3C
$PAIR514 - Restore factory defaults
Format
$PAIR514*3A<CR><LF>
Return format
$PAIR001,514,<Result>*<Checksum><CR><LF>
Example
// Host send
$PAIR514*3A
// Receiver response
$PAIR001,514,0*3B
$PAIR066 - Set GNSS search mode
Format
$PAIR066,<GPS>,<GLO>,<GAL>,<BDS>,<QZSS>,<NavIC>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
Constellation flags |
0: Disable 1: Enable |
Return format
$PAIR001,066,<Result>*<Checksum><CR><LF>
Example
// Host send: enable GPS, GLONASS, Galileo, BeiDou, and QZSS; disable NavIC
$PAIR066,1,1,1,1,1,0*3B
// Receiver response
$PAIR001,066,0*3B
$PAIR067 - Get GNSS search mode
Format
$PAIR067*3B<CR><LF>
Return format
$PAIR067,<GPS>,<GLO>,<GAL>,<BDS>,<QZSS>,<NavIC>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
Constellation flags |
0: Disabled 1: Enabled |
Example
// Host send
$PAIR067*3B
// Receiver response
$PAIR001,067,0*3A
$PAIR067,1,0,0,0,0,0*3A
$PAIR050 - Set position fix interval
Format
$PAIR050,<Interval_ms>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
Interval_ms |
Position fix interval in milliseconds. Valid range:
100 to 1000.1000: 1 Hz, default 200: 5 Hz 100: 10 Hz |
Return format
$PAIR001,050,<Result>*<Checksum><CR><LF>
Example
// Host send: set 10 Hz
$PAIR050,100*22
// Receiver response
$PAIR001,050,0*3E
$PAIR051 - Get position fix interval
Format
$PAIR051*3E<CR><LF>
Return format
$PAIR051,<Interval_ms>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
Interval_ms |
Position fix interval in milliseconds. |
Example
// Host send
$PAIR051*3E
// Receiver response
$PAIR001,051,0*3F
$PAIR051,1000*13
$PAIR031 - Get 3D velocity
Format
$PAIR031*38<CR><LF>
Return format
$PAIR031,<VX>,<VY>,<VZ>,<Acc>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
VX |
WGS84 ECEF X Cartesian velocity vector in m/s. |
VY |
WGS84 ECEF Y Cartesian velocity vector in m/s. |
VZ |
WGS84 ECEF Z Cartesian velocity vector in m/s. |
Acc |
Three-dimensional speed 1-sigma accuracy in m/s. |
Example
// Host send
$PAIR031*38
// Receiver response
$PAIR001,031,0*39
$PAIR031,0.19,-0.07,-0.11,0.49*3A
$PAIR864 - Set baud rate
The baud-rate change takes effect immediately after the next response. To
keep the change after a power cycle, send $PAIR513 to save the
settings, then reboot with $PAIR023 or cycle the power supply.
Format
$PAIR864,<Port_Type>,<Port_Index>,<Baudrate>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
Port_Type |
0: UART |
Port_Index |
0: UART0, main communication port |
Baudrate |
9600, 115200 default,
230400, 460800, or
921600.
|
Return format
$PAIR001,864,<Result>*<Checksum><CR><LF>
Example
// Host send: set UART0 baud rate to 115200
$PAIR864,0,0,115200*1B
// Receiver response: sent at the current baud rate before changing
$PAIR001,864,0*31
$PAIR865 - Get baud rate
Format
$PAIR865,<Port_Type>,<Port_Index>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
Port_Type |
0: UART |
Port_Index |
0: UART0, main communication port |
Return format
$PAIR865,<Port_Type>,<Port_Index>,<Baudrate>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
Baudrate |
Current UART baud rate. |
Example
// Host send
$PAIR865,0,0*37
// Receiver response
$PAIR001,865,0*30
$PAIR865,0,0,115200*1A
$PAIR062 - Set NMEA output rate
Format
$PAIR062,<Type>,<Output_Rate>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
Type |
-1: Reset all sentences to default 0: NMEA_SEN_GGA 1: NMEA_SEN_GLL 2: NMEA_SEN_GSA 3: NMEA_SEN_GSV 4: NMEA_SEN_RMC 5: NMEA_SEN_VTG 6: NMEA_SEN_ZDA 7: NMEA_SEN_GRS 8: NMEA_SEN_GST |
Output_Rate |
0: Disabled; do not output the sentence. 1: Output once every position fix. 2: Output once every two position fixes. Valid range: 0 to 20.
|
Return format
$PAIR001,062,<Result>*<Checksum><CR><LF>
Example
// Host send: disable GSV output
$PAIR062,3,0*3F
// Receiver response
$PAIR001,062,0*3F
$PAIR063 - Get NMEA output rate
Format
$PAIR063,<Type>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
Type |
NMEA sentence type. Use -1 to return all
configurations or 0 to 8 for a selected
sentence.
|
Return format
$PAIR063,<Type>,<Output_Rate>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
Output_Rate |
Current output interval setting from 0 to 20. |
Example
// Host send
$PAIR063,0*23
// Receiver response
$PAIR001,063,0*3E
$PAIR063,0,3*3C
$PAIR098 - Set NMEA decimal precision
Format
$PAIR098,<MODE>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
MODE |
0: Latitude and longitude with four digits;
altitude with one digit. 1: Latitude and longitude with five digits; altitude with two digits. 2: Latitude and longitude with six digits; altitude with three digits. 3: Latitude and longitude with seven digits; altitude with three digits. |
Return format
$PAIR001,098,<Result>*<Checksum><CR><LF>
Example
// Host send
$PAIR098,0*27
// Receiver response
$PAIR001,098,0*3A
$PAIR099 - Get NMEA decimal precision
Format
$PAIR099*3A<CR><LF>
Return format
$PAIR099,<MODE>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
MODE |
Current precision mode from 0 to 3. |
Example
// Host send
$PAIR099*3A
// Receiver response
$PAIR001,099,0*3B
$PAIR099,0*26
$PAIR100 - Set NMEA output mode
Format
$PAIR100,<NMEA_MODE>,<PROPRIETARY_MODE>*<Checksum><CR><LF>
Parameters
| Field | Description |
|---|---|
NMEA_MODE |
0: Disable NMEA. 1: ASCII NMEA v4.1, default. 2: ASCII NMEA v3.0. |
PROPRIETARY_MODE |
0: Disable additional proprietary sentences,
default. 1: Enable proprietary sentences. |
Return format
$PAIR001,100,<Result>*<Checksum><CR><LF>
Example
// Host send: ASCII NMEA v4.1, additional proprietary sentence disabled
$PAIR100,1,0*3A
// Receiver response
$PAIR001,100,0*3A
$PAIR101 - Get NMEA output mode
Format
$PAIR101*3A<CR><LF>
Return format
$PAIR101,<NMEA_MODE>,<PROPRIETARY_MODE>*<Checksum><CR><LF>
Return parameters
| Field | Description |
|---|---|
NMEA_MODE |
Current standard NMEA output mode from 0 to 2. |
PROPRIETARY_MODE |
Current proprietary sentence output state from 0 to 1. |
Example
// Host send
$PAIR101*3A
// Receiver response
$PAIR001,101,0*3B
$PAIR101,0,1*3B
Integration references
Continue with the product specifications or the shared integration documentation for host setup and evaluation workflows.
Evaluating SCOUT PRO for your machine?
Review the product page or discuss an integration requirement with the Kalmix team.