This is the ENS160 a digital multi-gas sensor solution developed by ScioSens, this sensor is suitable to be used for Air Quality to detect and sense a chemical around in the environment, and suitable also to be used in building automation, smart homes, HVAC / Ventilation System / Smart Thermostats / Air Purification / Appliances / Kitchen Cooker Hoods / Mobiles / Wearables / Smart Things & IoT Devices. This sensor independently controls that allows the detection of VOC (volatile organic compounds) including ethanol, toluene, hydrogen, and oxidizing gasses with an advanced detection sensitivity.
The ENS160 enables intelligent algorithms to process raw sensor data detected on the chip. However, these algorithms calculate the CO2, TVOC air quality indicates the Air Quality Information and perform a humidity and temperature compensation including baseline management. Additionally, raw sensor measurements can be read for further customization according to your needs. The ENS160 consists of 4 major independent sensing feature a heater and a gas sensor element based on metal oxide technology.
Testing Requirements
- Arduino IDE | PlatformIO
- Test Boards :
- Note: The Diagram below is using Raspberry Pi – PICO (please refer to each MCU’s respective pin-outs & bus configuration)
- Resistors (See below diagram for required value)
- Capacitor(See below diagram for required value)
Wiring Guide
Source Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#include <Wire.h> #include "SparkFun_ENS160.h" // This library can be downloaded below SparkFun_ENS160 ENS160; int ensStatus; void setup() { Wire.begin(); Serial.begin(115200); Serial.println("14CORE | ENS160 SENSOR TEST"); delay(1000); if( !ENS160.begin() ) { Serial.println("Initializing please wait... ."); while(1); } // Reset the indoor air quality sensor's settings. if( ENS160.setOperatingMode(SFE_ENS160_RESET) ) Serial.println("Sensor is Ready"); Serial.println("Reading...............") delay(200); // Others include SFE_ENS160_DEEP_SLEEP and SFE_ENS160_IDLE ENS160.setOperatingMode(SFE_ENS160_STANDARD); // There are four values here: // 0 - Operating ok: Standard Opepration // 1 - Warm-up: occurs for 3 minutes after power-on. // 2 - Initial Start-up: Occurs for the first hour of operation. // and only once in sensor's lifetime. // 3 - No Valid Output ensStatus = ENS160.getFlags(); Serial.print("Gas Sensor Status Flag: "); Serial.println(ensStatus); } void loop() { if( ENS160.checkDataStatus() ) { Serial.print("14CORE | Air Quality Index (1-5) : "); Serial.println(ENS160.getAQI()); Serial.print("14CORE | Total Volatile Organic Compounds: "); Serial.print(ENS160.getTVOC()); Serial.println("ppb"); Serial.print("14CORE | CO2 concentration: "); Serial.print(ENS160.getECO2()); Serial.println("ppm"); } delay(200); } |