How does it work?
Environment 3 Click as its foundation uses the BME688, air quality MEMS sensor that combines gas, humidity, temperature, and barometric pressure sensing from Bosch Sensortec. The BME688 combines reliable high-precision sensors with wide-ranging gas detection and innovative AI capabilities, enabling users to rapidly develop various applications to improve well-being, lifestyle, and sustainability. It offers reduced power consumption, improved accuracy specifications, and a configurable host interface for the fastest data transfer. It covers extended operating pressure, humidity, and temperature ranges from 300-1100hPa, 0-100%RH and from -40°C to +85°C with the accuracy of ±3%RH and ±0.5°C.
The BME688 supports a full suite of operational modes, which provides vast flexibility in optimizing the device for power consumption, resolution, and filter performance. Additionally, it also has a gas scanner function; it can detect Volatile Organic Compounds (VOCs), Volatile Sulfur Compounds (VSCs), and other gases such as carbon monoxide and hydrogen in part per billion (ppb) range. In standard configuration, the presence of VSCs is being detected as an indicator for, e.g., bacteria growth, where the gas scanner can be customized for sensitivity, selectivity, data rate, and power consumption.
Based on its main features listed above, this Click board is the best choice for indoor and outdoor air quality measurement applications, detection of unusual gases that might indicate leakage or fire, early detection of odors and bad smells, and other various temperature and humidity-related applications.
Environment 3 Click allows using both I2C and SPI interfaces. The selection can be made by positioning SMD jumpers labeled as COMM SEL to an appropriate position. Note that all the jumpers’ positions must be on the same side, or the Click board™ may become unresponsive. While the I2C interface is selected, the BME688 allows choosing the least significant bit (LSB) of its I2C slave address using the SMD jumper labeled as ADDR SEL to an appropriate position marked as 0 or 1.
This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before use with MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
BME AI-Studio Tool
Bosch Sensortec’s tool for the BME688 sensor, such as the BME AI-Studio Software, allows users to develop, verify, and deploy custom gas classification use-cases. It enables sensor configuration, data analysis, training, and optimization of application-specific solutions. The BME688 detects gases by measuring their unique electronic fingerprint and therefore distinguish different gas compositions, enabling a broad spectrum of new applications. Thus, the BME AI-Studio tool allows customers to train the BME688 gas scanner feature on their specific applications, like home appliances, IoT, or Smart Home solutions.
For all additional information, the users can visit the official Bosch Sensortec BME688 Software page.
Specifications
Type
Environmental
Applications
Can be used for indoor and outdoor air quality measurement, detection of unusual gases and smells, and various temperature and humidity-related applications
On-board modules
BME688 – air quality MEMS sensor that combines gas, humidity, temperature, and barometric pressure sensing from Bosch Sensortech
Key Features
Four-in-one environmental measurement solution, wide-ranging gas detection, high-linearity, high-accuracy and precision, low power consumption, configurable host interface, and more
Interface
I2C,SPI
Compatibility
mikroBUS
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on Environment 3 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1-JP4 | COMM SEL | Right | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
JP5 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
Environment 3 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Operating Gas Range | 0 | – | 500 | IAQ Index |
Operating Pressure Range | 300 | – | 1100 | hPa |
Pressure Accuracy | – | ±0.6 | – | hPa |
Humidity Accuracy | 0 | – | 100 | %RH |
Operating Temperature Range | – | ±3 | – | %RH |
Temperature Accuracy | -40 | +25 | +85 | °C |
Receiver inputs voltage range | – | ±0.5 | – | °C |
Software Support
We provide a library for the Environment 3 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for Environment 3 Click driver.
Key functions
-
environment3_get_all_data
This function reads the temperature, humidity, pressure, and gas resistance data from the sensor. -
environment3_enable_heater
This function enables or disables the gas sensor heater. -
environment3_soft_reset
This function soft-resets the sensor.
Example Description
This example demonstrates the use of Environment 3 Click board™.
void application_task ( void )
{
float temperature, pressure, humidity;
uint32_t gas_resistance;
if ( ENVIRONMENT3_OK == environment3_get_all_data ( &environment3,
&temperature,
&humidity,
&pressure,
&gas_resistance ) )
{
log_printf( &logger, " Temperature : %.2f Crn", temperature );
log_printf( &logger, " Humidity : %.2f %%rn", humidity );
log_printf( &logger, " Pressure : %.3f mBarrn", pressure );
if ( ENVIRONMENT3_ENABLE == environment3.gas_sett.enable )
{
log_printf( &logger, " Gas Resistance : %ld Ohmsrn", gas_resistance );
log_printf( &logger, "--------------------------------rn" );
}
else
{
log_printf( &logger, "--------------------------------rn" );
Delay_ms( 1000 );
}
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Environment3
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.
Note: The BME688 gas sensor can detect Volatile Organic Compounds (VOCs) and provides ready-made data that are processed more accurately compensated. We must emphasize that our library does not allow the calculation of the VOC.
The users can visit the official Bosch Sensortec BME688 Software page for all additional information about the VOC libraries.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.