NOMAD K16 Series Protocol

NOMAD K16 Series exposes standard NMEA 0183 output, RTCM v3.x correction input, and POLCFG 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

NOMAD K16 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

NOMAD K16 Series outputs standard NMEA 0183 positioning sentences through the primary carrier-board UART0 interface. The host application can select sentence types and output rates with POLCFG commands.

Data path
Carrier-board UART0 interface
Default baud rate
115,200 bps
Supported sentences
GGA, GSA, GSV, RMC, GLL, VTG, GST, and ZDA
Configuration
Use POLCFGNAV for the navigation update rate and POLCFGMSG for sentence selection, output rates, and output order.
Read the NMEA 0183 guide →
Correction interface

RTCM v3.x correction input

NOMAD K16 Series accepts RTCM v3.x correction data for RTK positioning. Use an MSM4 correction stream, as specified in the interface reference, and forward it to the module through the carrier-board serial data path.

Protocol
RTCM v3.x
Data path
Host application → carrier-board UART0 → NOMAD K16 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

Route UART0, power, ground, RF, and any required timing signals through the carrier board. Review Pin Definitions & Interfaces before finalizing the host connection.

2. POLCFG command packet structure

NOMAD K16 Series uses the BEKEN BK1662 platform and exposes POLCFG configuration commands through the carrier-board serial interface. Send uppercase command names with comma-separated parameters.

$POLCFG<Command>[,<Parameter_1>,...,<Parameter_N>]<CR><LF>
  • $POLCFG: Proprietary command header.
  • <Command>: Command name, such as PRT or NAV.
  • <Parameter>: Command-specific parameters separated by commas.
  • <CR><LF>: Serial-terminal line ending, hexadecimal 0D 0A. Append it when sending the examples below.

POLCFG input commands do not include an NMEA *checksum suffix. Standard NMEA output uses an 8-bit XOR checksum over the characters between $ and *.

$<Talker_ID><Message_ID>[,<Data_Field>...]*<Checksum><CR><LF>
Persistence note

Use $POLCFGSAVE to retain applicable configuration changes across power cycles. POLCFGNAV and POLCFGSYS take effect after an automatic restart of about two seconds; save after communication resumes. POLCFGMSG class 1 restarts the module and saves automatically.

Firmware reference

This command selection follows BK166X interface reference V1.9.44. Commands with a minimum firmware version are identified below; returned version strings and available settings depend on the installed firmware. K16C uses a 1 Hz navigation rate; K16E supports up to 10 Hz, with 1 Hz as the default.

3. POLCFG command quick reference

Command Type Purpose
System status & control
$OK / $FAIL Output Report command acceptance or failure.
POLCFGPTVER Query Query firmware version information.
POLCFGRESET Set Restart with a hot or cold start.
POLCFGSAVE Set Save the current configuration to Flash.
POLCFGSDEFT Set Restore the defaults of the installed firmware.
GNSS configuration
POLCFGSYS Set Configure constellation and signal selection.
POLCFGPTSYS Query Query the active constellation and signal mask.
POLCFGNAV Set Configure navigation and measurement rates.
Interface & formatting
POLCFGPRT Set Configure the UART baud rate.
POLCFGMSG · class 0 Set Enable or disable an individual NMEA sentence.
POLCFGMSG · class 1 Set Configure the overall NMEA output rate.
POLCFGMSG · class 2 Set Configure an individual sentence rate and output order.

4. Detailed POLCFG command dictionary

4.1 System status & control

$OK / $FAIL - Command result

Description
Report whether the receiver accepted a configuration command.
Type
Output

Return format

$OK
$FAIL
Response Description
$OK Command received successfully.
$FAIL Command rejected or received incorrectly.

A baud-rate change or restart can interrupt the response stream. Reconnect at the selected baud rate before checking the resulting configuration.

Example

// Host send: enable GGA
$POLCFGMSG,0,0,1

// Receiver response: accepted
$OK

$POLCFGPTVER - Get version

Description
Query firmware version information. Available in firmware X166X24335 and later.
Type
Query

Format

$POLCFGPTVER<CR><LF>

Return format

$POLRS,<Version>,<Internal_Data>*<Checksum><CR><LF>

Return parameters

Field Description
Version Firmware version string returned by the receiver.
Internal_Data Internal reference data; retain the field as received.

Firmware X166X25075 and later also outputs software and baseband version information in $FWVER and $HWVER sentences.

$FWVER,<Version>*<Checksum><CR><LF>
$HWVER,<Version>*<Checksum><CR><LF>

Example

// Host send
$POLCFGPTVER

// Illustrative version response; actual values vary
$POLRS,4166124305RD,1*71

$POLCFGRESET - Restart

Description
Restart the receiver using the selected start type. The command takes effect immediately.
Type
Set

Format

$POLCFGRESET,<Type><CR><LF>

Parameters

Parameter Description
Type 0: Hot start.
1: Cold start.

Return format

$OK
$FAIL

Example

// Host send: cold start
$POLCFGRESET,1

$POLCFGSAVE - Save configuration

Description
Save the current configuration to Flash for retention across power cycles. The command takes effect immediately.
Type
Set

Format

$POLCFGSAVE<CR><LF>

Return format

$OK
$FAIL

After changing the UART baud rate, send this command at the new baud rate. After a configuration-triggered restart, wait for serial communication to resume before saving.

Example

// Host send
$POLCFGSAVE

// Receiver response: accepted
$OK

$POLCFGSDEFT - Restore firmware defaults

Description
Restore the default configuration supplied with the installed firmware. Available in firmware X166X25295 and later.
Type
Set

Format

$POLCFGSDEFT<CR><LF>

Return format

$OK
$FAIL
Restore defaults

This command replaces custom settings saved by configuration commands and automatically restarts the receiver after about two seconds. Reconnect using the restored serial settings.

Example

// Host send: restore defaults
$POLCFGSDEFT
4.2 GNSS configuration

$POLCFGSYS - Set constellation signals

Description
Configure the active constellation and signal selection. The receiver automatically restarts after about two seconds; use POLCFGSAVE afterward to retain the setting.
Type
Set

Format

$POLCFGSYS,<sysMask><CR><LF>

Parameters

Parameter Description
sysMask For a complete mask, set each required signal bit to 1. Enter a decimal value or a hexadecimal value ending in H. A complete mask replaces the previous selection.

Return format

$OK
$FAIL

Signal bit definitions

Bit Signal
0 GPS L1
1 GPS L5
2 BeiDou B1I
3 BeiDou B2a
5 BeiDou B1C
6 GLONASS G1
7 Galileo E1
8 Galileo E5a
14 BeiDou B2I

The table lists signal bits matching the published K16 frequency specifications. The interface reference does not assign a separate QZSS bit.

To change one signal without replacing the entire mask, send its bit number followed by + to enable or - to disable. For example, 5+ enables BeiDou B1C; it is not a decimal mask value.

Example

// Host send: select BeiDou B1I, B2a, B1C, and B2I only
$POLCFGSYS,402CH

// Alternative: add BeiDou B1C to the current selection
$POLCFGSYS,5+

$POLCFGPTSYS - Get constellation signals

Description
Query the effective constellation and signal mask.
Type
Query

Format

$POLCFGPTSYS<CR><LF>

Return format

$POSYS_BM:0x<Mask>

Return parameters

Field Description
Mask Current effective signal mask, printed in hexadecimal. Decode the bits using the signal table above.

Example

// Host send
$POLCFGPTSYS

// Illustrative response: BeiDou B1I, B2a, B1C, and B2I
$POSYS_BM:0x0000402C

$POLCFGNAV - Set navigation rate

Description
Configure the navigation and measurement output rates. The receiver automatically restarts after about two seconds; use POLCFGSAVE afterward to retain the setting.
Type
Set

Format

$POLCFGNAV,<navRate>,<measRate><CR><LF>

Parameters

Parameter Description
navRate Navigation rate in Hz.
K16C: 1.
K16E: 1, 5, or 10; default 1.
measRate Measurement output rate in Hz. The reference command accepts 1, 5, 10, and 20; select a value supported by the installed module firmware. The example keeps the 1 Hz baseline.

