@hernzum/signalk-rock4c-bme280
v1.3.3
Published
Signal K plugin for BME280/BMP280 on Radxa ROCK 4C+ (ARM64)
Maintainers
Readme
@hernzum/signalk-rock4c-bme280
🌡️⚓ Signal K server plugin for reading BME280/BMP280 environmental sensors via I2C on Radxa ROCK 4C+ (ARM64).
Designed for marine environments, this plugin provides stable, accurate temperature, pressure, and humidity readings directly into the Signal K data bus. It publishes data in standard SI units with gauge metadata, ensuring seamless compatibility with Kip, InstrumentPanel, and other Signal K frontends.
✨ FEATURES
- ARM64 & Node.js 22 Optimized: Safe byte-by-byte I2C reads to prevent native module crashes
- Official Bosch Compensation: High-precision floating-point formulas for T, P, H
- Signal K Compliant: Publishes in Kelvin, Pascals, and ratio 0-1 with embedded gauge metadata
- Marine-Grade Filtering: Built-in moving average to dampen vibration and sea-state noise
- Dual Sensor Support: Auto-detects and configures BME280 or BMP280
- Zero-Config Defaults: Works out-of-the-box with standard 40-pin GPIO wiring
📦 INSTALLATION Complete hardware setup, I2C activation, configuration, and troubleshooting instructions are provided in the INSTALL file.
Quick start (Node.js 22+ required): cd ~/.signalk npm install @hernzum/signalk-rock4c-bme280 cd node_modules/@hernzum/signalk-rock4c-bme280 npm rebuild i2c-bus --build-from-source sudo systemctl restart signalk
🙏 CREDITS & ATTRIBUTION This plugin is an ARM64/Radxa ROCK 4C+ adaptation of the original work by Jeremy Carter.
Original Repository: https://github.com/jncarter123/signalk-raspberry-pi-bme280
Key improvements added in this adaptation:
- Safe byte-wise I2C reads to prevent "Invalid buffer" crashes on modern ARM64 kernels
- Corrected Bosch floating-point compensation formulas for accurate pressure output
- Embedded Signal K gauge metadata for seamless frontend display (Kip/InstrumentPanel)
- Moving-average filtering optimized for marine vibration and sea-state noise
- Comprehensive hardware & OS-specific documentation for Radxa ROCK 4C+
Original work Copyright (c) Jeremy Carter Adaptation Copyright (c) 2026 Hernán
📜 LICENSE & LINKS License: MIT. See LICENSE file for details.
Links:
- npm Package: https://www.npmjs.com/package/@hernzum/signalk-rock4c-bme280
- Signal K Specification: https://signalk.org/specification/latest/
- BME280 Datasheet: https://www.bosch-sensortec.com/products/environmental-sensors/humidity-sensors/bme280/
- Radxa ROCK 4C+ Docs: https://wiki.radxa.com/Rock4/4c
Built for the open-source marine community. Happy sailing! 🌊🧭
