The Swift Navigation Binary Protocol (SBP) is a fast, simple, and minimal overhead binary protocol for communicating with Swift Navigation systems. It is the native binary protocol used by the Swift Navigation GNSS receivers to transmit solutions, observations, status and debugging messages, as well as receive commands and data from the host system, such as differential corrections and settings.


Piksi® Multi and Duro SBP Specifications:

Piksi Multi / Duro Firmware VersionSBP VersionSBP Manual
3.0.11, 3.0.14, v4.1.1
2.4.15, 2.4.16, 2.4.20, v2.7.4
2.3.17, v2.6.3 v2.4.7 v2.4.1 v2.4.0 v2.3.15 v2.3.10 v2.3.1 v2.2.15 v2.2.1 v2.1.6

Starling SBP Specifications:

Starling Software VersionSBP VersionSBP Manual
1.20.x4.11.0SBP v4.11.0
1.16.x4.5.0SBP v4.5.0
1.12.x4.1.4SBP v4.1.4
1.10.x4.1.3SBP v4.1.3
1.6.x3.4.10SBP v3.4.10
1.5.x3.4.8SBP v3.4.8 v3.4.7 v3.4.5
1.2.303.4.4SBP v3.4.4
SBP v2.8.0

Skylark SSR SBP Specifications:

Skylark VersionSBP VersionSBP Manual
20.x5.0.4SBP v5.0.4
5.0.1SBP v5.0.1

Piksi v2 SBP Specifications:

Piksi v2 Firmware VersionSBP VersionSBP Manual v0.52.4


libsbp Source Code and Examples:

Swift Navigation provides language bindings in a variety of program languages to jump start integration projects with the communication protocol including C, Python, Java, Javascript, and Haskell.  libsbp is open source and available on Github at Whether from a package repository or the source, make sure to checkout or install the version of the SBP source code that corresponds with your hardware and firmware version as noted above.

Additional C code examples

Older SBP Versions