Repository navigation
This release adds signed OTA bundles and local, host-side IMU calibration.
OTA upgrade notes
Breaking API change: update_firmware() and ota-update accept signed OTA ZIPs only. Raw BIN input and the version, sha256, and expected_model overrides have been removed. The SDK reads version and compatibility fields from verified metadata.
- Use
inspect_firmware_bundle()orota-inspectto verify signatures and display all metadata offline, including JSON output. - Supply an independently trusted PEM P-256 public key. The SDK checks signature, payload digest, size, encryption header, model, board and allowed starting versions before transmitting the inner OTA data.
- Test-profile bundles require explicit opt-in. Reboot and full running-version verification are still required before an update succeeds.
openzilo ota-inspect firmware.ota.zip --public-key trusted-signing-public.pem --json
openzilo ota-update firmware.ota.zip --public-key trusted-signing-public.pemThe existing firmware OTA wire protocol is unchanged. Device-side decryption-key matching and rollback enforcement remain device checks.
Local IMU calibration
- Add six-face accelerometer calibration, stationary gyroscope bias fitting and independent validation.
- Save validated profiles locally, bound to the device, exact firmware version, model and sensor ranges.
- Add
imu-calibrate accel,quick,full,show, andreset. - Add explicit calibrated streams in g and deg/s while preserving default raw streaming.
- Calibration is computed and applied on the host; parameters are not written to the ring. Supported IMU contracts work without a new firmware image.
openzilo imu-calibrate accel
openzilo imu-calibrate quick
openzilo sensor-stream --calibrated --seconds 10cryptography>=43 is now a required dependency.
Installation
uv add git+https://github.com/ziloai/OpenZilo.git --tag v0.6.2
uvx --from "git+https://github.com/ziloai/OpenZilo.git@v0.6.2" openzilo --versionInstall the pcm extra when live PCM decoding is needed. Download assets include the Python wheel, source distribution and SHA-256 checksums.
Documentation and validation
- English documentation
- Changelog
- Python 3.10-3.13 CI, 198 local tests, isolated wheel installation and offline OTA signature verification were checked.
- Documentation links, anchors, language routing and publishing checks passed locally.
Device-specific OTA installation and calibration accuracy were not newly validated on hardware for this release. This SDK release contains no firmware images or production keys.