Return format

$OK
$FAIL

The BK166X command range is broader than the published K16 navigation profile. It does not establish 20 Hz navigation support for NOMAD.

Example

// Host send: 1 Hz navigation and measurement rates
$POLCFGNAV,1,1

// After the automatic restart and serial reconnection
$POLCFGSAVE
4.3 Interface & formatting

$POLCFGPRT - Set UART baud rate

Description
Configure the carrier-board UART0 baud rate. The new baud rate takes effect immediately; use POLCFGSAVE at the new baud rate to retain it.
Type
Set

Format

$POLCFGPRT,<baud>[,<reserved>]<CR><LF>

Parameters

Parameter Description
baud Baud rate in bps: 9600, 38400, 57600, 115200, 230400, 460800, 1000000, or 2000000.
Default: 115200.
reserved Optional reserved parameter; use 0 when included.

Return format

$OK
$FAIL
Serial reconnection

The host may not receive $OK or $FAIL at the old baud rate. Change the host UART setting to the selected rate, check incoming data, and then save the configuration.

Example

// Host send: select the default baud rate
$POLCFGPRT,115200,0

// Host UART: 115200 bps
$POLCFGSAVE

$POLCFGMSG - Enable or disable a sentence

Description
Enable or disable an individual NMEA sentence with message class 0. This mode changes sentence selection, not its output rate. Use POLCFGSAVE to retain the setting.
Type
Set

Format

$POLCFGMSG,0,<msgID>,<msgCtrl><CR><LF>

Parameters

Parameter Description
msgID Sentence ID from the table below.
msgCtrl 0: Disable.
1: Enable.

Return format

$OK
$FAIL

Common NMEA sentence IDs

ID Sentence Purpose
0 GGA Position and fix quality
1 GSA Active satellites and dilution of precision
2 GSV Satellites in view
3 VTG Course and ground speed
5 RMC Recommended minimum navigation data
12 GST Position-error statistics
13 GLL Geographic position
20 ZDA UTC date and time

Example

// Host send: enable GGA
$POLCFGMSG,0,0,1

// Host send: disable GSV
$POLCFGMSG,0,2,0

// Retain the sentence selection
$POLCFGSAVE

$POLCFGMSG - Set overall NMEA output rate

Description
Configure the overall NMEA output rate with message class 1. The receiver automatically restarts after about two seconds and saves this setting to Flash.
Type
Set

Format

$POLCFGMSG,1,<msgRate><CR><LF>

Parameters

Parameter Description
msgRate Rate in Hz.
0: Disable all NMEA output.
K16C: 1.
K16E: 1, 5, or 10; default 1.

Return format

$OK
$FAIL

Configure the navigation rate separately with POLCFGNAV. Increasing the sentence output rate does not by itself increase the navigation update rate.

Example

// Host send: overall NMEA output at 1 Hz
$POLCFGMSG,1,1

$POLCFGMSG - Set sentence rate and order

Description
Configure the rate and output order of an individual NMEA sentence with message class 2. Available in firmware X166X24451 and later.
Type
Set

Format

$POLCFGMSG,2,<msgID>,<msgRate>,<msgOrder><CR><LF>

Parameters

Parameter Description
msgID For the common sentences above: 0, 1, 2, 3, 5, 12, 13, or 20.
msgRate Individual sentence rate in Hz. The reference command accepts 0.1, 0.2, 0.5, 1, 2, 5, 10, or 20. Use a rate appropriate to the module navigation profile; the example uses 1.
msgOrder 0: Firmware default order.
1–128: Selected position in the output sequence.

Return format

$OK
$FAIL

The reference does not specify automatic restart or Flash persistence for class 2. Check the resulting sentence stream and verify retention after a restart before relying on this configuration.

Example

// Host send: RMC at 1 Hz, first in the output sequence
$POLCFGMSG,2,5,1,1

Integration references

Continue with the NOMAD specifications, carrier-board interface definitions, or the hardware integration overview.

Product evaluation

Evaluating NOMAD for your hardware design?

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