SCOUT Protocol

SCOUT exposes standard NMEA 0183 output, RTCM v3.x correction input, and POLCFG plaintext commands for receiver configuration. Use this reference to review the standard data interfaces, query firmware status, configure GNSS frequency bands, adjust output rates, and change serial-interface settings.

Protocol scope

1. Standard data interfaces

SCOUT uses the USB serial data path for positioning output, receiver configuration, and RTCM correction-data input. NTRIP transport is typically handled by the host application; the receiver consumes the RTCM data stream.

Output interface

NMEA 0183 output

SCOUT outputs standard NMEA 0183 positioning sentences through the USB serial interface. The host application can configure sentence output and navigation rates with POLCFG commands.

Data path
USB serial interface
Default baud rate
115,200 bps
Standard sentences
GGA, GSA, GSV, RMC, GLL, VTG, and GST
Configuration
Use POLCFGNAV for fix and observation rates. Use POLCFGMSG for sentence filtering, output rate, and output order.
Read the NMEA 0183 guide →
Correction interface

RTCM v3.x correction input

SCOUT accepts RTCM v3.x correction data for RTK positioning. The host application forwards the correction stream to the receiver through the serial data path.

Protocol
RTCM v3.x
Data path
Host application → USB serial interface → SCOUT
Typical source
An NTRIP client running on the host system
Receiver role
Consume the RTCM correction stream for RTK processing
Read the RTCM protocol guide →

2. POLCFG command packet structure

SCOUT uses the NOMAD K16-series receiver platform and its dedicated POLCFG plaintext command set. Commands follow an NMEA-style line format and are terminated with carriage return and line feed characters.

$POLCFG<CommandName>[,<Param_1>,...,<Param_N>]<CR><LF>
  • $POLCFG: Proprietary command header. ASCII hexadecimal: 0x24504F4C434647.
  • <CommandName>: Uppercase command name, such as RESET, SYS, or MSG.
  • <Param>: Command-specific parameters separated by commas.
  • <CR><LF>: Packet terminator in hexadecimal format: 0D 0A.
Response convention

The receiver returns $OK when a command is accepted. It returns $FAIL when the command is malformed, unsupported, or contains an out-of-range parameter.

Persistence note

Most configuration changes are not automatically stored across power cycles. Send $POLCFGSAVE after changing persistent settings. Commands that explicitly auto-save are identified in the relevant sections below.

3. POLCFG command quick reference

Command Type Purpose
System status & control
$OK / $FAIL Output Return the command execution result.
$POLCFGPTVER Query Query firmware version information.
$POLCFGRESET Set Restart the receiver using hot-start or cold-start behavior.
$POLCFGSAVE Set Save the current configuration to flash memory.
$POLCFGSDEFT Set Restore factory-default settings.
GNSS configuration
$POLCFGSYS Set Configure satellite constellations and frequency bands using a bitmask.
$POLCFGPTSYS Query Query the current constellation and frequency-band configuration.
$POLCFGNAV Set Set the navigation fix rate and raw-observation output rate.
Interface & output
$POLCFGPRT Set Configure the UART baud rate.
$POLCFGMSG Set Configure NMEA sentence output, output rate, and message order.

4. Detailed POLCFG command dictionary

4.1 System status & control

$OK / $FAIL - Command acknowledgement

Description
Return the command execution result.
Type
Output

Return format

$OK<CR><LF>
$FAIL<CR><LF>

Return parameters

Response Description
$OK The command was received and executed successfully.
$FAIL The command was rejected. Possible causes include an unsupported command, an out-of-range parameter, or malformed syntax.

Example

// Host send
$POLCFGSAVE

// Receiver response: success
$OK

// Host send: invalid parameter
$POLCFGRESET,9

// Receiver response: failure
$FAIL

$POLCFGPTVER - Get version

Description
Query receiver firmware version information.
Type
Query

Format

$POLCFGPTVER<CR><LF>

