The Bosch BME690 is not a completely new kind of gas sensor. It is a further development of the BME688 that keeps the same basic 4-in-1 architecture and AI gas-scanner concept while improving robustness in high-condensation environments and reducing power consumption in air-quality modes.
That makes the buying decision less obvious than “690 is newer, therefore better”. BME690 is clearly attractive for new low-power indoor-air-quality products, wearables and applications exposed to condensation. BME688 remains extremely capable, has a much more mature hobby ecosystem, is directly supported by ESPHome’s current BSEC2 component, and even has substantially lower published pressure RMS noise.
For most ESP32 hobby projects today, BME688 is still the easier sensor to use. For a new custom product where power and condensation robustness matter, BME690 is the more forward-looking Bosch part.
BME688 vs BME690 at a Glance
| Feature | BME688 | BME690 |
|---|---|---|
| Sensor type | Temperature + humidity + pressure + gas | Temperature + humidity + pressure + gas |
| Package | 3.0 × 3.0 × 0.93 mm LGA | 3.0 × 3.0 × 0.93 mm LGA |
| I²C / SPI | Yes / Yes | Yes / Yes |
| Gas scanner | Yes | Yes |
| BME AI-Studio | Yes | Yes |
| BSEC support | Yes | Yes, BSEC 3.2+ required |
| High-condensation robustness | Normal BME68x capability | Specifically improved |
| IAQ ULP current | 90 µA | 50 µA |
| IAQ LP current | 0.9 mA | 0.5 mA |
| Standard gas scan current | 3.9 mA | 3.1 mA |
| Standard scan charge | 0.18 mAh / 5 scans | 0.14 mAh / 5 scans |
| Humidity response | ~8 s | ~1 s |
| Humidity accuracy | ±3% RH | ±3% RH |
| Humidity hysteresis | ±1.5% RH | ±1% RH |
| Pressure RMS noise | 0.12 Pa | 1.3 Pa |
| Temperature accuracy | ±0.5°C (0–65°C) | ±0.5°C (0–65°C) |
| ESPHome native/BSEC integration | Yes | Not currently listed as a supported model |
What Stayed the Same?
The BME690 still follows the BME688 concept very closely. Both combine:
- Temperature sensing.
- Relative humidity sensing.
- Barometric pressure sensing.
- A heated metal-oxide gas sensor.
- Programmable gas heater profiles.
- Gas scanning.
- Bosch BSEC signal processing.
- BME AI-Studio for trained gas-classification applications.
Bosch explicitly describes BME690 as having all the features of BME688, with additional improvements rather than a replacement gas-sensing principle.
The Gas Sensor Is Still a Metal-Oxide Sensor
Neither BME688 nor BME690 directly identifies a gas molecule simply by reading one resistance value.
The internal heated metal-oxide element changes resistance depending on the surrounding gas composition. Bosch software then analyses the gas response together with heater conditions, humidity, temperature and history.
This is why a raw reading such as:
Gas resistance = 124 kΩ
does not mean:
124 kΩ = 350 ppm VOC
The useful higher-level outputs come from Bosch’s BSEC algorithms or from a custom trained gas-scanner configuration.
What BME690 Actually Improves
Bosch highlights two major BME690 changes:
- Improved robustness in environments with high condensation.
- Lower power consumption in IAQ operating modes.
There are also useful changes in humidity response and gas-scan energy consumption.
Condensation Robustness Is the Main Hardware Upgrade
The BME690 was specifically developed to remain more robust in high-condensation use cases. That matters in places where humidity can approach saturation or moisture can temporarily form on the sensor.
Potential applications include:
- Bathrooms.
- Kitchens.
- HVAC ducts.
- Refrigeration and food appliances.
- Wearables.
- Outdoor-adjacent enclosures.
- Applications exposed to repeated humidity cycling.
This does not mean BME690 is waterproof. The PCB and enclosure still need proper environmental design. Bosch is describing increased sensor robustness under condensation conditions, not an IP-rated exposed module.
BME690 Uses Much Less Power for IAQ
The biggest numerical improvement is in BSEC-style air-quality operation.
| Operating mode | BME688 | BME690 | Approx. reduction |
|---|---|---|---|
| ULP p/h/T + air quality | 90 µA | 50 µA | 44% |
| LP p/h/T + air quality | 0.9 mA | 0.5 mA | 44% |
| Standard gas scan | 3.9 mA | 3.1 mA | 21% |
| Sleep | 0.15 µA | 0.11 µA | 27% |
Bosch also quotes the charge required for five standard gas scans at about 0.18 mAh for BME688 and 0.14 mAh for BME690.
For a mains-powered Home Assistant room sensor, this difference is not especially important. For a battery-operated IAQ device that must keep the gas heater operating regularly, it is significant.
Non-Gas Environmental Current Is Not Lower Everywhere
An interesting detail is that BME690 does not reduce every current figure.
| 1 Hz measurement | BME688 | BME690 |
|---|---|---|
| Humidity + temperature | 2.1 µA | 2.2 µA |
| Pressure + temperature | 3.1 µA | 3.1 µA |
| Humidity + pressure + temperature | 3.7 µA | 4.2 µA |
So BME690’s power advantage is specifically strongest when using the gas/air-quality function. If you only need temperature, humidity and pressure, neither sensor is the logical first choice anyway—a BME280 or a dedicated SHT/BMP combination is simpler and usually more power efficient.
Humidity Response Is Much Faster
Bosch gives the BME688 humidity element a typical 63% response time of around 8 seconds. BME690 reduces this to about 1 second.
Humidity accuracy itself remains ±3% RH, so BME690 is not fundamentally a more accurate humidity sensor. It simply reacts much faster and has slightly tighter hysteresis:
BME688 hysteresis: ±1.5% RH
BME690 hysteresis: ±1% RH
That faster response is useful in rapidly changing airflow, HVAC and wearable applications. For a normal room climate sensor updating once per minute, it will rarely transform the user experience.
Pressure: BME688 Actually Has Lower Published RMS Noise
This is one of the most surprising differences.
Bosch’s key-feature table lists:
BME688 pressure RMS noise: 0.12 Pa
BME690 pressure RMS noise: 1.3 Pa
Both list the same ±1.3 Pa/K pressure offset temperature coefficient, and both are perfectly capable of room-pressure monitoring. But if your priority is resolving very small pressure changes or altitude changes, BME690 is not a straightforward pressure-performance upgrade.
For pressure-first applications, Bosch’s BMP family should also be considered rather than buying either gas sensor purely because it includes pressure.
Gas Scanning Performance Is Very Similar
Bosch lists the same headline gas-scanning performance for both sensors:
H2S scanning F1 score: 0.94
Standard scan speed: 10.8 s / scan
This reinforces the point that BME690 is an efficiency/robustness evolution rather than a dramatically more selective gas sensor.
Both can respond to VOCs and gases including carbon monoxide and hydrogen. Bosch also uses volatile sulfur compounds such as hydrogen sulfide in gas-scanner applications, including bad-breath, spoiled-food and bacteria-related use cases.
Do They Detect Individual Gases?
Not in the way an electrochemical CO sensor or an NDIR CO₂ sensor directly measures one specific gas concentration.
BME688/BME690 can classify gas compositions by their response pattern when they are operated with controlled heater profiles and a trained algorithm.
Bosch’s BME AI-Studio workflow is:
- Expose sensors to known specimens/environments.
- Record gas-scanner data.
- Label the datasets.
- Train a classification/regression model.
- Evaluate performance.
- Export a BSEC configuration.
- Deploy that configuration on the final microcontroller.
The sensor therefore behaves more like a trainable electronic nose than a laboratory gas analyser.
BSEC and BME AI-Studio Support
Bosch now supports both sensors within the same BME software ecosystem.
As of August/September 2026, Bosch publishes:
- BME AI-Studio Desktop 3.2.1.
- BSEC 3.3.0.1.
- A BME68x Sensor API for BME688.
- A separate BME690 Sensor API.
- BME688 and BME690 development-kit support.
BME690 requires BSEC 3.2.0.0 or newer. That is important if you have an older BME688 project built around BSEC2.x: do not assume you can replace the physical sensor and keep the same binary/library stack.
BME690 Is Not a Drop-In Software Replacement
Although the two devices look similar electrically and Bosch keeps the same overall AI-Studio workflow, BME690 has its own sensor API and requires newer BSEC software.
For a firmware migration, plan to update:
- The low-level sensor driver.
- BSEC version.
- Configuration files.
- Any model-specific device detection.
- Your validation/calibration procedure.
Bosch’s development workflow is deliberately similar, but that is different from binary software compatibility.
I²C and SPI
Both sensors support I²C up to 3.4 MHz and 3-/4-wire SPI up to 10 MHz.
BME690 uses the familiar Bosch environmental-sensor I²C addresses:
SDO → GND = 0x76
SDO → VDDIO = 0x77
Do not leave SDO floating, because the I²C address then becomes undefined.
For an ESP32 breakout board, 0x76 or 0x77 therefore remains the first thing to check with an I²C scanner.
Supply Voltage
Both bare sensors use:
VDD: 1.71–3.6 V
VDDIO: 1.2–3.6 V
For ESP32 projects, 3.3 V is the simplest interface voltage. Breakout boards may contain their own regulators and level shifting, so always check the module rather than assuming the bare-sensor electrical limits are the same as the breakout’s VCC label.
ESPHome: BME688 Has the Big Advantage Today
Current ESPHome documentation for bme68x_bsec2 explicitly supports:
model: BME680
model: BME688
BME690 is not currently listed as a supported model.
This is important if your goal is a quick Home Assistant node. A BME688 can be configured today with:
i2c:
sda: GPIO21
scl: GPIO22
bme68x_bsec2_i2c:
address: 0x76
model: bme688
operating_age: 28d
sample_rate: LP
sensor:
- platform: bme68x_bsec2
temperature:
name: "Room Temperature"
pressure:
name: "Room Pressure"
humidity:
name: "Room Humidity"
gas_resistance:
name: "Gas Resistance"
iaq:
name: "Indoor Air Quality"
iaq_accuracy:
name: "IAQ Accuracy"
co2_equivalent:
name: "CO2 Equivalent"
breath_voc_equivalent:
name: "Breath VOC Equivalent"
With BME690, an ESPHome user currently needs to wait for native support or use custom/external code rather than simply changing the model field.
Important BSEC Licence Point
ESPHome’s BSEC integration uses Bosch proprietary software and requires acceptance of the BSEC licence. ESPHome’s current documentation also notes that the licence prohibits distributing compiled firmware binaries containing the BSEC library.
That is usually fine for a user compiling their own Home Assistant device. It matters more for public firmware downloads and commercial products.
CO₂ Equivalent Is Not Real CO₂ Measurement
BSEC can output a CO₂-equivalent value based on gas/VOC behaviour. Neither BME688 nor BME690 contains an NDIR or photoacoustic CO₂ sensor.
If you need actual carbon-dioxide concentration for ventilation control, use a dedicated CO₂ sensor such as SCD40/SCD41 or another true CO₂ technology.
Do not present the BSEC CO₂-equivalent output to users as a laboratory-grade direct CO₂ measurement.
Temperature Still Needs Good Physical Placement
Both sensors contain a gas heater. The ESP32, voltage regulator and nearby components also produce heat.
If the sensor is mounted in the middle of a warm PCB or inside an unventilated plastic box, the measured temperature may represent the electronics more than the room.
For accurate room sensing:
- Place the BME sensor at the PCB edge.
- Separate it thermally from the ESP32 and regulator.
- Provide airflow.
- Avoid direct sunlight.
- Do not trap the gas sensor behind solid plastic.
A good enclosure design can make a larger difference than the nominal ±0.5°C temperature specification.
Which Is Better for a Battery IAQ Sensor?
BME690.
The approximately 44% reduction in Bosch’s LP and ULP air-quality current figures is exactly the sort of improvement that matters when the gas heater has to run periodically for days or months on battery power.
It is still important to calculate the whole system budget. An ESP32 development board drawing hundreds of microamps in deep sleep can erase much of the sensor-side saving.
Which Is Better for Home Assistant Today?
BME688.
The reason is software support, not sensor capability. ESPHome already supports BME688 through the BSEC2 component, including IAQ, gas resistance, CO₂-equivalent and breath-VOC-equivalent outputs.
BME690 is technically newer but currently requires a more custom integration path.
Which Is Better for High-Humidity or Condensing Environments?
BME690.
This is one of the reasons Bosch created it. If your product spends its life close to saturation humidity, experiences rapid temperature changes that cause condensation, or lives in appliances/HVAC environments, the BME690’s improved robustness is a meaningful design advantage.
Which Is Better for Pressure and Altitude?
If pressure is the main requirement, neither gas sensor should automatically be your first choice.
BME688’s published RMS pressure noise is much lower than BME690’s key-feature value, so BME690 is not an upgrade for fine pressure resolution.
For weather stations, altitude and precision barometry, compare dedicated BMP5xx/BMP58x sensors as well.
Which Is Better for Gas Classification Experiments?
Both are capable of BME AI-Studio gas-scanner workflows.
BME690 is the current-generation sensor and Bosch’s newest BSEC 3.x ecosystem supports it, so it is the logical choice for a completely new research or product-development project.
BME688 remains attractive if you already own the development kit or have existing datasets and firmware built around BSEC2.
Should You Replace an Existing BME688?
Usually no.
If your BME688 installation is already working well, BME690 does not suddenly make its gas classifications invalid or its IAQ output obsolete.
Upgrade when one of the BME690 improvements solves a real problem:
- You need lower IAQ power.
- You have condensation problems.
- You want the newest Bosch BSEC 3.x development ecosystem.
- You are designing new commercial hardware and want the current-generation part.
For a working mains-powered Home Assistant BME688 node in a dry room, replacement has little practical value.
BME688 vs BME690: Practical Winners
| Use case | Better choice | Reason |
|---|---|---|
| ESPHome/Home Assistant today | BME688 | Native current BSEC2 support |
| Lowest IAQ power | BME690 | Much lower LP/ULP current |
| High condensation | BME690 | Designed for improved robustness |
| Fast humidity response | BME690 | ~1 s vs ~8 s |
| Lowest pressure RMS noise | BME688 | 0.12 Pa vs 1.3 Pa published |
| Existing BSEC2 project | BME688 | No migration required |
| New BSEC 3.x product | BME690 | Current-generation Bosch platform |
| Simple temperature/humidity/pressure | Neither | Use BME280/SHT/BMP depending requirement |
| Real CO₂ measurement | Neither | Use a dedicated CO₂ sensor |
Final Recommendation
Choose BME688 for a hobby ESP32, ESPHome or Home Assistant project today. It remains a very capable gas sensor and has the smoother software path.
Choose BME690 for a new low-power product, a condensation-prone environment or a new Bosch AI gas-scanning design where you are happy to use BSEC 3.x and the newer BME690 software stack.
The simplest way to remember the difference is:
BME688 = mature advanced gas sensor
BME690 = BME688 concept + lower IAQ power + faster humidity + better condensation robustness
BME690 is the more modern product, but BME688 is not obsolete—and for ESPHome users in 2026 it remains the more practical choice.
Related Bosch Sensor Guides
- BME280 vs BME680 vs BME688: Which Is Best? — Bosch climate and gas-sensor family comparison.
- Full Comparison of Bosch BMP & BME Sensors — complete family overview.
- Best Temperature & Humidity Sensor for ESP32 — SHT45, BME280, AHT20 and DHT22.
Official Resources
- Bosch Sensortec BME688 product page — specifications and BME688 documentation.
- Bosch Sensortec BME690 product page — current BME690 specifications.
- Bosch BME688/BME690 Software — BSEC, AI-Studio and sensor APIs.
- Bosch BME690 SensorAPI — official low-level BME690 driver.
- ESPHome BME68x BSEC2 — current BME680/BME688 integration.