Home BME680 Sensor Board | Temperature Humidity Pressure Air Quality

BME680 Sensor Board | Temperature Humidity Pressure Air Quality

SKU: TB-BME680
Sale price 10,40 €
incl. VAT
excl. VAT
Checking inventory…

Need a larger quantity?

Need bulk pricing?

Get a formal quotation with lead time and volume pricing.

Request for Quote

For universities, companies, distributors, and project orders.

Add to Wishlist
BME680 Sensor Board | Temperature Humidity Pressure Air Quality

BME680 Sensor Board | Temperature Humidity Pressure Air Quality

10,40 €

BME680 Sensor Board - Temperature, Humidity, Pressure, and Air Quality Monitoring for IoT Projects

The BME680 sensor board is a compact environmental sensing module based on the Bosch BME680, combining temperature, relative humidity, barometric pressure, and gas/VOC sensing in one small breakout. It is well suited for indoor air-quality experiments, weather-station prototypes, HVAC monitoring, smart-home dashboards, classroom IoT labs, and portable environmental data loggers.

Compared with basic temperature and humidity modules, the BME680 adds a gas sensor that can be used to estimate indoor air-quality trends when paired with suitable software libraries. The board works naturally with microcontroller platforms such as the ELAB Nano V3, compact MicroPython hosts like the Raspberry Pi Pico W, and breadboard prototypes built around an MB 102 Breadboard Kit. For projects focused specifically on gas detection, it can also complement sensors such as the Waveshare MQ-135 Gas Sensor.

The current OpenELAB listing identifies this board as a CJMCU-680 BME680 sensor board with a pin header included. For exact sensor-level limits, calibration behavior, and measurement modes, refer to the official Bosch BME680 datasheet. In practical designs, use the board with a compatible I2C or SPI host, keep the sensing opening exposed to airflow, and allow warm-up time when evaluating gas and air-quality readings.

Technical Specifications

Parameter Value
SKU TB-BME680
Model CJMCU-680 BME680 sensor board
Sensor IC Bosch BME680
Measured Parameters Temperature, relative humidity, barometric pressure, gas/VOC trend
Digital Interfaces I2C and SPI supported by BME680 sensor IC
Sensor Supply Range 1.71V-3.6V at sensor IC level; confirm breakout-board supply pins before wiring
Temperature Range -40C to +85C
Humidity Range 0% RH to 100% RH
Pressure Range 300hPa to 1100hPa
Gas Sensor Metal-oxide gas sensor for VOC/air-quality trend estimation
Typical I2C Addresses 0x76 or 0x77, depending on board configuration
Current Listing Weight Approx. 5g
Included Accessory Pin header
Software Support Arduino, CircuitPython, MicroPython, Raspberry Pi Python libraries
Typical Applications IoT air-quality nodes, weather stations, smart-home monitoring, altitude estimation

Board Layout & Label Guide

  • VIN / VCC - Power input for the breakout board. Confirm the exact board labeling and supported voltage before connecting.
  • GND - Ground reference shared with the host microcontroller or single-board computer.
  • SCL / SCK - I2C clock line, or SPI clock line when the board is used in SPI mode.
  • SDA / SDI - I2C data line, or SPI data input depending on the selected communication mode.
  • SDO - SPI data output, and often also used to select the I2C address on BME680 breakout boards.
  • CS - SPI chip-select pin. Leave or strap according to the breakout-board design when using I2C.
  • BME680 Package - Main sensing IC; keep this area exposed to ambient air for better humidity and gas-response behavior.
  • Pin Header - The listing includes a pin header for breadboard or soldered integration.
  • Airflow Note - Avoid enclosing the sensor tightly beside heat sources, regulators, or high-current devices.
  • Logic-Level Note - Use pull-ups and signal levels that match both the breakout and the host controller.

Application Scenarios

1. Arduino Environmental Readout over I2C

This Arduino example uses the Adafruit BME680 library to print temperature, humidity, pressure, and gas-resistance readings to the serial monitor.

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>

Adafruit_BME680 bme;