Return format

The receiver returns a status response and a version string through the $POLRS proprietary sentence.

$POLRS,<Version_String>*<Checksum><CR><LF>

Example

// Host send
$POLCFGPTVER

// Receiver response: firmware version and checksum shown as placeholders
$OK
$POLRS,X166X25505_BK1662_20260115*XX

$POLCFGRESET - Restart receiver

Description
Restart the GNSS receiver using hot-start or cold-start behavior. The command takes effect immediately.
Type
Set

Format

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

Parameters

Field Description
Type 0: Hot start — use available navigation data stored in flash memory.
1: Cold start — clear stored position, almanac, and ephemeris data.

Return format

$OK<CR><LF>

Example

// Host send: cold start
$POLCFGRESET,1

// Receiver response
$OK

$POLCFGSAVE - Save settings to flash

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

Format

$POLCFGSAVE<CR><LF>

Return format

$OK<CR><LF>

Example

// Host send
$POLCFGSAVE

// Receiver response
$OK

$POLCFGSDEFT - Restore factory defaults

Description
Restore user-configurable parameters to their factory-default values. Previously saved custom settings are overwritten.
Type
Set

Format

$POLCFGSDEFT<CR><LF>

Return format

$OK<CR><LF>

Example

// Host send
$POLCFGSDEFT

// Receiver response
$OK
4.2 GNSS configuration

$POLCFGSYS - Set constellation and frequency bands

Description
Enable or disable satellite constellations and frequency bands using a bitmask. The receiver restarts automatically after receiving this command. Send $POLCFGSAVE to persist the configuration.
Type
Set

Format

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

Parameters

Field Description
sysMask Bitmask value in decimal or hexadecimal format.

Bit 0: GPS L1
Bit 1: GPS L5
Bit 2: BeiDou B1I
Bit 3: BeiDou B2a
Bit 4: BeiDou B2b
Bit 5: BeiDou B1C
Bit 6: GLONASS G1
Bit 7: Galileo E1
Bit 8: Galileo E5a
Bit 9: Galileo E5b
Bit 12: SBAS L1
Bit 13: IRNSS L5
Bit 14: BeiDou B2I
Bit 15: GPS L2C
Bit 16: GLONASS G2
Bit 17: BeiDou B3I

Hexadecimal input must end with H, such as 27H. Append + or - to enable or disable one band incrementally, such as 5+.

Return format

$OK<CR><LF>

Example

// Host send: enable GPS L1, GPS L5, BeiDou B1I, and BeiDou B1C
$POLCFGSYS,39

// Equivalent hexadecimal input
$POLCFGSYS,27H

// Receiver response
$OK

// Incremental: enable BeiDou B1C
$POLCFGSYS,5+

// Incremental: disable GLONASS G1
$POLCFGSYS,6-

$POLCFGPTSYS - Get constellation and frequency bands

Description
Query the active satellite-constellation and frequency-band configuration.
Type
Query

Format

$POLCFGPTSYS<CR><LF>

Return format

$POSYS_BM:0x<HexValue><CR><LF>

Return parameters

Field Description
HexValue Current constellation bitmask in hexadecimal format. Bit definitions are the same as $POLCFGSYS.

Example

// Host send
$POLCFGPTSYS

// Receiver response
$POSYS_BM:0x000021EF

$POLCFGNAV - Set fix and observation rates

Description
Configure the navigation fix rate and raw-observation output rate. The receiver restarts automatically after receiving this command. Send $POLCFGSAVE to persist the configuration.
Type
Set
Configuration scope

The underlying module command exposes 1, 5, 10, and 20 Hz values. The validated SCOUT receiver profiles are listed on the Specifications page: 1 Hz for Standard RTK and 10 Hz for RTK + DR. Confirm any other receiver-level setting with Kalmix before production use.

Format

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

Parameters

