ms5607-rs

Crates.ioms5607-rs
lib.rsms5607-rs
version0.1.1
created_at2026-01-09 13:18:01.50986+00
updated_at2026-01-09 14:29:18.484475+00
descriptionno_std driver for the MS5607 barometric pressure sensor
homepage
repositoryhttps://github.com/Rechenmaschine/ms56xx
max_upload_size
id2032056
size15,979
Louis Schell (Rechenmaschine)

documentation

https://docs.rs/ms5607-rs

README

ms5607-rs

CI Docs.rs Crates.io

no_std driver for the TE Connectivity MS5607 barometric pressure sensor.

  • Supports both I2C and SPI interfaces
  • Async and blocking APIs via embedded-hal traits
  • Second-order temperature compensation
  • CRC validation of calibration data

This driver is actively used in several projects at https://github.com/aris-space and is deployed on flight hardware.

Usage

Add this to your Cargo.toml:

[dependencies]
ms5607-rs = "0.1"

Example

use ms5607_rs::{Ms5607, Oversampling};

// I2C (CSB pin high = address 0x76)
let mut sensor = Ms5607::new_i2c(i2c, true);

// Or SPI
let mut sensor = Ms5607::new_spi(spi);

// Initialize and measure (async)
sensor.init(&mut delay).await?;
let measurement = sensor.measure(Oversampling::Osr2048, &mut delay).await?;

// Or use blocking API
sensor.init_blocking(&mut delay)?;
let measurement = sensor.measure_blocking(Oversampling::Osr2048, &mut delay)?;

println!("Pressure: {} mbar, Temp: {} °C",
    measurement.pressure_mbar, measurement.temperature_c);

Cargo Features

  • defmt-03: Enables defmt::Format for all public types

Related Crates

License

MIT or Apache-2.0 license, at your option.

Commit count: 5

cargo fmt