AirGradient Forum

The SGP41 Detects NOx Events, But Can You Trust the Number?

The SGP41 is a small MOX (metal oxide) gas sensor from Sensirion that puts out two air quality signals, one for VOCs and one for NOx. We use it inside our AirGradient monitors (everything from the ONE to the Go), so understanding how far its NOx reading can be trusted was something we wanted to better understand. We've already put the VOC side through its own testing (results can be read here), and today we want to turn to the NOx half. In this article, we will look at controlled, indoor performance and in an upcoming article, we will take a deeper look at outdoor performance.


This is a companion discussion topic for the original entry at https://www.airgradient.com/blog/sgp41-indoor-performance

love how dedicated y’all are to rigorous testing and developing a better product than sensor manufacturers alone can offer.

a few questions: if the raw data appears to lag the reference levels, which could be considered better than the sharp decline of the index number, would it not be better to have monitors show raw numbers rather than index? to error on the side of safety?

i’m not seeing a raw option for NOx on the dashboard. but could that be an option in the future?

lastly, do different Index Learning Time Offset Durations have any impact on the index numbers tracking of the reference? from the graphs above, it seems the algorithm is very responsive, and quickly heads back down to 0. perhaps lengthening that offset time would slow that trend?

I appreciate the comprehensive testing of the SGP41 sensor and posting of the results. I agree that the sensor effectively becomes nose-blind to ambient gas concentrations with the shifting baseline so that the effect could be that the sensor reports lower levels than are present. This compromises the utility of the sensor and suggests to me that some thought needs to go into reporting raw numbers so that users have the ability to see detection events and compare those events to the reported values to better understand whether they can trust the sensor data in their own situation.

In one sense it is obvious that the moving average employed distorts the reported data enough to make it unusable in some situations. Employing a longer moving average smooths the output too much as is evident in the long duration data stream that missed the roll-off of the actual event. A shorter moving average would be more appropriate but no matter how it is handled, the baseline is a moving target and that is the biggest issue.