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.

Output interface

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 PAIR050 for the navigation update interval and PAIR062 / PAIR063 for individual sentence output intervals.
Read the NMEA 0183 guide →
Correction interface

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
Read the RTCM protocol guide →
Carrier-board integration

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 as 050.
  • <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.
Persistence note

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

4.1 System status & control

$PAIR001 - Command acknowledgement

Description
Return the PAIR command execution result.
Type
Output

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

Description
Query firmware release information, hardware and software configuration, and subsystem versions.
Type
Query

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_YYYYMMDD
The 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

Description
Query the chipset version.
Type
Query

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

Description
Restart the module using available navigation data stored in NVRAM.
Type
Set

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

Description
Restart the module without using stored ephemeris data.
Type
Set

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

Description
Restart the module without using stored position, almanac, or ephemeris data.
Type
Set

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

Description
Reboot the GNSS chipset immediately.
Type
Set

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

Description
Save the current configuration to flash or NVRAM so that changes persist across power cycles.
Type
Set

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

Description
Clear the current user configuration and restore factory defaults.
Type
Set

Format

$PAIR514*3A<CR><LF>

Return format

$PAIR001,514,<Result>*<Checksum><CR><LF>

Example

// Host send
$PAIR514*3A

// Receiver response
$PAIR001,514,0*3B
4.2 GNSS configuration

$PAIR066 - Set GNSS search mode

Description
Enable or disable satellite constellations. The module restarts when it receives this command.
Type
Set

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

Description
Query GPS, GLONASS, Galileo, BeiDou, QZSS, and NavIC constellation settings.
Type
Query

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

Description
Set the navigation update interval. When the interval is below 1000 ms, the ASCII NMEA output interval may increase automatically.
Type
Set
GUIDE variant note

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

Description
Query the current position fix interval.
Type
Query

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

Description
Query the WGS84 ECEF XYZ Cartesian velocity vector in meters per second, with an estimated 1-sigma accuracy.
Type
Query

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
4.3 Interface & formatting

$PAIR864 - Set baud rate

Description
Set the UART baud rate of the GNSS module.
Type
Set
Baud-rate change

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

Description
Query the UART baud rate of the GNSS module.
Type
Query

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

Description
Configure the output interval of a selected NMEA sentence.
Type
Set

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

Description
Query the output interval of a selected NMEA sentence.
Type
Query

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

Description
Configure the number of decimal digits shown in NMEA position values.
Type
Set

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

Description
Query the current NMEA position precision mode.
Type
Query

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

Description
Configure the NMEA output mode.
Type
Set

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

Description
Query the current NMEA output mode.
Type
Query

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.

Product evaluation

Evaluating GUIDE for your hardware design?

Review the product page or discuss a module-level integration requirement with the Kalmix team.