
ALB BMP280 Breakout - Barometer Sensor Breakout
Overview
The BMP280 is an absolute barometric pressure sensor especially designed for mobile applications. The BMP280 is based on Bosch's proven Piezo-resistive pressure sensor technology featuring high EMC robustness, high accuracy and linearity and long term stability. The BMP280 operates at lower noise, supports new filter modes and an SPI interface.


Features
- Pressure Operation range: 300 - 1100 hPa
- Supply voltage VDDIO 1.2 - 3.6V, VDD 1.71 - 3.6V
- I2C and SPI interface
- Ultra-low power mode with average current 2.74uA
- Resolution of data: Pressure: 0.18Pa
- Available with Altitude Content Provider ACP2.0 Software
Specifications
- BMP280 - An absolute barometric pressure sensor
- Headers for I2C/SPI Interface
- Solder Pad for Interface, Device Address and so on.
- Qwiic connector x 2, easy to debug & use
- Dimension: 28 x 18 x 5 mm
Hardware

Pin | Description | Note |
---|---|---|
VDD | Power supply voltage: 1.7-3.6V | |
GND | Ground | |
SCL/SCK | I2C interface Clock bus or SPI interface Clock bus | Had external pull-up resistor 4K7 |
SDA/SDI | I2C interface Data bus or SPI Data in | Had external pull-up resistor 4K7 |
SDO | SPI Data Out | |
CSB | SPI Chip Select |
Default I2C interface 7 bit device address: 0x77
User Guide
It is the best choice to develop embedded drivers with embedded rust. Because the driver can be used with MCU like ESP32, also used with ARM64 Linux Application, for example raspberry pi directly.
You can download the bmp280 rust driver with git, also add your rust project with cargo - cargo add bmp280
.
The examples as below use the first one.
https://github.com/lily-mara/bmp280
Examples
Simple Read BMP280 Pressure Data
This example will simply read bmp280 barometric pressure Sensor Data & Temperature
use bmp280::Bmp280Builder;
fn main() {
let mut dev = Bmp280Builder::new()
.path("/dev/i2c-3")
.address(0x77)
.build()
.expect("Failed to build device");
dev.zero().expect("failed to zero");
loop {
println!("{:?} kPa", dev.pressure_kpa().unwrap());
println!("{:?} m", dev.altitude_m().unwrap());
println!("{:?} c", dev.temperature_celsius().unwrap());
std::thread::sleep(std::time::Duration::from_millis(250));
}
}
/dev/i2c-3
is a i2c controller of rpi.- The BMP280's I2C Device address is 0x77. So we use
new
function to create a instance. pressure_kpa
function will get the pressure sensor dataaltitude_m
function will get the altitude datatemperature_celsius
function will get the temperature
Use the command as below to build and run the app.
cargo build --target aarch64-unknown-linux-gnu -- example simple
scp -r ./target/aarch64-unknown-linux-gnu/debug/example/simple rpi@192.168.6.77:
After login the RPI with SSH, we can execute the app directly.
sudo ./simple
The terminal will print the accelerator & gyro, temperature.
Buy it Now
Resources
Documents
Codes
3D Drawing
TBD
FAQ
TBD