3 ms·
Having played with an SGP41 (a current-gen VOC sensor), you cannot correctly do anything involving a threshold. The sensor has a couple of nasty properties, all
by amluto 1y ago
Having played with an SGP41 (a current-gen VOC sensor), you cannot correctly do anything involving a threshold. The sensor has a couple of nasty properties, all well documented in the datasheet:
- It has a lot of low frequency noise (timescale of hours to days), so you need to do some sort of high pass filter.
- The responses to different VOC compounds don’t even necessarily have the same sign.
So the sensor gives you a “raw” reading that you are supposed to post-process with a specific algorithm to produce a “VOC index” that, under steady state conditions, is a constant irrespective of the actual VOC level. And then you look at it over time and it will go to a higher value to indicate something like “it’s probably stinkier now than it was half an hour ago”.
This, of course, cannot distinguish smoking from perfume or from anything else, nor is it even particularly reliable at indicating anything at all.
Modern PM2.5 meters are actually pretty good, although they struggle in high humidity conditions. But they still can’t distinguish smoking from other sources on fine particles.
- jojobas 1y ago>some sort of high pass filter Quite some algorithm you got there!
- amluto 1y agoThere is a concrete algorithm, IIRC complete with pseudocode, in the datasheet. You can find open source implementations in various places. And you can have your own opinion about whether the algorithm is fit for your particular purpose.
- jojobas 1y agoI was jabbing at the "algorithmic smoke detectors", not the concept of filtering sensor output.