Reference
BMP180
Barometric pressure and temperature.
- Connects over
- I²C
- Address
- 0x77
- Made by
- Bosch Sensortec
- Datasheet
- cdn-shop.adafruit.com
Use it
hardware {
device bmp180: BMP180
}
every 1s {
let value: float = bmp180.temperature()
log("bmp180", "temperature={value}")
}
On its own, the declaration puts the BMP180 on the first I²C bus (SDA 21, SCL 22 on the ESP32) at 0x77. To choose the pins or the address, declare the bus and attach the device: device bmp180: BMP180 on i2c0 at 0x77 with i2c i2c0(sda: 21, scl: 22).
Methods
-
bmp180.temperature() -> float
Temperature in °C
-
bmp180.pressure() -> float
Pressure in hPa
Wiring
| Pin | Connect to |
|---|---|
VCC | 3.3V or 5V |
GND | Ground |
SDA | Pull-up to VCC (often on breakout board) |
SCL | Pull-up to VCC |
Specifications
- Voltage
- 1.8V – 3.6V (most breakouts include a 5V regulator)
- Current
- 5 μA at 1 Hz
- Temp
- −40°C to +85°C ±2°C
- Pressure
- 300 – 1100 hPa ±0.12 hPa (≈ ±1 m altitude)
Tips
- Older sensor — has been replaced by BMP280/BME280 in new designs.
- Address is fixed at 0x77 — can't have two on one bus without a multiplexer.
- No humidity — pair with HTU21D / AHT20 if you need it.
Alternatives worth knowing:
- BMP280: Newer, lower power, smaller. Same role.
- BME280: Same as BMP280 + humidity in one chip.