BMP180 Barometric Pressure Sensor
Barometric pressure and temperature sensor with excellent library support — a weather station staple.
Wiring & code for
BMP180 practical reference
An earlier-generation barometric pressure sensor, still widely used in altimeter and weather-station projects thanks to abundant library support. The BMP180 measures atmospheric pressure and temperature over I2C, and because pressure decreases predictably with altitude, its readings can be converted into a fairly accurate relative-altitude estimate — a long-standing staple for DIY weather stations, altitude-hold drone code, and any project needing a simple 'how high up am I' or 'is the weather changing' reading.
Key specifications
- Sensor type: Bosch BMP180 barometric pressure and temperature sensor
- Operating voltage: 1.8V–3.6V DC (breakout boards regulate from 3.3-5V input)
- Operating current: ~5 µA at 1 sample/second in standard mode
- Pressure range: 300 hPa to 1100 hPa (equivalent to roughly 9000m below to 500m above sea level)
- Pressure resolution: 0.01 hPa in ultra-high-resolution mode (roughly ~0.1m altitude resolution)
- Temperature accuracy: ±2°C typical
- Interface: I2C, up to 3.4MHz
- I2C address: 0x77 (fixed)
Pinout and connection notes
Add standard 4.7kΩ pull-up resistors on SDA/SCL if not already present on the breakout board. Because altitude is calculated from relative pressure, calibrate against a known local sea-level pressure reading (or a recent baseline reading at a known altitude) for meaningful absolute altitude results, since raw pressure alone only gives relative changes.
- VIN: Power, 3.3–5V DC depending on breakout regulator
- GND: Ground
- SCL: I2C clock line
- SDA: I2C data line
Integration checklist
- Confirm the exact part number and breakout-board revision.
- Verify supply voltage, current demand, logic levels, and signal direction against the datasheet.
- Check controller pin assignments and bus address or interface mode against the example code.
- Power up with external loads disconnected, then test signals before full integration.
- If readings or communication fail, check power and ground first, then pin mapping, interface settings, and library initialization.
Troubleshooting and reproducibility
Record the board used, wiring, library/version, supply arrangement, and measured behavior. Use the selected board-specific wiring example as the source of truth. Never assume visually similar modules share identical voltage tolerance or pin order.