The Sensirion SGP sensor family includes high-performance, multi-pixel gas sensors tailored for indoor air quality monitoring. Using metal-oxide (MOx) technology on a single chip, these sensors detect multiple pollutants and remain stable against contamination.
Core Sensor Models
The SGP sensors can be integrated with the Tasmota system. For more information, see here.
If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.
Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.
The GY-SGP41 module operates on a flexible 3.3V to 5V DC power supply. The core SGP41 sensor chip, however, has a narrower supply voltage range of 1.7V to 3.6V.
Arduino code
When interfacing the SGP41 VOC and NOx sensor with an Arduino, the most reliable approach is to use the official Sensirion I2C SGP41 library or the Adafruit SGP41 library.
This basic example initializes the sensor and retrieves raw VOC and NOx signals.
#include <Arduino.h> #include <SensirionI2CSgp41.h> #include <Wire.h> SensirionI2CSgp41 sgp41; void setup() { Serial.begin(115200); while (!Serial) { delay(100); } Wire.begin(); sgp41.begin(Wire); // Initial self-test uint16_t testResult; if (sgp41.executeSelfTest(testResult) || testResult != 0xD400) { Serial.println("SGP41 Self-test failed!"); } } void loop() { uint16_t error; uint16_t srawVoc = 0; uint16_t srawNox = 0; // Use default compensation (25°C, 50% RH) // For better accuracy, feed real T/RH from another sensor here error = sgp41.measureRawSignals(0x8000, 0x6666, srawVoc, srawNox); if (!error) { Serial.print("Raw VOC: "); Serial.print(srawVoc); Serial.print("\tRaw NOx: "); Serial.println(srawNox); } else { Serial.println("Measurement error!"); } delay(1000); // Wait 1 second }
This page has been accessed for: Today: 3, Until now: 26