meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sensor:bmp_bme [2026/05/12 19:05] – [Source codes] vamsan | sensor:bmp_bme [2026/05/12 21:09] (current) – [BME688 Temperature/Humidity/Barometric Pressure/Gas (VOC) Module] vamsan | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Bosch BMP sensors primarily measure barometric pressure and temperature, | Bosch BMP sensors primarily measure barometric pressure and temperature, | ||
| - | |< 100% >| | + | [[:sensor:bmp_bme# |
| - | ^Type of \\ measurement ^Model^Power \\ voltage ^Measurement, | + | [[:sensor:bmp_bme# |
| - | |{{anchor: | + | [[:sensor:bmp_bme# |
| - | |{{anchor: | + | [[:sensor:bmp_bme# |
| - | |{{anchor: | + | [[:sensor:bmp_bme# |
| - | |{{anchor: | + | |
| - | + | ||
| - | The BME/BMP sensors can be integrated with the [[https:// | + | |
| - | + | ||
| - | * BMP085, BMP180 and BMP280 sensors: https:// | + | |
| - | * BME280: https:// | + | |
| - | * BME680: https:// | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== BME/BMP Modules ===== | + | |
| ==== BMP180 Temperature/ | ==== BMP180 Temperature/ | ||
| + | {{anchor: | ||
| {{ : | {{ : | ||
| - | {{anchor: | + | {{: |
| Another name for the **GY-68** module is a breakout board that integrates the [[# | Another name for the **GY-68** module is a breakout board that integrates the [[# | ||
| Line 40: | Line 30: | ||
| ==== BME280 Temperature/ | ==== BME280 Temperature/ | ||
| + | {{anchor: | ||
| {{ : | {{ : | ||
| - | {{anchor: | + | {{: |
| Another name, **GY-BME280**, | Another name, **GY-BME280**, | ||
| Line 61: | Line 52: | ||
| ==== BMP280 (HW-611) Temperature/ | ==== BMP280 (HW-611) Temperature/ | ||
| + | {{anchor: | ||
| {{ : | {{ : | ||
| - | {{anchor: | + | {{: |
| The GY-BMP280-3.3 is a sensor module featuring the [[# | The GY-BMP280-3.3 is a sensor module featuring the [[# | ||
| Line 83: | Line 75: | ||
| *: //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.// | *: //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 | + | === GY-BMP280-3.3 Pinout === |
| ^Pin^Name^I²C Function^SPI Function \\ (4-wire)^Description| | ^Pin^Name^I²C Function^SPI Function \\ (4-wire)^Description| | ||
| Line 95: | Line 87: | ||
| {{page>: | {{page>: | ||
| - | ==== GY-BMP280/ | + | ==== BME680 |
| - | <code c> | + | {{anchor: |
| - | // include | + | |
| - | #include < | + | |
| - | #include < | + | |
| - | #include < | + | |
| - | + | ||
| - | // variable | + | |
| - | float bmp_280_temp; | + | |
| - | float bmp_280_press; | + | |
| - | bool bmp_280_ready; | + | |
| - | String unitID = " | + | |
| - | + | ||
| - | // init | + | |
| - | Adafruit_BMP280 bmp_280; // BMP280/ | + | |
| - | + | ||
| - | // call block | + | |
| - | void bmp_280_function () { | + | |
| - | bmp_280_temp = bmp_280.readTemperature(); | + | |
| - | bmp_280_press = bmp_280.readPressure() / 100.0F; | + | |
| - | Serial.print(" | + | |
| - | Serial.print(" | + | |
| - | } | + | |
| - | + | ||
| - | + | ||
| - | void setup() { | + | |
| - | Serial.begin(115200); | + | |
| - | // unit works? | + | |
| - | bmp_280_ready = bmp_280.begin(0x76); | + | |
| - | if (!bmp_280_ready) { | + | |
| - | Serial.println(" | + | |
| - | } else { | + | |
| - | Serial.println(" | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | void loop() { | + | |
| - | // call all units with 2 sec raster | + | |
| - | static unsigned long lastTime = 0; | + | |
| - | if (millis() - lastTime > 2000) { | + | |
| - | lastTime = millis(); | + | |
| - | // units call, if works | + | |
| - | if (bmp_280_ready) {bmp_280_function ();} | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | ==== CJMCU-680 | + | |
| {{ : | {{ : | ||
| {{anchor: | {{anchor: | ||
| - | The **CJMCU-680** is an environmental sensor breakout board based on the Bosch BME680 chip. It is a versatile //" | + | The BME680 (//CJMCU-680//) is an environmental sensor breakout board based on the Bosch BME680 chip. It is a versatile //" |
| - | **Core Capabilities** | + | === Core Capabilities |
| The module measures four distinct environmental parameters: | The module measures four distinct environmental parameters: | ||
| Line 166: | Line 113: | ||
| - | **Sensor Performance** | + | === Sensor Performance |
| ^Parameter^Measurement Range^Accuracy / Tolerance| | ^Parameter^Measurement Range^Accuracy / Tolerance| | ||
| Line 180: | Line 127: | ||
| * **Humidity Sensor:** ~8 seconds (τ0-63%) | * **Humidity Sensor:** ~8 seconds (τ0-63%) | ||
| - | ==== CJMCU-680 Pinout | + | === Comparison Table: BME680 vs. BME688 === |
| + | ^Feature^BME680^BME688| | ||
| + | ^Primary Focus|General Air Quality (IAQ)|Specific Gas Detection & AI| | ||
| + | ^Gas Sensor Type|MOX (Metal Oxide)|Enhanced MOX with Gas Scanner | ||
| + | ^AI Integration|None (Software-based IAQ only)|Integrated AI support (BME AI-Studio)| | ||
| + | ^Gas Detection|Broad VOCs (Volatile Organic Compounds)|VOCs + VSCs (Volatile Sulfur Compounds)| | ||
| + | ^Gas resistance range|Standard|Extended (for better discrimination)| | ||
| + | ^Humidity Stability|Moderate cross-sensitivity (~15-25% error)|High stability (<5% error in high humidity)| | ||
| + | ^Software Support|Basic BSEC library|BSEC + BME AI-Studio| | ||
| + | ^Replacement Type|N/ | ||
| + | |||
| + | === CJMCU-680 Pinout === | ||
| The standard CJMCU-680 module uses the following pin arrangement: | The standard CJMCU-680 module uses the following pin arrangement: | ||
| Line 191: | Line 149: | ||
| ^6|CS|Chip Select for SPI. Pulling this high or leaving it disconnected defaults the module to I²C mode| | ^6|CS|Chip Select for SPI. Pulling this high or leaving it disconnected defaults the module to I²C mode| | ||
| - | ==== Arduino | + | === Controller |
| * SCL: A5 | * SCL: A5 | ||
| * GND: GND | * GND: GND | ||
| * SDA: A4 | * SDA: A4 | ||
| * Vdd: **3.3V** (or **5V** if your breakout board has a regulator). | * Vdd: **3.3V** (or **5V** if your breakout board has a regulator). | ||
| - | ==== Source codes ==== | + | |
| + | === Source codes === | ||
| Arduino C : [[code: | Arduino C : [[code: | ||
| - | RP2040_ETH_Modul: | + | RP2040_ETH_Modul: |
| + | RP2040_ETH_Modul: | ||
| + | |||
| + | |||
| + | ==== BME688 Temperature/ | ||
| + | {{ : | ||
| + | {{anchor: | ||
| + | {{anchor: | ||
| + | |||
| + | The Bosch **BME688** is an advanced 4-in-1 environmental sensor that integrates high-accuracy measurements for temperature, | ||
| + | |||
| + | |< | ||
| + | ^Parameter^Measurement Range^Accuracy^| | ||
| + | ^Temperature-40°C to +85°C|±0.5°C to ±1.0°C| | ||
| + | ^Humidity|0 to 100%|RH±3% RH| | ||
| + | ^Pressure|300 to 1100 hPa|±0.6 hPa (absolute)| | ||
| + | ^Gas Sensor|VOC, VSC, CO, H₂|AI-trained classification| | ||
| + | |||
| + | **Hardware & Communication** | ||
| + | |||
| + | * **Operating Voltage:** 1.71V to 3.6V (**typically 3.3V**). | ||
| + | * **Interface: | ||
| + | * **I²C Addresses: | ||
| + | * **Current Consumption: | ||
| + | |||
| + | **AI Features (The " | ||
| + | |||
| + | The BME688' | ||
| + | * Recognize unique //" | ||
| + | * Detect bacteria growth or spoiled food by identifying volatile sulfur compounds. | ||
| + | * Provide an //Indoor Air Quality// (**IAQ**) index through the Bosch BSEC software library. | ||
| + | |||
| + | {{page>: | ||
| + | |||
| + | === Source codes === | ||
| + | |||
| + | RP2040_ETH_Modul: | ||
| + | RP2040_ETH_Modul: | ||
| ===== I²C topics on lamaPLC ===== | ===== I²C topics on lamaPLC ===== | ||
| Line 207: | Line 203: | ||
| \\ | \\ | ||
| - | {{tag> | + | {{tag> |
| This page has been accessed for: Today: {{counter|today}}, | This page has been accessed for: Today: {{counter|today}}, | ||