Table of Contents

LamaPLC: BMP/BME Bosch Temperature/Humidity/Pressure sensors with I²C communication

Bosch BMP sensors primarily measure barometric pressure and temperature, while Bosch BME sensors are more comprehensive, adding humidity and, in newer models, gas/air quality sensing.

BMP180 (GY-68) Temperature/Barometric Pressure Module
BME280 (GY-BME280) Temperature/Humidity/Barometric Pressure module
BMP280 (HW-611) Temperature/Barometric Pressure module
BME680 Temperature/Humidity/Barometric Pressure/Gas (VOC) Module
BME688 Temperature/Humidity/Barometric Pressure/Gas (VOC) with AI Module

BMP180 Temperature/Barometric Pressure Module

GY-68 Temperature measuringAir-press measuring

Another name for the GY-68 module is a breakout board that integrates the Bosch BMP180 sensor to measure atmospheric pressure, temperature, and altitude. The two terms refer to different components of the same product for hobbyist use: the BMP180 is the sensing chip on the GY-68 printed-circuit board.

The GY-68 BMP180 sensor module is known for its high precision, low power consumption, and ease of use via the I2C interface, making it popular for a wide range of DIY and IoT projects.

FeatureSpecification
ChipsetBosch BMP180
Operating Voltage3.3V–5.5V (module input voltage, includes voltage regulator); the chip itself runs on 1.8V–3.6V
Power ConsumptionUltra-low power, typically 0.5 µA in standard mode (at 1 Hz sampling)
InterfaceI²C (Serial Data Line/SDA and Serial Clock Line/SCL)
Multiple modules on the I²CNo. Default address 0x77 is fixed, making it impossible to add multiple sensors to the same I²C bus
Pressure Range300 to 1100 hPa (+9000m to -500m relative to sea level)
Pressure AccuracyUp to ±0.03 hPa (~0.25m resolution) in high resolution mode
Temperature Range-40°C to +85°C
Temperature Accuracy±0.5°C
CalibrationFully calibrated at the factory, and data is stored in internal E2PROM

BME280 Temperature/Humidity/Barometric Pressure module

GY-BME280 Temperature measuringHumidity measuringAir-press measuring

Another name, GY-BME280, is a sensor module that integrates the Bosch BME280 environmental sensor chip and measures temperature, humidity, and atmospheric pressure. It is an upgrade to the BMP280 and is widely used in hobbyist electronics and IoT projects for comprehensive environmental monitoring.

The Bosch BME280 sensor features high precision and low power consumption, making it suitable for battery-powered systems. The GY-BME280 module often includes a voltage regulator and a logic-level converter, allowing it to operate with both 3.3V and 5V microcontrollers such as Arduino and Raspberry Pi.

FeatureSpecification
ChipsetBosch BME280
MeasurementsTemperature, Humidity, and Pressure
Operating Voltage3.3V–5V (via onboard regulator on some modules; chip runs on 1.71V–3.6V)
InterfaceI²C (default) and SPI (optional)
Multiple modules on the I²CMax. 2 modules. The module's default I²C address is 0x76, which can be easily changed to 0x77 using the provided solder jumper *
Temperature Range-40°C to +85°C
Humidity Range0% to 100% relative humidity (±3% accuracy)
Pressure Range300 to 1100 hPa (±1.0 hPa accuracy)
Power ConsumptionAs low as 0.1 µA in sleep mode, or 3.6 µA at 1 Hz for all three measurements

*: To change the I²C address to 0x77, cut the trace between the middle and left copper pads with a sharp knife. Then add a solder blob between the middle and right copper pads to short them.

BMP280 (HW-611) Temperature/Barometric Pressure module

GY-BMP280 Temperature measuringAir-press measuring

The GY-BMP280-3.3 is a sensor module featuring the Bosch BMP280 environmental sensor chip, which precisely measures atmospheric pressure and temperature. This module operates from a 3.3V DC power supply, making it a low-power solution for applications such as weather monitoring, altimetry, and navigation systems.

The Bosch BMP280 improves on its predecessors (BMP085/BMP180) by delivering better performance and lower power consumption in a smaller form factor. The GY-BMP280-3.3 module features versatile interfacing and precise measurements.

FeatureSpecification
ChipsetBosch BMP280
MeasurementsPressure and Temperature (Does not measure humidity)
Operating Voltage3.3V DC (module input voltage; chip runs on 1.71V–3.6V)
Power ConsumptionUltra-low power, typically 2.7 µA at 1 Hz sampling rate
InterfaceI²C (up to 3.4 MHz) and SPI (up to 10 MHz)
Multiple modules on the I²CMax. 2 modules. Default I²C is: 0x76 (SDO pin low). 2nd I²C address is: 0x77 *
Pressure Range300 to 1100 hPa (+9000m to -500m relative to sea level)
Pressure AccuracyUp to ±1 hPa absolute accuracy, allowing for ~±1m altitude resolution
Temperature Range-40°C to +85°C
Temperature Accuracy±1.0°C
CalibrationFactory-calibrated, with data stored in internal E2PROM

