Let's see how to assemble the Easy CO2 meter with a sensor Senseair S8 LP.
This will be a very short articleonly with the important differences compared to mounting with the MH-Z19B or MH-Z19C sensor. Let's go "to the point".
If you haven't seen the article "A homemade CO2 meter with Wifi against the coronavirus"you should see it now because this montage is based on it. Almost everything is the same, and here we will only deal with the differences.
Why use the Senseair S8 sensor?
I think the right question would be, why mount the Easy CO2 meter with another sensor?
There is several important reasons I can think of to use this sensor instead of the MH-Z19B or MH-Z19C.
- The NDIR Senseair S8 NDIR sensor is a better qualityof a Swedish company
- Provides more precise measurements
- It has longer duration
- For the time being no counterfeits
- Da fewer problems with food
Similarities in assembly
The construction of the meter with this sensor is almost identical. The sensor is very similar, it has almost the same physical form and the connections are the same.
For the whole assembly part, you can follow the tutorial "A homemade CO2 meter with Wifi against the coronavirus". The connections are exactly the same.
As in other cases, I recommend that you if your NodeMCU board has a VU pin (not all of them have it), connect the positive of the Senseair S8 LP (VCC) to that pin, instead of Vin.
The differences in the mounting of the meter are centred on the firmware, as the communication with this sensor is different, although the configuration, in general, is basically the same as with the MH-Z19B or MH-Z19C sensors.
Configuring ESP Easy for the Senseair S8
The major difference is that we have to choose the correct device in the "Devices" menu.
You will then be taken to the ESPEasy web page where you will make the sensor configuration.
We simply need to enter the information as shown below.
Where to buy the Senseair S8 sensor?
Here is the link to where I bought it: Senseair S8 LP. It arrived very quickly (one week):
It costs about 24 Euros here: Senseair S8 LP
It is a shop with many positive reviews and shipping is by AliExpress Standard ShippingYou should have it at home in about two weeks.
Be careful because there are other versions of the Senseair S8 sensor that are not valid. for the purpose we want (there are similar ones, e.g. for the automotive sector).
Senseair S8 LP CO2 sensor calibration
The Senseair S8 LP has a very good automatic calibration system (ABC, Automatic Baseline Correction), which means that the Senseair S8 LP is able to calibrate itself automatically, under normal conditions, you will not have to do manual calibration. and you can disengage from it.
The ABC algorithm permanently monitors the minimum CO2 reading over a pre-set period and slowly corrects for any drift over the long term compared to the concentration of 400 ppm (or 0.004%vol) of CO2 expected in open air.
The maximum setting allowed by the ABC algorithm of the Senseair S8 is 30-50 ppm per ABC period.
The factory-set ABC period is 8 days.
Due to a bug in the Senseair S8 sensor itself, avoid problems and mismatch a sensor, ESPEasy does not allow to start sensor calibration by software. (see below how to calibrate it using an ESPEasy ruler).
If you want to manually calibrate the sensor you will need to do the following:
You have to connect pin bCAL_in to GND for a minimum of 4 seconds and a maximum of 8 seconds and initiate a manual calibration.
Before starting the manual calibration, the sensor should be at about 400 ppm for a few minutes (I suggest a minimum of 15 minutes) for the sensor to stabilise. That is: you will have to leave the sensor operating outdoors for at least 15 minutes before starting the sensor. calibration.
The procedure is very easy:
- You leave the sensor running outdoors, at least 15 minutes
- You connect the bCAL_in pin to GND during more than 4 seconds and less than 8 seconds
- Keep the sensor outside for about 5 minutes to complete its calibration and stabilise.
- That's it. The sensor will assume the current concentration as 400 ppm.
It is important that do not leave the bCAL_in pin connected to GND for more than 8 seconds.because if 13 seconds are exceeded, the sensor starts a different calibration mode.which is not the one you are interested in (it is a calibration mode with a concentration of 0 ppm CO2, for which you would have to immerse the sensor in nitrogen, for example).
In my experience, if the sensor receives outside air from time to time, manual calibration is completely unnecessary.
However, if the sensor is placed at a location which is rarely well ventilated with outside airI recommend calibrating it manually outdoors from time to time.
Calibration of the Senseair S8 CO2 sensor with an ESPEasy ruler
Having to manually jumper the bCal_in pin to GND every time you want to calibrate it can be inconvenient, so here's how to do the calibration using an ESPEasy ruler conveniently and without having to access the meter directly.
What we are going to do is to tell ESPEasy to control the bCal_in pin and to set the PIN to GND for 5 seconds when we want to calibrate by means of a command.
To do this we will need to do two things:
- Connect the bCal_in pin of the Senseair S8 to a pin of the ESP8266.
- Include a rule that connects bCal_in to GND for 5 seconds
The first step is to connect bCal_in to an ESP8266 pin using a small wire. I have used pin D5 (GPIO14).
In the "Rules" tab of ESPEasy we will have to include the following:
On CalibrateS8 do
On rules#timer=1 do
On System#Boot do
GPIO,14,2 // Sets GPIO14 (calibration PIN) to high impedance
The first block "On CalibrateS8" to "EndOnThe timer is set to "low", sets the GPIO14 pin (D5) to logic low (ties it to GND) and sets timer number 1 to run five seconds later.
The second block "On rules#timer=1 do" to "EndOn"is executed when timer number 1 reaches zero (after five seconds) and sets the GPIO14 (D5) pin to high impedance logic level (as if it were "loose" again, disconnecting it from GND).
The third block "On System#Boot do" to "EndOn"It is automatically executed every time ESPEasy is started (when it is turned on or restarted) and ensures that the GPIO14 (D5) pin is set to high impedance logic level (as if it were "loose") every time the meter is started.
That's it. Now all we have to do when we want to calibrate our Senseair S8 is to enter the following line in our browser (replacing 192.168.1.77 with the IP of your CO2 meter):
You will see the browser load an "OK" page and the sensor will be calibrated.