Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?:
What were the biggest problems encountered?:
Sensing the environment conditions is important to protect the health of different organism (including humans) from the negative outcomes of high level of pollutants or extreme environmental conditions. Non-optimal environmental conditions can have an important effect in the comfort and could affect the productivity of those working in the affected environment. Through the usage of environmental sensors, it is possible to asses the conditions and take appropriate actions to keep the environment safe and within the comfort zone.
In this roadtest I’m going to describe the major features of the Sensirion Environmental Sensor Shield (ESS) and perform some simple experiments to see how it performs in different conditions.
Sensirion is a swiss company with headquarters in Stäfa, Switzerland, founded in 1998 as a spin-off from the Swiss Federal Institute of Technology (ETH) Zurich. Their primary focus are sensors, and produce gas and liquid flow sensors, differential pressure sensors, and environmental sensors to measure humidity, temperature, volatile organic compounds (VOC), carbon dioxide (CO2) and particulate matter.
According to the company an important milestone for them was the solution of the long-standing stability problem in metal-oxide gas sensors in 2017. Their results were published in the MDPI open-source journal “Sensors”.
The Sensirion ESS is a shield that features a temperature and relative humidity sensor (SHTC1) and an air quality sensor that can measure TVOC and CO2eq (SGP30). Besides the sensors, the board also comes with 3 LEDS (green, orange and red) that can be activated independently and are meant to be used as a visual output. The sensors use I2C, and the shield can be plugged directly through its Arduino footprint to any compatible hardware, or through 4 cables (VCC, GND, SDA, SCL) to a connector on its back.
The board schematic is available for everyone in their GitHub, and as it can be seen the design is pretty straightforward and there isn’t much more than a voltage regulator, a level shifter, sensors, LEDs and connectors.
The company provides a library to use the board in their GitHub repository, the library is also straightforward, very clean and it just works right out of the box.
The SHTC1 is a temperature and relative humidity small DFN package (2 x 2 x .75 mm3) I2C sensor that runs on 1.8V.
Temperature at the microscopic scale is related to the kinetic energy of the particles (atoms or molecules) and affects many processes and physical properties. In electronic circuits the effect of the temperature is usually a nuisance, and different mechanisms are used to reduce the effect of its variation. Alternatively, instead of reducing the effect of temperature variation, it can be used to compute the temperature. One way to do so is through a “bandgap sensor”, which is a sensor based on the principle that the p-n junction forward voltage changes in a well-defined temperature-dependent way (given by the Shockley equation); and this is what the SHTC1 does internally.
Relative humidity is the ratio of partial pressure of water vapor to its saturation vapor pressure at a given temperature. For a given amount of water vapor in air, the relative humidity decreases as the temperature increases, that is, at higher temperatures more water molecules will be required to saturate air. Either low or high relative humidity can cause discomfort by affecting the moisture of skin. At low relative humidity, the rate of evaporation increases, and skin can dry or crack. At high relative humidity, evaporative cooling (cooling caused by phase change) through perspiration occurs at a lower rate and the human body has a harder time at reducing its temperature. As a side effect of affecting the capacity of the body to regulate its temperature, humans may perceive temperature higher or lower depending on the relative humidity.
The SHRC1 measures the relative humidity through a capacitive sensor, which as the name implies relies on measuring the humidity dependent variation of the capacitance. Capacitance depends not only on the area of the plates and their separation distance, but also on the permittivity of the dielectric. A hygroscopic material is used as dielectric, which attracts water molecules depending on the level of humidity in air, and depending on the amount of water it holds, changes its permittivity.
The typical accuracy of the temperature is ±0.3 °C, with a repeatability (defined as 3 times the standard deviation of consecutive measurements at constant conditions) of ±0.1 °C, a resolution (given by the ADC) of 0.01 °C and time constant of 5 to 30 s. The typical accuracy of the RH is ± 3 %RH, with a repeatability of 0.1 %RH, a resolution of ± 0.01 %RH, and a time constant of 8 s. The way ambient conditions affect the accuracy is shown below. It is worth mentioning that the sensor supports a low power measuring mode, where it is possible to reduce power consumption at the cost of lower accuracy.
The metal oxide (MOx) gas sensor is a 6 pin DFN package (2.45 x 2.45 x 0.75 mm3) I2C TVOC (total VOC) and CO2eq (CO2 equivalent) sensor with a low power consumption of 48 mA at 1.8V.
Volatile organic compounds (VOCs) are an heterogenous group of substances with the common feature of being volatile and organic. Others (such as the EPA) have also added to the definition that they must significantly contribute to the formation of ground-level ozone, which is harmful to the respiratory system. VOCs can impact human health directly thorough the toxic effects in the human body, or indirectly, through the contribution to ozone formation. Not all VOCs are equally toxic or contribute the same amount to ozone formation. Methane and acetylene for instance have very low toxicity, while benzene and formaldehyde are very toxic. Different VOCs can have different effects on the human, these include a wide range of acute and chronic health effects. Indoor sources of VOCs include cleaning agents, solvents, cosmetics, paints, varnishes, smoke, aerosol deodorizers, candles, incense, glues, among others.
The total VOC (TVOC), as the name suggests, is a unit of concentration that includes the total of all VOCs. It gives a rough estimation of how harmful the air may be to humans, but it still should be kept in mind that air with different VOC composition, but with the same TVOC, may impact health differently.
MOx gas sensors have attracted a lot of attention due to their low cost, simplicity and large number of gases they can detect in contrast with other gas sensing methods. The principles of how MOx gas sensors work are complex, but in essence, gases react to the metal oxides and modify their conductivity. The gas-MOx reaction depends on several factors such as the specific MOx, surface additives, temperature and humidity. As high temperature facilitates the reaction, the MOx is kept in a high temperature micro-hotplate.
The SGP30 is made of 4 sensing “pixels” of SnO2 with palladium doping between 0.1% and 5% (as shown in figure) which are kept at a constant (unspecified?) temperature through a feedback loop. Each sensing element (pixel) can be read separately, giving the sensor a greater sensing flexibility as each pixel has different gas selectivity. The signals of the pixels are digitally processed, taking into account the baseline compensation, calibration data and humidity compensation (which is fed externally)
Siloxanes are found in many products used in everyday life, such as cosmetics and cleaning agents. Siloxanes degrade MOx gas sensors even at low concentrations by reducing their VOC sensitivity. As mentioned earlier, Sensirion solved the long-term stability of their sensors so that their VOC signal doesn’t degrade over time.
In the figure below, we can see the effect of high concentration of siloxanes (to accelerate aging) on 3 different MOx sensors, the SGP30 and 2 unspecified ones.
The fabrication and calibration of the gas sensors makes them very similar to each other in terms of their TVOC response. As it can be seen in the figure, there is very little variability between 10 different SGP30.
One factor that affects MOx sensors is the humidity. Without taking it into account, the concentration output of the sensor varies. The SGP30 offers on-chip humidity compensation, but the absolute humidity needs to be fed into the chip by measuring it with an external sensor as the SGP30 cannot measure humidity.
In the bottom figure we can see an example of how the concentration reading of Ethanol at a concentration of 10 ppm, at 25 °C, varies as the humidity level changes.
CO2 is a gas with an important contribution to the greenhouse effect, and its atmospheric concentration has increased considerably since the industrial revolution. Important sources of CO2 are combustion of organic material (such as petroleum, coal, natural gas and wood) and the respiration of aerobic organisms.
The SGP30 can measure the indoor CO2 indirectly by measuring H2 and making the assumption that the concentration ratio between CO2 and H2 stays relatively constant at a defined value. Human respiration contains around 4% CO2 and 10 ppm H2, if most of the H2 and CO2 come from human respiration, the CO2 concentration can be calculated out of the H2 concentration. The signals of the SGP30 “pixels” can be tuned to increase the selectivity to H2, and through the estimation of the H2 level, the sensor is able to compute the equivalent CO2 level (CO2eq).
In the bottom figure we can see the CO2 level of an office meeting room as measured by the SGP30 and an NDIR sensor (which determines the CO2 concentration by measuring the CO2 absorption of infrared light). The SGP30 concentration response shows a very good match to the NDIR sensor concentration response. The deviation from the NDIR sensor response, according to the researchers, was caused by the cross-sensitivity to large TVOC signals and the individual variation of CO2 and H2 breath concentration.
To test the sensor, I performed multiple experiments on different conditions, but instead of using an Arduino I used and ESP32 (as shown in the image) which was programmed to record temperature, relative humidity, TVOC and CO2eq. I downloaded the provided library, which worked right out of the box, and programmed two different firmwares, one for long and one for short duration logging. The long duration logging firmware records data every 30 s. and uploads it to ThingSpeak through the internal ESP32 WiFi. The short duration logging firmware samples (oversamples) data every 250 ms. and sends it immediately to the notebook virtual serial port, which is captured by a Python program and saved to a file which is later plotted.
(ESP32 + Sensirion ESS)
Before performing any artificial test, I thought it would be interesting to see how it performed for what it was designed for, measurement of indoor air quality. I left the sensor in the least disturbed corner of my bedroom and kept it there logging for 20 days. My expectation was that across the days I would see a similar pattern that would repeat itself every 24 h. The temperature plot shows a very regular pattern, where the lowest temperature is reached at around 9:00 and the highest at around 17:00, with a few dips caused by the opening of the window next to the sensor. Relative humidity varies depending on the temperature when the moisture stays constant. It can be appreciated in the figure that a temperature decrease increases the relative humidity and a temperature increase decreases it. The dew point plot looked more irregular than the temperature and relative humidity plots, as it isn't affected by the temperature daily variation, but by the air moisture. The TVOC and CO2eq levels tended to be higher at night and also very irregular considering that there was not much activity in the bedroom while sleeping.
As I was suspicious about the irregularity of the TVOC and CO2eq curves during sleeping hours, I decided to enclose the sensor and see if I would observe a similar level of irregularity. The setup was far from ideal (as it can be seen in the image), but I could not do better with household items (Ideally the enclosure would have to seal hermetically, not outgas and temperature would have to be controlled among other things).
(ESP32 + Sensirion ESS + USB battery power)
The data was logged for almost 24 h. and as it can be seen, the temperature, relative humidity and the dew point did not change drastically during the recording. In contrast, the TVOC raised and converged to around 1700 ppb, and the CO2eq curve showed an oscillatory pattern which I suspect was caused by outgassing and heating of volatile residues inside the box. The absence of short duration oscillations in the experiment suggests that in the previous one, they were caused by gas dynamics and not hardware or software issues.
As the CO2eq is computed through the measurment of H2 concentration, I wanted to see how the sensor would respond to an increase of H2. To do so, I generated H2 (and many other side products) with a crude electrolytic cell. I filled a glass bottle with tap water (without adding any extra additives), inserted two cables and applied 5 VDC for 15 s., which generated 10 mA of current. The STG30 was installed at the side of the bottle, so that H2 could flow right into the sensor, and at the same time not get "trapped" under the board.
(Electrolysis experimental setup)
The resulting TVOC response curve shows that either H2 affected its value, or some side reaction occurred and affected it. On the other hand, the expected strong CO2eq response was caused by the increase of H2, as it is the analyte used to compute the CO2eq.
There are many VOCs and an important concentration of CO2 in human exhalation. To test the response of the sensor to it, I exhaled on 4 occasions for 15 s. each time (as seen in the figure). As expected, the temperature, humidity, TVOC and CO2eq response increased during exhalations. Interestingly the third TVOC and CO2eq oscillation spike displayed a higher amplitude, probably as result of holding air in the lungs for a longer period.
To see how the sensor responds to VOCs, I dropped a single drop of Ethanol (95% Ethanol, 0.2% Diethyl phthalate) 30 cm away from the sensor. As it can be seen in the figure, it took around 10 s. for the Ethanol to reach the sensor, and it produced a very strong TVOC and CO2eq response. The strong saturating CO2eq response was a bit unexpected, I suspect it may be the result of side reactions, maybe occurring within the micro-hotplate, or the lack of H2 selectivity.
MOx gas sensors are relatively inexpensive, robust, small, with high sensitivity and quick response times compared to other gas sensing technology. MOx sensors can also sense a wide variety of gases, but this at the same time makes gas selectivity challenging. Sensirion's approach to increase selectivity is to use an array of different sensing elements (pixels), which can be tuned to target specific gases. By producing an array of different MOx sensing elements and measuring the resistance of each one it is possible to build up a signature profile for different gases.
The small size, low power consumption and low cost could make these sensors an interesting addition to the array of sensors mobile phones come with; and for the same reason, Sensirion is confident smartphone makers will want to add gas sensing capabilities to their phones. Other applications for the gas sensors include breath analysis, (including alcohol testing and bad-breath detection) and ventilation control systems.
In this roadtest I scraped the surface of how these sensors operate and what can be done with them. I found that it was very hard to achieve repeatability in the experiments, as gas dynamics is very complex. This complexity arises from the multiple chemical reactions, different gas densities, air currents (turbulent and laminar), diffusion, temperature gradients, and the great number of different gases found in air.
During the roadtest I didn’t have any difficulty with either the board, the library, the examples, or the documentation. I’m very happy with the product and would like to thank Element14 and Sensirion for giving me the opportunity to roadtest it.
PD: If you find any mistakes or errors, please let me know and I will fix them.
Very good road test. The explanations were clear.
I was surprised that "eCO2" detection is based on hydrogen. I understand it's an inexpensive sensor, but the two gases are so different. I didn't know until this review that it was based on expected exhalation of H2 and CO2. I'm more worried about ambient CO2 levels from outside sources, not CO2 caused by me exhaling. I like that you split the H2O molecules to test the sensor.
A nice review. You obviously put a lot of thought and effort into it.
Very nice roadtest review. Plenty of charts and graphs based on some interesting tests.
I'm glad you liked the roadtest, I tried go the extra mile and do more than just showing that the hardware and software "work".
Very well written. New results look good.
Very impressive and informative review!
A great review there. Looks like a really capable and low-cost board for those wanting to conduct interesting experiments out of curiosity to those with a more professional requirement.
Awesome review. I hope this isnt the last