void setup() {
  Serial.begin(115200);
  while (!Serial) {}

  if (!bme.begin(0x76)) {
    Serial.println("BME680 not found. Check wiring and I2C address.");
    while (1) delay(10);
  }

  bme.setTemperatureOversampling(BME680_OS_8X);
  bme.setHumidityOversampling(BME680_OS_2X);
  bme.setPressureOversampling(BME680_OS_4X);
  bme.setGasHeater(320, 150);
}

void loop() {
  if (!bme.performReading()) {
    Serial.println("Reading failed");
    return;
  }

  Serial.print("Temp C: ");
  Serial.println(bme.temperature);
  Serial.print("Humidity %: ");
  Serial.println(bme.humidity);
  Serial.print("Pressure hPa: ");
  Serial.println(bme.pressure / 100.0);
  Serial.print("Gas KOhms: ");
  Serial.println(bme.gas_resistance / 1000.0);
  delay(2000);
}

2. Raspberry Pi Python Air-Quality Logger

This Python script records readings to a CSV file on a Raspberry Pi or Linux SBC using the Adafruit CircuitPython BME680 library.

import time
import board
import adafruit_bme680

sensor = adafruit_bme680.Adafruit_BME680_I2C(board.I2C(), address=0x76)

with open("bme680_log.csv", "a", encoding="utf-8") as log:
    while True:
        line = (
            f"{time.time():.0f},"
            f"{sensor.temperature:.2f},"
            f"{sensor.relative_humidity:.2f},"
            f"{sensor.pressure:.2f},"
            f"{sensor.gas}\n"
        )
        log.write(line)
        log.flush()
        print(line.strip())
        time.sleep(60)

3. MicroPython I2C Address Scanner

Before writing a full sensor application, this MicroPython snippet helps confirm whether the BME680 board appears at 0x76 or 0x77.

from machine import Pin, I2C

i2c = I2C(0, scl=Pin(17), sda=Pin(16), freq=400000)
devices = i2c.scan()

print("I2C devices:")
for address in devices:
    print(hex(address))

4. Simple Comfort Alert with Arduino

Use the BME680 as a local room-monitoring sensor and trigger an alert LED when humidity rises above a chosen threshold.

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>

Adafruit_BME680 bme;
const int alertLed = 13;

void setup() {
  pinMode(alertLed, OUTPUT);
  Serial.begin(115200);

  if (!bme.begin(0x76)) {
    while (1) {}
  }
}

void loop() {
  if (bme.performReading()) {
    digitalWrite(alertLed, bme.humidity > 70.0 ? HIGH : LOW);
    Serial.println(bme.humidity);
  }
  delay(2000);
}

5. Altitude Estimation from Pressure

This Arduino example calculates approximate altitude from pressure, useful for basic weather-station and indoor floor-change experiments.

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>

Adafruit_BME680 bme;
const float seaLevelPressure = 1013.25;

void setup() {
  Serial.begin(115200);
  if (!bme.begin(0x76)) {
    while (1) {}
  }
}

void loop() {
  if (bme.performReading()) {
    float altitude = bme.readAltitude(seaLevelPressure);
    Serial.print("Approx altitude m: ");
    Serial.println(altitude);
  }
  delay(3000);
}

6. MQTT Environmental Node Concept

For IoT dashboards, the BME680 can feed temperature, humidity, pressure, and gas data to an MQTT broker from a Python-capable host.

import json
import time
import board
import adafruit_bme680
import paho.mqtt.client as mqtt

sensor = adafruit_bme680.Adafruit_BME680_I2C(board.I2C(), address=0x76)
client = mqtt.Client()
client.connect("192.168.1.10", 1883, 60)

while True:
    payload = {
        "temperature": round(sensor.temperature, 2),
        "humidity": round(sensor.relative_humidity, 2),
        "pressure": round(sensor.pressure, 2),
        "gas": sensor.gas,
    }
    client.publish("lab/bme680", json.dumps(payload))
    time.sleep(30)

Packing List

  • 1 x BME680 Sensor Board
  • 1 x Pin Header

FAQ

Q: What does TB-BME680 measure?
A: It measures temperature, relative humidity, barometric pressure, and gas/VOC trends for environmental monitoring projects.

Q: Is the gas reading the same as a calibrated CO2 sensor?
A: No. The BME680 gas sensor is useful for VOC and air-quality trend estimation, but it is not a direct calibrated CO2 sensor.

