Sensors

BME680

Environmental sensor with gas resistance measurement for indoor air quality experiments.

Bosch SensortecActiveModerate

Best For

Projects needing Gas and Pressure with a commonly available sensors part.

Avoid If

You need production-grade certainty without checking the exact module vendor, pinout, and library maintenance status.

Quick Decision Notes

BME680 is indexed as a sensors part from Bosch Sensortec. ChipScout tracks it by practical maker-facing dimensions: interfaces, library readiness, estimated price, field-level sources, and whether the page is strong enough for selection rather than only lookup.

Technical Specifications

MeasurementTemperature + humidity + pressure + gasSource: Bosch Sensortec
InterfaceI2C / SPISource: Bosch Sensortec
Gas SensorVOC resistanceSource: Bosch Sensortec
Working Voltage1.71V - 3.6VSource: Bosch Sensortec

Common Use Cases

  • Maker prototypes
  • Low-cost modules
  • Educational hardware

Known Issues

  • Breakout boards may use different pin labels or regulator choices
  • Clone modules can differ from the original datasheet part

Interfaces and Library Support

Interfaces
I2CSPI
Wireless
None
Voltage
3.3V
Libraries
Arduino verifiedMicroPython verified
Data Integrity88% confidence
Sourcehttps://www.bosch-sensortec.com/
Last verified2026-05-20
Core specsVerified
PinoutAvailable
Library supportChecked
Price rangePresent
Found a wrong spec?

Every field is meant to be source-backed. Corrections should include a datasheet URL, vendor page, module photo, or reproducible library test.

Submit correction

Source Resources

Pinout Table

VCC3.3VPower the module from a rail that matches the breakout board, not just the bare IC.
GNDCommon groundConnect ground between the controller, sensor/module, and external power supply.
SDAMCU I2C dataUse pull-ups appropriate for the board voltage; many modules already include them.
SCLMCU I2C clockKeep wiring short for breadboard prototypes and lower bus speed if unstable.
SCKMCU SPI clockShare with other SPI devices when chip select lines are separate.
MOSIMCU SPI data outRequired for most displays, radios, and writable devices.
MISOMCU SPI data inMay be optional for write-only displays.
CSAny free GPIOUse one chip-select pin per SPI peripheral.

Pinout is not yet source-verified. Use the table as an integration checklist, then confirm exact pins against the module vendor page before wiring hardware.

Common Wiring

VCC

Power the module from a rail that matches the breakout board, not just the bare IC.

GND

Connect ground between the controller, sensor/module, and external power supply.

SDA

Use pull-ups appropriate for the board voltage; many modules already include them.

SCL

Keep wiring short for breadboard prototypes and lower bus speed if unstable.

Arduino Example

#include <Wire.h>

void setup() {
  Serial.begin(115200);
  Wire.begin();
  Serial.println("BME680 I2C wiring smoke test");
}

void loop() {
  // Replace this with the maintained BME680 library call.
  Serial.println("Check BME680 on the I2C bus, then read a sample.");
  delay(1000);
}

MicroPython Example

from machine import Pin, I2C
import time

i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=100000)
print("BME680 I2C devices:", i2c.scan())

while True:
    # Replace with the maintained BME680 driver call.
    print("read BME680 sample")
    time.sleep(1)

Recommended Development Boards

ESP32-C3 development board

Low-cost Wi-Fi/BLE board with enough interfaces for most sensors and modules.

Arduino Uno R4 / compatible

Good baseline for beginner wiring and library validation.

Raspberry Pi Pico W

Practical MicroPython target for I2C, SPI, UART, PWM, and ADC experiments.

Alternative Model Reasons

ACS712SensorsCompare this option when price or module availability is the deciding constraint.
ADXL345SensorsCompare this option when price or module availability is the deciding constraint.
AHT10SensorsCompare this option when price or module availability is the deciding constraint.
AHT20SensorsCompare this option when price or module availability is the deciding constraint.

Common Questions

What is BME680 best used for?

Projects needing Gas and Pressure with a commonly available sensors part.

Does BME680 support Arduino or MicroPython?

BME680 has verified Arduino support and verified MicroPython support.

What interfaces does BME680 use?

BME680 lists I2C, SPI; wireless support is no wireless protocol.

Compare BME680 vs ACS712

Alternatives and Related Parts