Earlier this year, I published a project I was working on, a general purpose NodeMCU breakout board (Multi-purpose NodeMCU breakout PCB). I designed this board to securely carry a NodeMCU board, a 4-channel level shifter, a DHT22 sensor, and breakout headers for every pin on the NodeMCU, on a self-contained PCB.
Since then, I’ve been using these boards as remote temperature/humidity sensors all over my house, as well as LED controllers for kitchen under-cabinet lighting.
Remote temperature sensor boards (MQTT)
WS2812 Remote LED controller (MQTT)
The sensors allow me to chart temperatures throughout the house, and adjust heating/cooling registers in each room to try to equalize the system.
Needless to say, raw PCBs were not exactly well received by the missus, and I also wanted to have local temperature display, so after spending some time over the last week or so, I created this:
The enclosure is designed in Fusion360, printed on my Prusa i3. I added an OLED screen to locally show temperature and humidity, while the NodeMCU carrier board/temp sensor is fully enclosed behind it. Sensor is read once a minute, and sent to the local screen and my MQTT topic in openHAB.
My topic in openHAB is set up like this:
Number Temperature_Ensuite "Ensuite Temp [%.1f F]" <temperature> (SF_Ensuite,Temp_Chart_2) {mqtt="<[broker:home/Ensuite/temperature:state:default]"}
Number Humidity_Ensuite "Ensuite Hum [%.1f %%]" <humidity> (SF_Ensuite,Hum_Chart) {mqtt="<[broker:home/Ensuite/humidity:state:default]"}
I can then use the items in a sitemap, or view the chart with the tracked temp/humidity.
For anyone interested in making their own, I’ve published the design on Thingiverse, and published my version of the NodeMCU ESP8266 code on Github.
I’ve also created how-to videos on my YT channel:
I continue working on the design, making different iterations of the enclosure, e.g.:
- (DONE) WS2812 LED controller (smaller, no OLED screen/DHT, with JST connector)
- (DONE) PIR motion sensor
- (DONE, ESP Easy) Differential Pressure sensor (for HVAC system flow monitoring)
- Sound sensor (for presence detection)
- Air quality sensor
- …?
I am now changing the software for the sensor to ESPEasy. Leveraging all of the work (and supported sensors) the ESPEasy team has done, I can focus more on the hardware/applications of my sensor, instead of spending redundant effort on making these sensors work. Adding new sensors (including analog) should be MUCH simpler going forward!
Hopefully, someone else finds this as useful as I have!