BME280 Breakout - Temperature, Pressure, Humidity Sensor

by Pimoroni

A really nice environmental sensor that's ideal for indoor monitoring of temperature, pressure, and humidity, or even outdoors in a suitable enclosure. It's Raspberry Pi and Arduino-compatible.

We use this sensor on our Enviro+ environmental monitoring board, but it's such a nice sensor that we thought we'd pop it onto a breakout! The BME280 is a great sensor for monitoring conditions around your home. If you're an iOS user, then there's a Homebridge plugin for the BME280 to let you use the sensor for home automation and monitoring.

This breakout is compatible with our fancy Breakout Garden system, where using breakouts is as easy just popping it into one of the six slots and starting to grow your project, create, and code. BME280 breakouts manufactured after April 2022 are also Qw/ST compatible so you can use them with a whole host of different microcontrollers and HATs with Qwiic or STEMMA QT connectors.

Features

  • Bosch BME280 temperature, pressure, humidity sensor (datasheet)
  • I2C interface, with address select via cuttable ADDR trace (0x76 or 0x77)
  • Qwiic/STEMMA QT connector
  • 3.3V or 5V compatible
  • Reverse polarity protection (on Breakout Garden connector)
  • Raspberry Pi-compatible pinout (pins 1, 3, 5, 7, 9)
  • Compatible with Arduino
  • Compatible with Raspberry Pi (Python library)
  • Compatible with Raspberry Pi Pico (C++/MicroPython libraries)
  • Schematic

Kit includes

  • BME280 breakout
  • 1x5 male header
  • 1x5 female right angle header

We've designed this breakout board so that you can solder on the piece of right angle female header and pop it straight onto the bottom left 5 pins on your Raspberry Pi's GPIO header (pins 1, 3, 5, 7, 9). The right angle header also has the advantage of positioning the breakout away from the Pi's CPU so as to minimise radiated heat.

Software

We've put together a Python library for using the BME280 sensor with a Raspberry Pi, with handy functions to read all of the values, and a few nice little examples.

You can also use this breakout with Raspberry Pi Pico and other RP2040 boards, using C++ or Pirate brand MicroPython or CircuitPython.

Notes

  • In our testing, we've found that the sensor requires some burn-in time (at least 20 minutes) and that readings may take a couple of minutes to stabilise after beginning measurements
  • The trace on the back (marked ADDR) can be cut to change the I2C address from the default of 0x76 to 0x77, meaning that you can use up to two sensors on the same Raspberry Pi or Arduino.
  • The BME280, BME680, and BMP280 breakouts all share the same I2C addresses, so if you're using two together then you'll need to change the I2C address on one of them using the cuttable trace.
  • Dimensions: 19x19x4.7mm (LxWxH, including connectors)