Q: Which interface should I use?
A: I2C is usually the easiest option for Arduino, Raspberry Pi, and Pico projects, while SPI is useful when you need a dedicated bus or higher integration control.

Q: What I2C address should I try first?
A: Try 0x76 first, then 0x77 if the sensor is not detected. The actual address depends on the breakout configuration.

Q: Can I use it with a 5V Arduino?
A: Check the exact breakout-board power and logic-level design first. The BME680 sensor IC itself is a low-voltage device, so level compatibility matters.

Q: Why do gas readings change slowly after power-up?
A: Gas sensing requires heater operation and stabilization time, so readings often need warm-up and baseline tracking before they become meaningful.

Q: Can this board estimate altitude?
A: Yes. Altitude can be estimated from barometric pressure when you provide an appropriate sea-level pressure reference.

Q: What should I check if the board is not detected?
A: Verify VCC, GND, SDA, SCL, pull-ups, I2C address, library installation, and whether the host GPIO voltage is compatible with the breakout.

1. General Shipping Information

  • We provide reliable shipping services with a tracking number for each order.
  • Shipping addresses must be entered in English and should not contain special symbols, so that the courier system can recognize your location correctly.
  • Please make sure your shipping address is accurate before placing your order. We ship strictly according to the address provided at checkout.
  • In-stock orders are usually dispatched within 1 business day after order confirmation.
  • Estimated delivery times refer to the period after dispatch and do not include order processing time, weekends, public holidays, customs inspection, or force majeure delays.
  • If you need to cancel or modify your order, please contact us before the order is marked as “Shipped”. Once shipped, the order cannot be canceled or changed.

🚀 Need Faster Shipping?

If you require expedited shipping, please contact our customer support team at info@upenelab.com for a customized quote based on your destination.

2. Shipping Rates & Options

Shipping rates are calculated based on order value, destination, and available shipping methods. The final available options will be displayed at checkout.

2.1 Germany Domestic Shipping

Shipping Method Order Value Cost Est. Delivery
Deutsche Post €0.00 - €50.00 €4.95 2-4 Business Days
Deutsche Post Over €50.00 Free 2-4 Business Days
DHL Paket
(Faster Delivery)
€0.00 - €50.00 €6.95 1-3 Business Days
DHL Paket
(Faster Delivery)
€50.00 - €100.00 €2.00 1-3 Business Days
DHL Paket
(Faster Delivery)
Over €100.00 Free 1-3 Business Days

2.2 Selected EU Countries / Regions

Available EU shipping destinations are shown at checkout based on your shipping address. For orders shipped to selected EU countries or regions outside Germany, we use FedEx Regional Economy.

Shipping Method Order Value Cost Est. Delivery
FedEx Regional Economy €0.00 - €100.00 €7.95 3-5 Business Days
FedEx Regional Economy Over €100.00 Free 3-5 Business Days

EU orders may be fulfilled from our Munich warehouse or, when applicable, from our Shenzhen warehouse depending on inventory availability. For EU member states, OpenELAB covers applicable import duties and taxes under DDP service where required.

2.3 United States

Region Shipping Method Order Value Cost Est. Delivery
Continental U.S.
(50 States)
USPS Ground Advantage €0.00 - €45.00 €4.95 3-7 Business Days
USPS Ground Advantage Over €45.00 Free 3-7 Business Days
USPS Priority Mail €0.00 - €45.00 €16.95 1-4 Business Days
USPS Priority Mail Over €45.00 €14.95 1-4 Business Days
Non-Continental U.S.
(AK, HI, PR, etc.)
USPS Ground Advantage €0.00 - €60.00 €6.95 5-9 Business Days
USPS Ground Advantage Over €60.00 Free 5-9 Business Days

Non-Continental U.S. regions include Alaska, American Samoa, Guam, Hawaii, the Marshall Islands, the Northern Mariana Islands, Palau, Puerto Rico, the U.S. Virgin Islands, and U.S. Armed Forces addresses.

2.4 International Destinations Outside the EU

For selected international destinations outside the EU, including Switzerland, the United Kingdom, and Norway, shipping rates are as follows:

Order Amount Shipping Cost
€0.00 - €300.00 €19.95
Over €300.00 Free

For non-EU destinations, import duties, taxes, and customs fees may be charged by the destination country and are the responsibility of the recipient.

