rpi-cxd56xx-gnss
pip install rpi-cxd56xx-gnss
English | 日本語
Sony CXD56xx GNSS receivers on Raspberry Pi: a Linux I2C driver, Python bindings
and a command-line reader. Read position, altitude, speed, heading, satellite
data and UTC time with the CXD56xx class or cxd56xx-gnss command.
The installed Python API and CLI support I2C only.
Requires Linux, Python 3.13+ and libgpiod 2.0+. Packages are built from source on the target system; Raspberry Pi OS Trixie or later is recommended.
Quick start
Follow the hardware setup to connect SDA, SCL and IRQIN through 1.8 V level shifting, enable I2C at 400 kHz, and grant I2C/GPIO access.
sudo apt install build-essential python3-dev python3-venv libgpiod-dev gpiod
python3 -m venv .venv
. .venv/bin/activate
CXD56XX_GPIO_CHIP=/dev/gpiochip0 python -m pip install --no-cache-dir rpi-cxd56xx-gnss
cxd56xx-gnss
Replace /dev/gpiochip0 with the chip containing your interrupt GPIO, identified
using gpiodetect and gpioinfo. The default is /dev/gpiochip4, line offset
17. The chip is selected at build time; changing it requires reinstalling.
Press Ctrl+C to stop the reader.
Tested I2C hardware
| Board | Chip | Bands | Validation |
|---|---|---|---|
| Spresense GNSS Add-on Board | CXD5610GF | L1 + L5 | 3D fix confirmed on Pi Zero 2 W |
CXD5605 I2C compatibility is unverified.
Standalone UART example
The repository includes a separate pySerial UART example
for startup commands, band selection and raw NMEA output. It is not installed
by pip and does not use the CXD56xx API.
UART connections have been tested with these boards:
| Board | Chip | Bands |
|---|---|---|
| REYAX RYS8833_Lite | CXD5605AGF | L1 |
| REYAX RYS8839_Lite | CXD5610GF | L1 + L5 |
Additional tools
Run these tools from a repository checkout or unpacked source distribution; they are not installed as pip commands.
- Timed I2C observation records communication, fixes and update intervals separately.
- RTCM recording collects and checks I2C observations, with an optional
screenlauncher. - Firmware update validates an externally obtained v144 package offline and provides an explicit I2C write mode for the Spresense GNSS Add-on Board. The separate RYS8839 UART updater is experimental; firmware compatibility is unverified.
Documentation
- Setup — wiring diagrams, pin mapping, I2C clock and GPIO settings.
- Python and C API — examples, properties and building from a checkout.
- UART example — standalone pySerial usage, startup commands and band selection.
- Releasing — GitHub, TestPyPI and PyPI publishing.
License and origin
Apache License 2.0. Extracted from Pi Zero Bikecomputer into a standalone library, which the original application now uses as an external package. Includes code adapted from Apache NuttX; see NOTICE and THIRD_PARTY.md. This is an independent project, unaffiliated with Sony or the Apache Software Foundation.
Metadata
Release files for rpi-cxd56xx-gnss 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rpi_cxd56xx_gnss-0.1.1.tar.gz | 254.2 kB | Details |
Release files / rpi_cxd56xx_gnss-0.1.1.tar.gz
| Download URL | rpi_cxd56xx_gnss-0.1.1.tar.gz |
|---|---|
| Size | 254.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fed65a0a5e70c660da8bafbf0dd15ebc02ef032fbb89c49e1cc12e273fc4e483
|
|
BLAKE2b-256 checksum How to use checksums |
3ed45bd8119cc0b9fdb0754d2220a0e829a3d68d3a000e08665e61d8707e14f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency log