BMP180 — i2c address & wiring
Bosch's older barometric pressure and temperature sensor — still on countless modules.
Key facts
BMP180 at a glance
| i2c address | 0x77 fixed address |
|---|---|
| Logic voltage | 1.8–3.6 V |
| Type | sensor |
| Part | Bosch BMP180 |
| Ships with | Grove |
| Datasheet | Bosch BMP180 — manufacturer documentation ↗ |
The chip
What the Bosch BMP180 actually is
Digital barometric pressure sensor with an on-chip temperature sensor, used for weather readings and altitude estimation. The host reads raw pressure and temperature and corrects them with factory calibration coefficients stored in the chip's E²PROM; an oversampling setting trades conversion time for resolution.
Watch out: The address is fixed at 0x77 — no pin to move it. That's one of the two BME280/BMP280 addresses, so a BMP180 and a BME280 at 0x77 collide; move the newer sensor to 0x76. Datasheets also quote it as 0xEE/0xEF — those are just the 8-bit write and read forms of the same 0x77.
Wiring
How to connect the BMP180
The BMP180 talks i2c at address 0x77. It runs at 1.8–3.6 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.
The address is fixed, so two BMP180s can't share a bus directly — the address-conflict guide covers the workarounds (multiplexer, second bus).
Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scanner first; if the bus is silent, the 7-step checklist finds it faster than guessing.
Ecosystems
Plug-together options for the BMP180
BMP180 breakouts ship with Grove — keyed 4-pin cables carrying power, ground, SDA and SCL, so there's nothing to solder and nothing to wire backwards. Chain it to the next board and keep going.
Running a mixed bench? Those ecosystems interoperate more than their marketing suggests — see every connector pairing for the cable or adapter you need, or the standards overview for how they compare.
Alternatives
Other environmental boards
Watch the bus
Boards that clash with the BMP180
These want an address the BMP180 also answers (0x77), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.
Get one
Questions
BMP180 i2c FAQ
What is the BMP180's i2c address?
The BMP180 sits at a fixed address of 0x77. It can't be changed, so two of them can't share one bus without a multiplexer or a second bus.
What voltage does the BMP180 run at?
The chip runs from 1.8–3.6 V, so a bare BMP180 must never see 5 V. Many modules (Seeed's Grove board among them) add a regulator and accept 3.3 V or 5 V — check your module before wiring it to a 5 V Arduino.
Can I use two BMP180s on one i2c bus?
Not directly — every BMP180 answers to 0x77, so two on one bus would collide. Use a TCA9548A multiplexer to give each its own channel, or put the second one on a separate bus.
Does the BMP180 work with Grove?
Yes — BMP180 breakouts ship with Grove, so it plugs straight in with no soldering. Mixing ecosystems? The compatibility checker gives you the exact cable or adapter.
What should I watch out for with the BMP180?
The address is fixed at 0x77 — no pin to move it. That's one of the two BME280/BMP280 addresses, so a BMP180 and a BME280 at 0x77 collide; move the newer sensor to 0x76. Datasheets also quote it as 0xEE/0xEF — those are just the 8-bit write and read forms of the same 0x77.