Is using H2 to detect CO2 "good enough" for all non life-or-death situations?
Edit: And to clarify, I was mainly asking the parent comment as to what is their application that demand NDIR or "more direct" CO2 sensors.
[1] https://www.sensirion.com/fileadmin/user_upload/customers/se... [2] https://rmtplusstoragesenseair.blob.core.windows.net/docs/pu...
For example, the two sensors I have right now, with the windows open, the S8s report 478 and 455 ppm of CO2, while the SGP30s report 400 and 405 respectively. Without having calibrated instruments it's hard to know if any of these values are good, but they seem at least not too wildly off.
The SGP30 is a lot more compact and much less of an energy pig than the S8; the S8 will actually take so much current on the 5V rail that it'll cause the voltage to sag if you're powering it through USB with other devices connected (https://blog.jean-francois.im/2021/05/08/building-a-simple-a...). It's also a lot cheaper.
However, the SGP30 approximation can be off by a bit, and the calculation of the humidity value to give the sensor is a bit gnarly (https://github.com/jfim/air-quality-monitor-firmware/blob/ma...). It's also pretty obvious that the SGP30 has a hardcoded floor of 400 ppm CO2eq and that it won't ever return a value lower than that.
A VOC/CO2 equivalent sensor is measuring VOCs and using them as a proxy to estimate CO2 concentration levels. CO2 is of course fairly non-reactive so it'd difficult (read: expensive) to make a chemical sensor for this. VOCs are more reactive and easier to make a sensor for.
Basically, you're getting a sensor for VOCs that, based on some assumptions about outdoor or indoor air quality, is then being used to estimate CO2 levels.
This is fine if all you want is a loose estimate, but if you have reason to think your VOC/CO2 ratios are going to be different than "usual" (e.g. a CO2 storage facility, next to a poorly maintained combustion system) or where CO2 detection is of paramount importance (e.g. life-or-death situations), then a VOC detector is not acceptable.
EDIT: tried to improve the VOC examples