GUIDE K35 Series Protocol
GUIDE K35 Series exposes standard NMEA 0183 output, RTCM v3.x correction input, and PAIR proprietary commands for embedded-module configuration. Use this reference to review the UART-based data interfaces, query module status, adjust GNSS behavior, and configure serial output.
Protocol scope
1. Standard data interfaces
GUIDE K35 Series uses the carrier-board UART0 data path for positioning output, module configuration, and RTCM correction-data input. NTRIP transport is typically handled by the host application; the module consumes the RTCM data stream.
NMEA 0183 output
GUIDE K35 Series outputs standard NMEA 0183 positioning sentences through the primary carrier-board UART0 interface. The host application can select sentence types and output intervals with PAIR commands.
- Data path
- Carrier-board UART0 interface
- Default baud rate
- 115,200 bps
- Supported sentences
- GGA, GSA, GSV, RMC, GLL, VTG, and GST
- Configuration
-
Use
PAIR050for the navigation update interval andPAIR062/PAIR063for individual sentence output intervals.
RTCM v3.x correction input
GUIDE K35 Series accepts RTCM v3.x correction data for RTK positioning. The host application forwards the correction stream to the module through the carrier-board serial data path.
- Protocol
- RTCM v3.x
- Data path
- Host application → carrier-board UART0 → GUIDE K35 Series module
- Typical source
- An NTRIP client running on the host system
- Module role
- Consume the RTCM correction stream for RTK processing
GUIDE is a surface-mount module rather than an enclosed USB receiver. Route UART0, power, ground, RF, and any required timing or dead-reckoning signals through the carrier board. Review Pin Definitions & Interfaces before finalizing the host connection.
2. PAIR command packet structure
GUIDE K35 Series uses the Airoha AG3335 module platform and exposes its PAIR command set through the carrier-board serial interface. All GUIDE 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 module or cycle the power supply.
3. PAIR command quick reference
| Command | Type | Purpose |
|---|---|---|
| System status & control | ||
PAIR001 |
Output | Return the PAIR command execution result. |
PAIR020 |
Query | Query firmware release information. |
PAIR024 |
Query | Query the GNSS chipset version. |
PAIR004 |
Set | Restart using available navigation data stored in NVRAM. |
PAIR005 |
Set | Restart without using stored ephemeris data. |
PAIR006 |
Set | Restart without using stored navigation data. |
PAIR023 |
Set | Reboot the GNSS chipset immediately. |
PAIR513 |
Set | Store the current configuration in NVRAM. |
PAIR514 |
Set | Clear NVRAM and restore factory defaults. |
| GNSS configuration | ||
PAIR066 |
Set | Enable or disable satellite constellations. |
PAIR067 |
Query | Query the current constellation settings. |
PAIR050 |
Set | Set the navigation update interval. K35C is specified for 1 Hz; K35E supports up to 10 Hz. |
PAIR051 |
Query | Query the current navigation update interval. |
PAIR031 |
Query | Query the WGS84 ECEF XYZ Cartesian velocity vector. |
| Interface & formatting | ||
PAIR864 |
Set | Configure the UART baud rate. |
PAIR865 |
Query | Query the current UART baud rate. |
PAIR062 |
Set | Configure the output interval for a selected NMEA sentence. |
PAIR063 |
Query | Query the output interval for a selected NMEA sentence. |
PAIR098 |
Set | Configure fractional precision for NMEA position values. |
PAIR099 |
Query | Query the current NMEA decimal precision mode. |
PAIR100 |
Set | Configure the NMEA protocol output mode. |
PAIR101 |
Query | Query the current NMEA protocol output mode. |
4. 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*38<CR><LF>
Return format
The module returns a standard acknowledgement packet followed by 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_YYYYMMDDThe returned project version may vary by GUIDE module variant and firmware release. |
Frequency |
S: Single frequency D: Dual frequency (L1/L5) |
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: placeholder values shown for field structure
$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*<Checksum>
$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 module 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
GUIDE K35C is specified for a 1 Hz navigation update rate. GUIDE K35E is
the RTK + DR variant and supports update intervals down to
100 ms, corresponding to 10 Hz output.
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.
Update the host UART configuration before sending the next command. 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*31
// 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*3D
// 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 GUIDE specifications, carrier-board interface definitions, or the hardware integration overview.
Evaluating GUIDE for your hardware design?
Review the product page or discuss a module-level integration requirement with the Kalmix team.