Probe Tools
Two small diagnostic CLI tools ship with the library: gnsshat-info for library/build information, and gnsshat-probe for identifying and querying a connected HAT.
Source: gnsshat/tools/gnsshat-info.cpp, gnsshat/tools/gnsshat-probe.cpp
NoteBoth tools are built with-DBUILD_TOOLS=ON— see Tools and Services for the build steps.
Prints the library version, build metadata, target platform, and which optional features were compiled in. Useful for confirming what you actually have installed and for bug reports.
gnsshat-info
gnsshat 1.4.0 (build 128, a1b2c3d)
Built: 2026-08-12 09:41:03
Platform: Raspberry Pi 5
Features:
NTRIP TLS support: enabled
- Version / build / revision — library version, internal build number, and the git commit it was built from.
- Platform — detected at compile time (
RPI5,RPI4, orunknown). - NTRIP TLS support — whether the library was built with TLS support for
NtripClient(needed for[ntrip.tls]in the RTK Base Station config).
gnsshat-info takes no arguments and does not touch the hardware — it’s safe to run even without a HAT attached.
Identifies the GNSS HAT attached to the Raspberry Pi by reading its HAT EEPROM, and optionally queries the u-blox receiver directly for its firmware version.
gnsshat-probe [--live] [--spi|--uart]
| Option | Description |
|---|---|
--live | Additionally poll the u-blox receiver (UBX-MON-VER) for firmware/hardware version strings |
--spi | Force the SPI interface for --live mode |
--uart | Force the UART interface for --live mode |
--help, -h | Show usage |
Without --live, gnsshat-probe reads the HAT EEPROM fields (product, vendor, product_id, product_ver, uuid, custom_0) and prints the parsed hardware description:
Product: GNSS RTK HAT
Vendor: Jimmy Paputto
Product ID: 0x0003
Product Ver: 0x0002
UUID: 1a2b3c4d-...
Hardware:
Communication: SPI
TX Ready: GPIO24
Reset: GPIO23
Timepulse: GPIO18
If no HAT is detected (no matching device-tree entry), it prints No GNSS HAT detected (device-tree entry not found). and exits with a non-zero status — useful as a quick hardware sanity check before starting any service.
With --live, the tool additionally opens the detected communication interface (SPI or UART, auto-selected from the EEPROM COMM_INTERFACE field unless overridden with --spi/--uart) and polls the receiver for UBX-MON-VER:
gnsshat-probe --live
Firmware:
Software: EXT CORE 1.00 (3fda8e)
Hardware: 00190000
FWVER=HPG 1.32
PROTVER=27.31
MOD=NEO-F9P
GPS;GLO;GAL;BDS
SBAS;QZSS
This is the fastest way to confirm the exact receiver module and firmware/protocol version without writing any code, e.g. before filing a support request or checking compatibility with a given RTCM3 message set.
Note--liveopens the SPI/UART device directly. Don’t run it while another process (such as the RTK Base Station service or your own application) is already using the same interface.