have my Enviro+ up and running and set up a custom .py to read values and send them to MQTT. From there on I further use the values in openHAB (Smarthome).
My question is about the Enviro+’ MICS6814 sensor. Right now it reads…
The gas sensors seem to be totally dependent on air temperature, pressure and humidity so I can’t see how anything accurate can be read from them. I have two boards. On in my garage near Manchester current reads as follows:
Where each respective rs/r0 is the current reading in ohms divided by the baseline air reading in ohms. They therefore require an r0 calibration measurement to be made upon startup and after a 100 minute warmup period.
They’re embedded in the code here: https://github.com/roscoe81/enviro-monitor
That code also includes some temperature, humidity and air pressure compensation of the gas sensors.
I’m developing a project based in the gas.py example of the enviroplus library. I’d like to know if the resistance value that the code gives is the Rs, R0 or Rs/R0 ratio.
on the other hand, could you advise me about the calibration you mentioned, I’d like to get measurements in ppm.
Hi Christian. That code will give you Rs. You can get R0 by measuring Rs in clean air and then Rs/R0 can be applied to the formulae to get approximate ppm values. I found it best to take an R0 measurement after the 100 minute sensor warmup period has been completed and you need to check that the air is clean at that time. Because of the need for clean air and the fact that each sensor responds to multiple gases, the ppm readings are just an approximation and won’t be highly accurate but their much more useful that just reporting Rs. My code on GitHub at https://github.com/roscoe81/enviro-monitor/blob/master/Northcliff_AQI_Monitor_Gen.py can show you how I did it. I’m still working on improving the gan sensor calibration algorithms.
Really love your programs Roscoe! I made some modifications to get a more thorough ‘Gases’ webpage on a free Adafruit IO account by adding a 5th ‘package’. See my page at IO - Adafruit
Happy to share the code if you’d like (but haven’t got confidence to do so on GitHub directly - I’ve never used it!).
I was wondering why your example ‘Basic’ packages were so bare? Maybe there has been a change at Adfruit’s end as you are now allowed 10 Feeds and up to 5 dashboards on a free account, and that opens up more possibilities.
Thanks for the feedback @ExperiMentor and I’m glad that you’ve found the code useful. Nice work on your Adafruit IO changes. I limited the basic package options because I understood that there was a limit of 5 feeds with the free version of Adafruit IO at the time I wrote the code. Glad that it’s now increased to ten!
Hi Roscoe,
the post is dating back to a while so I hope you’re still there but I’m trying anyway ^^
Thank you for the formula ! I was just wondering how or where did you get it ?