*: To set the I²C address to 0x77, connect pin 6 of the module (SDO) to Vcc, typically the 3.3V supply, and connect pin 5 of the module (CSB) to Vcc to select the I²C interface.

GY-BMP280-3.3 Pinout

PinNameI²C FunctionSPI Function
(4-wire)
Description
1VCCPower (3.3V)Power (3.3V)Supply voltage (1.71V to 3.6V)
2GNDGroundGroundCommon ground
3SCLSCLSCKSerial clock line
4SDASDASDI (MOSI)Serial data line
5CSBHigh (I²C)CSChip select. Pull High for I²C (default via onboard resistor) or Low for SPI
6SDOADRSDO (MISO)Sets I²C address: High for 0x77, Low for 0x76 (default).
Never leave the SDO pin floating. If it is not tied to GND or VCC, the I²C address may fluctuate randomly between the two values, causing communication errors.

If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.

Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.

2026/02/14 23:38

BME680 Temperature/Humidity/Barometric Pressure/Gas (VOC) Module

CJMCU-680 Temperature measuringHumidity measuringAir-press measuringGas Sensor

The BME680 (CJMCU-680) is an environmental sensor breakout board based on the Bosch BME680 chip. It is a versatile “4-in-1” module designed for DIY electronics and IoT projects.

Core Capabilities

The module measures four distinct environmental parameters:

FeatureSpecificationDetails
ModelCJMCU-680 / BME6804-in-1 Environmental Sensor
Operating Voltage1.7V – 3.6VOften compatible with 5V via onboard regulator
CommunicationI²C or SPII²C (up to 3.4 MHz), SPI (up to 10 MHz)
Multiple modules on the I²CMax. 2 modules. Default I²C is: 0x76 (SDO pin low). 2nd I²C address is: 0x77 *
Current (Sleep)0.15 µAExtremely low standby power
Current (Active)2.1 µA – 12 mAVaries by mode; gas sensor heater uses most power
Dimensions~30 x 14 x 10 mmCompact breakout board size

Sensor Performance

ParameterMeasurement RangeAccuracy / Tolerance
Temperature-40°C to +85°C±1.0°C
Humidity0% to 100% RH±3% RH
Pressure300 to 1100 hPa±1 hPa (absolute) / ±0.12 hPa (relative)
Gas (VOC)Qualitative IAQ IndexDetects ethanol, CO, and other VOCs

Gas Sensor Note: For accurate air quality readings, it is recommended to “burn-in” the sensor for 48 hours during the first use and allow 30 minutes of warm-up time for each subsequent session.

Response Times:

Comparison Table: BME680 vs. BME688

FeatureBME680BME688
Primary FocusGeneral Air Quality (IAQ)Specific Gas Detection & AI
Gas Sensor TypeMOX (Metal Oxide)
AI IntegrationNone (Software-based IAQ only)Integrated AI support (BME AI-Studio)
Gas DetectionBroad VOCs (Volatile Organic Compounds)VOCs + VSCs (Volatile Sulfur Compounds)
Gas resistance rangeStandardExtended (for better discrimination)
Humidity StabilityModerate cross-sensitivity (~15-25% error)High stability (<5% error in high humidity)
Software SupportBasic BSEC libraryBSEC + BME AI-Studio
Replacement TypeN/ABackward compatible “Drop-in” replacement

CJMCU-680 Pinout

The standard CJMCU-680 module uses the following pin arrangement:

PinNameFunction
1VCCPower Supply (1.7V to 3.6V; commonly used with 3.3V)
2GNDGround
3SCLI²C Clock (SCL) or SPI Clock (SCK)
4SDAI²C Data (SDA) or SPI Data In (SDI/MOSI)
5SDOSPI Data Out (MISO). Also sets the I²C Address: connect to GND for 0x76 (default) or VCC for 0x77.
Never leave the SDO pin floating. If it is not tied to GND or VCC, the I²C address may fluctuate randomly between the two values, causing communication errors.
6CSChip Select for SPI. Pulling this high or leaving it disconnected defaults the module to I²C mode

Controller wiring

Source codes

Arduino C : Read BME680 Temperature/Humidity/Barometric Pressure/Gas (VOC) Module
RP2040_ETH_Modul: Read BME 680/688 sensor data
RP2040_ETH_Modul: Read BME 680/688 sensor data and store in Modbus input registers

BME688 Temperature/Humidity/Barometric Pressure/Gas (VOC) Module

