← Wiki · Component

BME280 (breakout)

Bosch's temperature, humidity and air-pressure sensor. Hobbyists usually use it on a small breakout board, connected over I²C with four wires.

What it does#

The BME280 adds barometric pressure (and so altitude changes) to temperature and humidity. The bare chip is a 2.5 × 2.5 mm LGA that is hard to hand-solder and is not in the bundled library, so this page wires the common breakout board: a little PCB with the sensor, often a 3.3 V regulator, and pull-ups, with four pins: VIN, GND, SCL, SDA.

Example circuit: A 4-pin socket for the breakout (check your board's pin order!), plus I²C pull-ups and 100 nF on the host side.
A 4-pin socket for the breakout (check your board's pin order!), plus I²C pull-ups and 100 nF on the host side. Open the bme280_breakout example from this page in PCB Canvas: “Insert into my schematic”.

Details#

  • I²C address: 0x76 or 0x77, set by the SDO pin (many breakouts have a jumper or tie it one way).
  • Pull-ups: most breakouts already have them (often 10 kΩ). Then the host-side resistors in the example can be left off (DNP).
  • BMP280 vs BME280: the BMP280 lacks humidity and is often sold as a BME280. Read the chip ID (0x60 for BME280, 0x58 for BMP280).

Pitfalls#

  • Pin order differs between breakouts. Always check the silkscreen of yours before wiring the socket.
  • Self-heating: like any humidity sensor, keep it away from warm parts.
  • The SHT40 is the easier part if you assemble at JLCPCB.

Footprint#

A 1×4 2.54 mm socket or header. The bare BME280 is not in the catalog.