🎉  Happy 13th Birthday Raspberry Pi!   🎂   1,000+ deals in store!   🥳
🎉  Happy 13th Birthday Raspberry Pi!   🎂   1,000+ deals in store!   🥳

BME680 Breakout - Air Quality, Temperature, Pressure, Humidity Sensor

by Pimoroni

The state-of-the-art BME680 breakout lets you measure temperature, pressure, humidity, and indoor air quality, and is Raspberry Pi and Arduino-compatible!

Use this breakout to monitor every aspect of your indoor environment. Its gas resistance readings will react to changes in volatile organic compounds and can be combined with humidity readings to give a measure of indoor air quality.

Want to get an idea of whether there's adequate ventilation in your bedroom, your workshop, or workplace? Set up a BME680 on a Pi Zero W and have it log sensor readings to a file, or stream live data to a web service like adafruit.io or freeboard.io.

This breakout is compatible with our fancy Breakout Garden system, where using breakouts is as easy just popping it into one of the slots and starting to grow your project, create, and code. It's also Qw/ST compatible so it can be plugged into a whole range of different microcontrollers and HATs with Qwiic or STEMMA QT connectors.

Features

  • Bosch BME680 temperature, pressure, humidity, air quality sensor (datasheet)
  • I2C interface, with address select via ADDR solder bridge (0x76 or 0x77)
  • Qwiic/STEMMA QT connector (on boards manufactured from November 2021 onwards)
  • 3.3V or 5V compatible
  • Reverse polarity protection
  • 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).

Kit includes

  • BME680 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

As well as the C library provided by Bosch, we've put together a Python library (with a quick and painless one-line-installer) to use with your BME680, making it straightforward to combine it with our other boards (why not use a Blinkt! or Unicorn pHAT to visualise air quality in real time?)

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

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 solder pads (marked ADDR) can be bridged 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, BME68X, 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 solder bridge/pads.
  • Dimensions: 19x19x2.75mm (LxWxH)

91 customer reviews

a year ago
GREAT sensor. The code is a bit confusing to me honestly but its a powerful device so that's expected. There are plenty of examples out there that have got me going and getting accurate results. Love these guys, would love to see the next generation (past 688) in terms of accuracy and capabilities with STEMMA if that ever is in the road map! I'll buy a bunch I know that! Especially around the Air Quality Inidcation (AQI) that seems to be very tricky to get right and I have seen many struggle with that. That's probably more on the chip maker than you guys to simplify. I personally would like to see something that maybe replaces the pressure portion with something more useful to me, say fire indication or something I don't know. Honestly I dont care about the pressure, I dont even code it as an output most of the time. But this is just one guy giving his thoughts. Love the product! Cheers.
by Federico about BME680 Breakout - Air Quality, Temperature, Pressure, Humidity Sensor via REVIEWS.io
2 years ago
Having used the BME280 for a couple of projects, I thought I'd try a 680, noting that I'd coded the BME280 the hard way and not used the Arduino libraries. I gave in and used the AdaFruit libraries for the 680. So easy to integrate with an ESP8266 Node D1 (12F, AZ-Delivery) WiFi module. Air quality is the most interesting with this sensor, although all you measure is sensor resistance based on VoC content (constant heater temperature and duration). I have connected one device to the Arduino IoT Cloud (15 day history subscription) and the graphs from the living room are quite interesting, for me anyway. One take-away (pun) is that meals have a significant effect.
by Douglas about BME680 Breakout - Air Quality, Temperature, Pressure, Humidity Sensor via REVIEWS.io
4 years ago
I have two, they both work perfectly. I have one indoors and one outdoors so I can track all readings. It is worth noting that the address-changing pad on the rear need to be cut with a sharp knife rather than bridged with solder, because it is already bridged with a thin bit of copper on the PCB. The Air quality reading would really need a proprietary algorithm that bosch own (and don't share) to make the best use of it, but that said you can easily make your own algorithm, although it won't be the same obviously.
by Emily about BME680 Breakout - Air Quality, Temperature, Pressure, Humidity Sensor via REVIEWS.io
5 years ago
Nice compact sensor only issue I had was changing the address. I bridges the pads and nothing changed I then had to de-solder the pads and after cartful examination found I needed to cut a hair thin track between the pads, but it is now working with the enviro+ on the end of 2m of cat5.
by Christopher about BME680 Breakout - Air Quality, Temperature, Pressure, Humidity Sensor via REVIEWS.io

2 user photos