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.
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
POLCFGNAVfor fix and observation rates. UsePOLCFGMSGfor sentence filtering, output rate, and output order.
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
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 asRESET,SYS, orMSG. -
<Param>: Command-specific parameters separated by commas. -
<CR><LF>: Packet terminator in hexadecimal format:0D 0A.
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.
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
$OK / $FAIL - Command acknowledgement
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
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
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
Format
$POLCFGSAVE<CR><LF>
Return format
$OK<CR><LF>
Example
// Host send
$POLCFGSAVE
// Receiver response
$OK
$POLCFGSDEFT - Restore factory defaults
Format
$POLCFGSDEFT<CR><LF>
Return format
$OK<CR><LF>
Example
// Host send
$POLCFGSDEFT
// Receiver response
$OK
$POLCFGSYS - Set constellation and frequency bands
$POLCFGSAVE to persist the configuration.
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
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
$POLCFGSAVE to persist the configuration.
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
$POLCFGPRT - Set baud rate
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.
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
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 |
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. |
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. |
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.
Evaluating SCOUT for your machine?
Review the product page or discuss an integration requirement with the Kalmix team.