Custom Temperature and Humidity Sensor with E-ink Display

embedded
electronics
projects
home automation
Published

March 22, 2021

E-Paper Temperature and Humidity Sensor

Summary

In 2019 I wanted some sensors to spread around my new house, and I wanted a new project, so I designed this little sensor. It was a fun exercise controlling the e-paper display, and I like the vertical USB-C connector design that allowed it to go straight onto a charger plugged into a wall outlet. Designing a sensor like this so small without inducing any self-heating is a challenge if you are looking for good accuracy. In the end, I decided to base my system on off-the-shelf 433MHz sensors, with an RTL-SDR as a base station collecting data, as described here

Design

The sensor uses an ESP32 module as the controller and WiFi radio, an AMS ENS210 for temperature and humidity sensing, and a 1.44” Pervasive Displays e-ink display. It has a USB-C connector sticking out of the back, with the idea that it could be plugged into a USB-C charger on any outlet for easy mounting and no need for batteries.

Once I got it all working, I found that it had a significant self-heating problem. Even after enabling sleep mode on the ESP32, and only powering on to sample every minute, I still got 5F+ of rise. I did a second revision of the board, with the temperature sensor placed onto a cut-out island at the bottom, with an air intake next to it so that – hopefully – convection would constantly pull fresh air in over the sensor and I could measure the ambient temperature, not the elevated value inside the case. This helped: with the redesign I got about 2F rise above ambient. Much better but still not as good as I’d like.

Front view of assembled sensor

Front view of assembled sensor

Back view of assembled sensor}

Back view of assembled sensor}

Back of printed circuit board

Back of printed circuit board

Front of printed circuit board

Front of printed circuit board

Plan B

I put the first one into operation. But then two things happened: first I bought some off-the-shelf 433MHz wireless sensors that are much cheaper than I could build the custom sensor for and seem to have better accuracy, and then the e-ink display suddenly stopped working. The sensor still reported fine over WiFi, but a bit of debugging seem to suggest something had gone wrong with the display. The COTS sensors have a lot to recommend them: e.g. they are cheap, they can be read easily with a RTL-SDR, no WiFi configuration necessary. So ultimately, while it was fun to bring up the e-ink display and this was a neat project, it didn’t make sense to keep using it.

Since then, I’ve been using a small single-board computer and RTL-SDR to collect data from a number of sensors into a Prometheus database, and it has been simple and reliable. When I want to add a new sensor, I don’t have to order parts or build anything.