#embedded-hal #bmp180 #i2c #pressure-sensor #i2c-bus #async-trait #no-std

no-std bmp180-embedded-hal

A platform agnostic driver to interface with the BMP180 barometric pressure sensor

1 unstable release

0.1.0 May 12, 2024

#667 in Hardware support


731 lines


A platform agnostic driver to interface with the BMP180 (pressure sensor) using the embedded-hal and embedded-hal-async traits.


The following features are available:

  • blocking: enables blocking functionality.
  • async: enables asynchronous functionality.
  • log: enables debug logging using the log crate.
  • defmt: enables debug logging using the defmt crate.
  • impl-debug: implements core::fmt::Debug for structs and enums.
  • impl-defmt-format: implements defmt::Format for structs and enums.
  • fuzz: enables the fuzz module for fuzz testing.
  • disable-arithmetic-checks: disables arithmetic checks.
  • i-know-what-i-am-doing: allows you to split an initialized device into its parts and put it back together. Useful when you want to release the I2C bus and use it for something else. This is not recommended though, you can use embedded-hal-bus or embassy-embedded-hal to share the I2C bus.


See examples directory.


Licensed under either of


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~13K SLoC