Jump to content

Component: Air Quality (BME688) (Environmental)

From Flowcode Help
Revision as of 14:23, 13 July 2026 by SteveT (talk | contribs) (Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead"")
Author MatrixTSL
Version 1.0
Category Environmental


Air Quality (BME688) component

An air quality sensor connected using a standard I2C bus. Capable of detecting indoor and outdoor air quality including CO2 H2 VOCs and VSCs.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_BME688_AirQualitySensor.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_BME688_AirQualitySensor.fcfx

Detailed description

Examples

Macro reference

Initialise

Initialise
Initialises the I2C bus and sets up the device ready for operation. Returns 1 if the device has been found and is communicating. 
- BOOL Return


PerformGasResistanceCycle

PerformGasResistanceCycle
Performs a forced heating cycle. Returns 1 for a successful cycle. Returns 0 if the heating time was not enough or the temperature was too high to reach.  
- FLOAT Temperature
Temperature in Celcius we want to reach, typically between 200 and 400�C 
- UINT Duration
Step duration in milliseconds, default 30 - Range: 1 to 4032 
- BOOL Return


ReadGasResistance

ReadGasResistance
Reads the resistance of the gas in ohms from the last heating cycle. 
- FLOAT Return


ReadHumidity

ReadHumidity
Collects the humidity and returns as a floating point value in percent. 
- BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
- FLOAT Return


ReadPressure

ReadPressure
Collects the pressure and returns as a floating point value in pascal. 
- BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
- FLOAT Return


ReadRegister

ReadRegister
A simple example showing a generic way to read a register using I2C. 
- BYTE Address
 
- BYTE Return


ReadTemperature

ReadTemperature
Collects the temperature and returns as a floating point value in degrees C. 
- BYTE Index
Forced Mode = 0 / Parallel Mode = 0-2 
- FLOAT Return


SetMode

SetMode
Sets the mode of the sensor to low power sleep, forced or parallel 
- BYTE Mode
0=Sleep, 1=Forced, 2=Parallel 
- VOID Return


WriteRegister

WriteRegister
A simple example showing a generic way to write a register using I2C. 
- BYTE Address
 
- BYTE Data
 
- VOID Return


Property reference

Properties
I2C Properties
Connections
Channel
Channel selection 
SDA
Pin used for SDA (data signal) 
SDA Remap Pin
 
SCL
Pin used for SCL (clock signal) 
SCL Remap Pin
 
Options
Device Address
 
Stop Delay
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.  
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
Simulation
Simulate Comms
 
Comms Simulation
Scope Traces
Selects if the component pin connections are automatically generated on the data recorder window or not. Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion. No: Do not show the pin signals on the data recorder window. 
Console Data
Selects if the console data is automatically generated or not 
Injector
Specifies the injector component on the panel to interact with to provide comms simulation.