Field Description
navRate Navigation fix rate in Hz. Supported module values: 1, 5, 10, and 20.
measRate Raw-observation output rate in Hz. Supported module values: 1, 5, 10, and 20.

Return format

$OK<CR><LF>

Example

// Host send: fix rate 10 Hz, raw-observation rate 5 Hz
$POLCFGNAV,10,5

// Receiver response
$OK
4.3 Interface & output

$POLCFGPRT - Set baud rate

Description
Configure the UART baud rate. The setting takes effect immediately.
Type
Set
Baud-rate change

The receiver switches to the new baud rate immediately. The host may not receive the $OK response at the previous baud rate. Reconnect using the new baud rate, then send $POLCFGSAVE to retain the setting after a power cycle.

Receiver-level validation

The underlying module command exposes baud-rate values up to 2,000,000 bps. For SCOUT receiver-level integration, use the validated settings listed on the Specifications page unless another value has been confirmed by Kalmix.

Format

$POLCFGPRT,<Baudrate><CR><LF>

Parameters

Field Description
Baudrate Supported module values: 9600, 38400, 57600, 115200 default, 230400, 460800, 1000000, and 2000000.

Return format

$OK<CR><LF>

Example

// Host send: set baud rate to 460800
$POLCFGPRT,460800

// Reconnect the host at 460800, then persist the setting
$POLCFGSAVE

$POLCFGMSG - Configure NMEA output

Description
Configure NMEA sentence output. The command supports individual sentence control, global output-rate configuration, and per-sentence rate and output-order control.
Type
Set

Mode 0 — Individual sentence on / off

$POLCFGMSG,0,<msgID>,<msgCtrl><CR><LF>
Field Description
msgID 0: GGA
1: GSA
2: GSV
3: VTG
4: CNR
5: RMC
6: CLK
7: POL
8: THS
9: ANT
10: JAM
11: INS
12: GST
13: GLL
14: AID
15: MSM
16: GMP
msgCtrl 0: Disable
1: Enable
Persistence note

Send $POLCFGSAVE after changing Mode 0 sentence settings if the configuration must persist across power cycles.

Example

// Disable GSV output
$POLCFGMSG,0,2,0

// Receiver response
$OK

// Enable GSV output
$POLCFGMSG,0,2,1

// Receiver response
$OK

Mode 1 — Global NMEA rate / all off

$POLCFGMSG,1,<msgRate><CR><LF>
Field Description
msgRate 0: Disable all NMEA output.
1, 5, 10, or 20: Set the global NMEA output rate in Hz.
Automatic restart

Mode 1 triggers an automatic receiver restart and saves the updated configuration to flash memory.

Example

// Set all NMEA output to 5 Hz
$POLCFGMSG,1,5

// Receiver response
$OK

// Disable all NMEA output
$POLCFGMSG,1,0

// Receiver response
$OK

Mode 2 — Per-sentence rate and output order

$POLCFGMSG,2,<msgID>,<msgRate>,<msgOrder><CR><LF>
Field Description
msgID Sentence identifier. Supported messages include GGA (0), GSA (1), GSV (2), VTG (3), RMC (5), GST (12), GLL (13), and GMP (16).
msgRate Output rate in Hz. Supported values: 0 off, 0.1, 0.2, 0.5, 1, 2, 5, 10, and 20.
msgOrder Output-order priority. Valid range: 1–128. 0 uses the default firmware order.
Persistence note

Send $POLCFGSAVE after changing Mode 2 sentence settings if the configuration must persist across power cycles.

Example

// Host send: set RMC to 5 Hz and output it first
$POLCFGMSG,2,5,5,1

// Receiver response
$OK

// Host send: set GGA to 10 Hz and output it second
$POLCFGMSG,2,0,10,2

// Receiver response
$OK

Integration references

Continue with the product specifications or the shared integration documentation for host setup and evaluation workflows.

Product evaluation

Evaluating SCOUT for your machine?

Review the product page or discuss an integration requirement with the Kalmix team.