BME688 Temperature/Humidity/Barometric Pressure/Gas (VOC) Module Temperature measuringHumidity measuringAir-press measuringGas Sensor

The Bosch BME688 is an advanced 4-in-1 environmental sensor that integrates high-accuracy measurements for temperature, humidity, barometric pressure, and gas. It is the first sensor of its kind to include Artificial Intelligence (AI) features, enabling it to detect specific gas compositions, such as Volatile Organic Compounds (VOCs) and Volatile Sulfur Compounds (VSCs).

ParameterMeasurement RangeAccuracy
Temperature-40°C to +85°C±0.5°C to ±1.0°C
Humidity0 to 100%RH±3% RH
Pressure300 to 1100 hPa±0.6 hPa (absolute)
Gas SensorVOC, VSC, CO, H₂AI-trained classification

Hardware & Communication

AI Features (The “Digital Nose”)

The BME688's standout feature is its ability to be trained using the BME AI-Studio software. This allows the sensor to:

Comparison Table: BME680 vs. BME688

FeatureBME680BME688
Primary FocusGeneral Air Quality (IAQ)Specific Gas Detection & AI
Gas Sensor TypeMOX (Metal Oxide)
AI IntegrationNone (Software-based IAQ only)Integrated AI support (BME AI-Studio)
Gas DetectionBroad VOCs (Volatile Organic Compounds)VOCs + VSCs (Volatile Sulfur Compounds)
Gas resistance rangeStandardExtended (for better discrimination)
Humidity StabilityModerate cross-sensitivity (~15-25% error)High stability (<5% error in high humidity)
Software SupportBasic BSEC libraryBSEC + BME AI-Studio
Replacement TypeN/ABackward compatible “Drop-in” replacement

Since the BME688 and BME680 provide gas data as resistance in ohms (Ω), the value decreases as the air becomes more polluted. Here is how to interpret those ohm values for a typical indoor environment:

Gas Resistance (Ω)Air QualityInterpretation
> 1,000,000 (1M+) ExcellentVery clean air. Typical for outdoors or well-ventilated rooms.
500k – 1,000k Very GoodFresh indoor air.
100k – 500k GoodNormal indoor environment.
50k – 100k FairNoticeable odors or VOCs (e.g., cooking, cleaning products).
10k – 50k PoorSignificant pollution. Time to open a window.
< 10k Very PoorHigh concentration of VOCs or gases (e.g., heavy smoke or alcohol).
2026/05/12 20:49 · vamsan

Source codes

RP2040_ETH_Modul: Read BME 680/688 sensor data
RP2040_ETH_Modul: Read BME 680/688 sensor data and store in Modbus input registers

I²C topics on lamaPLC

PageDateTags
2026/04/23 21:51, , , , , , ,
2025/09/23 21:25, , , , , ,
2026/04/15 19:34, , , , , , ,
2026/03/22 03:14, , , , , , ,
2026/04/23 21:52, , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , , , ,
2026/05/12 18:40, , , , , , ,
2026/04/23 21:52, , , , , , ,
2026/04/12 00:34, , , ,
2026/04/23 21:52, , , , , , , , , , , , , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , ,
2026/04/23 21:52, , , , , , , ,
2025/05/31 23:32, , , , , , , ,
2026/04/23 21:52, , , , , , , , , , , , , ,
2025/11/22 00:07, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2023/07/01 17:29, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2026/03/22 01:44, , , , , , , , ,
2026/04/23 21:52, , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , , , , , , ,
2026/04/23 21:51, , , ,
2026/04/23 21:52, , , , , , , , , , , , , , , , , , , , , , , , ,
2026/04/11 19:54, , , , , , , , , , , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , ,
2026/02/14 18:27, , , , , , , , , ,
2026/04/23 21:52, , , , , , ,
2026/04/23 21:52, , , , , , , ,
2026/05/08 00:03, , , , , , , , , , ,
2026/05/14 15:21, , , , , , , , ,
2026/04/23 21:52, , , , , , , ,
2026/05/12 16:20, , , , ,
2026/05/12 17:06, , , , , ,
2026/05/12 21:06, , , , , , ,
2026/05/12 18:58, , , , , , ,
2026/04/23 21:52, , , , , , , , , , , , ,
2026/04/15 19:41, , , , , , , , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , , , , ,
2026/02/14 23:47, , , ,
2026/02/14 23:51, , , , , ,
2026/02/14 18:26, , , ,
2026/04/23 21:52, , , , , , , , , , , , ,
2026/04/23 21:52, , , , , , , , , , ,
2026/04/23 21:52, , , , , , , ,
2026/05/15 15:17, , , , , , , , , , , , , ,
2026/03/05 21:19, , , , , , , , , , , , , , , , ,
2026/02/14 18:27, , , , , , ,



This page has been accessed for: Today: 12, Until now: 285