3. Warehouses & Fulfillment

Our products may be stored in our Munich, Arlington, and Shenzhen warehouses. The actual shipping warehouse depends on product availability and destination.

3.1 Munich Warehouse

For products stored in our Munich warehouse, we use Deutsche Post or DHL Paket for domestic deliveries within Germany. For selected EU destinations outside Germany, we use FedEx Regional Economy.

3.2 Arlington Warehouse

For products stored in our Arlington warehouse, we use USPS or UPS for deliveries within the United States.

3.3 Shenzhen Warehouse

For pre-order items or products fulfilled directly from our Shenzhen warehouse, we arrange reliable international shipping based on destination and inventory status. For EU member states, OpenELAB covers applicable import duties and taxes under DDP service where required.

4. Inventory, Pre-orders & Split Shipments

  • Inventory Status: Please check the product page for real-time stock information. If an item is out of stock in our local warehouses, it may be marked as “Pre-order”.
  • Pre-order Fulfillment: Pre-order items may be shipped directly from Shenzhen or restocked to a local warehouse first before final delivery.
  • Split Shipments: If your order contains both in-stock and pre-order items, we may ship them separately. No additional shipping fee will be charged for split shipments caused by our fulfillment arrangement.

5. Customs, Taxes & Delivery Issues

5.1 Customs and Taxes

For EU Member States:
Whether shipped from Germany or China, OpenELAB covers applicable import duties and taxes under DDP service where required. Customers in EU member states should not be charged additional import duties or VAT upon delivery.

Important Notice for Non-EU Countries:
For destinations outside the European Union, such as Switzerland, Norway, and the United Kingdom, import duties, taxes, and customs fees may be charged by local authorities upon delivery. These fees are the responsibility of the recipient.

5.2 Damaged, Delayed, or Lost Parcels

Please inspect your parcel upon delivery where possible. If you notice visible damage, please report it to the courier and contact us as soon as possible. This does not affect your statutory consumer rights.

If your parcel is delayed, lost, returned to sender, or the tracking information has not updated for an unusual period of time, please contact us at info@upenelab.com. We will assist you in checking the shipment status with the courier.

5.3 Incorrect Address or Failed Delivery

If a parcel cannot be delivered due to an incorrect or incomplete address provided by the customer, refusal of delivery, or failure to collect the parcel, additional shipping or return costs may apply.

6. VAT

For orders within the EU, VAT is collected at checkout according to the applicable destination rules. No additional VAT should be collected upon delivery for EU member state orders covered under our DDP shipping arrangement.

Customer Reviews

Based on 8 reviews
75%
(6)
13%
(1)
13%
(1)
0%
(0)
0%
(0)
N
Nora Gray
Exactly what I needed

The sensor board performed reliably in normal testing. It feels like a good choice for environmental, motion or positioning data work depending on the application.

Thank you for choosing OpenELAB. We are glad this product supported your use case.

A
Andre Rossi
Works exactly as expected

I used this sensor in a monitoring build and the readings were stable after setup. It is a practical module for data collection and embedded measurement projects.

We appreciate the detailed note. The BME680 Sensor Board | Temperature Humidity Pressure Air Quality is a practical option for makers, and we are happy it matched your setup.

D
Daniel Murphy
Reliable hardware for my project

This worked well in a small test rig where I needed consistent sensor output. The module was easy to integrate and behaved predictably.

Thanks for the review. Practical feedback on the BME680 Sensor Board | Temperature Humidity Pressure Air Quality is useful for customers comparing similar hardware.

M
Mason Allen
Very practical product

I used this sensor in a monitoring build and the readings were stable after setup. It is a practical module for data collection and embedded measurement projects.

We appreciate the detailed note. The BME680 Sensor Board | Temperature Humidity Pressure Air Quality is a practical option for makers, and we are happy it matched your setup.

O
Olivia Clark
Useful hardware after setup

I bought this for a Raspberry Pi or microcontroller project and it matched the expected function. It is useful when you want a ready-to-use sensing module rather than building the circuit yourself.

Thanks for sharing your experience with the BME680 Sensor Board | Temperature Humidity Pressure Air Quality. Feedback like this helps other customers choose the right product for similar builds.