Reference

Last revision 2026/01/21

Air Quality Index

AQI Reference

Level Description Suggestion Recommended Stay Time
5 Extremely bad In unavoidable circumstances, please strengthen ventilation Not recommended to stay
4 Bad Strengthen ventilation, find sources of pollution Less than one month
3 Moderate Strengthen ventilation, close to the water source Less than 12 months
2 Good Maintain adequate ventilation Suitable for long-term living
1 Excellent No suggestion Suitable for long-term living

eCO2/CO2 Concentration Reference

eCO2/CO2 Level Result/Suggestion
21500 Terrible Indoor air pollution is serious/Ventilation is required
1000-1500 Bad Indoor air is polluted/ Ventilation is recommended
800-1000 Moderate It is OK to ventilate
600-800 Good Keep normal
400-600 Eexcellent No suggestion

TVOC Concentration Reference

TOVC (ppb) Effects on Human Health
>6000 Headaches and nerve problem
750-6000 Restless and headache
50-750 Restless and uncomfortable
<50 No effect

Library

Communication Protocol Description

  • Communication Mode: I2C
  • I2C Address: 0x53

API Description

  /**
   * @fn setPWRMode
   * @brief Set power supply mode
   * @param mode Configurable power mode:
   * @n       ENS160_SLEEP_MODE: DEEP SLEEP mode (low power standby)
   * @n       ENS160_IDLE_MODE: IDLE mode (low-power)
   * @n       ENS160_STANDARD_MODE: STANDARD Gas Sensing Modes
   * @return None
   */
  void setPWRMode(uint8_t mode);

  /**
   * @fn setINTMode
   * @brief Interrupt config (INT)
   * @param mode Interrupt mode to be set, perform OR operation on the following to get mode::
   * @n       Interrupt occur when new data appear in DATA_XXX register (new measured data can be obtained): eINTModeDIS, Disable interrupt; eINTModeEN, Enable interrupt
   * @n       Interrupt pin output driving mode: eINTPinOD, Open drain; eINTPinPP, Push pull
   * @n       Interrupt pin active level: eINTPinActiveLow, Active low; eINTPinActiveHigh, Active high
   * @return None
   */
  void setINTMode(uint8_t mode);

  /**
   * @fn setTempAndHum
   * @brief Users write ambient temperature and relative humidity into ENS160 for calibration and compensation of the measured gas data.
   * @param ambientTemp Compensate the current ambient temperature, float type, unit: C
   * @param relativeHumidity Compensate the current ambient humidity, float type, unit: %rH
   * @return None
   * @return None
   */
  void setTempAndHum(float ambientTemp, float relativeHumidity);

  /**
   * @fn getENS160Status
   * @brief This API is used to get the sensor operating status
   * @return Operating status:
   * @n        eNormalOperation: Normal operation; 
   * @n        eWarmUpPhase: Warm-Up phase; 
   * @n        eInitialStartUpPhase: Initial Start-Up phase; 
   * @n        eInvalidOutput: Invalid output
   */
  uint8_t getENS160Status(void);

  /**
   * @fn getAQI
   * @brief Get the air quality index calculated on the basis of UBA
   * @return Return value range: 1-5 (Corresponding to five levels of Excellent, Good, Moderate, Poor, and Unhealthy)
   */
  uint8_t getAQI(void);

  /**
   * @fn getTVOC
   * @brief Get TVOC concentration
   * @return Return value range: 0–65000, unit: ppb
   */
  uint16_t getTVOC(void);

  /**
   * @fn getECO2
   * @brief Get CO2 equivalent concentration calculated according to the detected data of VOCs and hydrogen (eCO2 – Equivalent CO2)
   * @return Return value range: 400–65000, unit: ppm
   * @note Five levels: Excellent(400 - 600), Good(600 - 800), Moderate(800 - 1000), 
   * @n                  Poor(1000 - 1500), Unhealthy(> 1500)
   */
  uint16_t getECO2(void);

Other Supplementary Information

Was this article helpful?

TOP