Sciosense ENS21x - a humidity sensor with high-accuracy
Just as in many other areas of electronics, sensor manufacturers permanently improve product quality. Regarding high-accuracy humidity sensors, the Sciosense ENS215 boasts a market-leading accuracy of plus/minus 0.8%.
From a circuit designer’s point of view, digital humidity sensors are straightforward to use. They are usually connected to the microcontroller using a classic I2C bus - the tranquil working speed of the bus is not an issue, as humidity tends to change relatively slowly.
In the case of the ENS215, about a dozen registers are used for communication with the sensor - the actual temperature conversion is not particularly difficult. C based microcontrollers can do it with code similar to the following:
uint32_t h_data = (h_val>>0 ) & 0xffff;
uint32_t h_valid= (h_val>>16) & 0x1;
uint32_t h_crc = (h_val>>17) & 0x7f;
printf(“ENS210: H: %06x %02x %01x %04x\n”, h_val, h_crc, h_valid,
h_data ); // Check the CRC
uint32_t h_payl = (h_val>>0 ) & 0x1ffff;
bool h_crc_ok= crc7(h_payl)==h_crc;
// Convert to float (and print)
float H = (float)h_data/512; // relative humidity (in %)
ENS215 or ENS210 for an accuracy-price trade-off
Designing high-accuracy sensors is expensive. As not all metrology applications put equally strenuous demands on their input data, Sciosense provides a family of sensors as outlined below.The highest accuracy humidity sensor is the SKU ENS215, while other sensor SKUs, such as the ENS212 or the ENS210, can be used as a drop-in replacement if accuracy suffices.
Actual accuracy, of course, depends on a variety of factors. In the case of the ENS21x family, accuracy is mostly affected by the ambient temperature. The accuracy is indicated in nomograms from the data sheet, which show that the ENS215 can reach 0.8% humidity accuracy in a wide area.
PCB design for digital humidity sensors
As in the case of many other metrology applications, achieving high accuracy requires careful PCB layout. Foreign temperature influences are to be minimized as far as possible. This can be achieved by physical placement; however, smart PCB design, as outlined in the application notes, further mitigates problems. A good practice involves not putting a ground plane below the sensor and - if possible - milling slits around the sensor to provide additional airflow and limitation of temperature conduction.
In addition, a small MLCC decoupling capacitor should be placed near the sensor. Its job is to keep out voltage fluctuations, which might affect the measurement process negatively. Finally, the ENS21x also contains a digital thermometer. This means that the sensor can also be used as a digital temperature sensor - the ENS215 accuracy is 0.10°C, while the lowest-end model ENS210 clocks in with the still respectable temperature accuracy of +/- 0.15°C.
Evaluation via a USB-to-I2C bridge
ScioSense’s decision to base the ENS21x on the I2C standard means that an evaluation board is available under the SKU ENS21X_EK V1 USB . As of this writing, it consists of the two parts shown in the figure. The element containing the flexible PCB bears the humidity and temperature sensor. It plugs into a USB stick-like device with the protocol converter
Sciosense furthermore supports evaluation by providing a feature-rich dashboard that can be run on the Windows host operating system. Its code can be found at https://github.com/sciosense/.
Conclusion
If extremely high humidity accuracy is needed to meet specifications, the Sciosense ENS21x family is an excellent choice. The ENS215 provides an amazing level of accuracy, while more affordable units are also available. The commonality in the programming interface means that different versions can be provided with relative ease - simply exchange pick-and-place files and bills of materials to achieve a different product grading