User avatar
By RichardS
#42985 User

After failing to keep my humidor properly hydrated for the umpteenth time, I figured, there had to be a better way to get alerts if the moisture level dropped too low. A simple DHT22, piezo and Arduino were the first iteration, but they lacked anything sexy and were, quite frankly, annoying. When the ESP8266 hit the market, I thought I had finally found a great device to solve this problem. Once proper toolchains were available, and with the release of the ESP12 board, I finally had all of the tools I needed to go completely crazy.
Would a DHT22 work? Yup. Should I add an analog dial? Absolutely! Can I add some pizzazz with RGB LEDs and reactive elements like a Hall Effect Sensor which will light up the case when the lid opens? Heck Yea! Well, can I also let me check the status from elsewhere in the home *WITHOUT* a 3rd party service? Yer damn straight! Too much to ask for email alerts (using 3rd party service)? Ha! No problem! But wait, if I want to reflash it, do I have to mess with it and remove it to get to the serial interface? Son, guess you aint heard of OTA!

The whole project is built on one round PCB that fits inside the "brass" insert that came with my humidor. I carefully ran the power lines from a USB cable inside the box to provide adequate power and ran some LEDs into the top corners of the lid.
My modified version of esphttpd provides access to status and configuration pages as well as OTA flashing. All web resources are local, so the box works just fine if the internet goes out. This required minification and the creation of a heavily modified version of the justGauge.js file (mine is under 4k). Using PushingBox, I can send alerts via email about the status of the device. I would love to do this direct, but I need a good SMTPS library to interface with a gmail account.

Recipe for Fun (parts list):
1 part esp8266 (ESP12/12E/07)
1 part DHT22 Temperature and Humidity Sensor
1 part Switec x25.168 Stepper Motor and L293DD Motor Driver
1 part A3144 Hall Effect Sensor and Neodymium Magnet
3 parts WS2812 programmable LED (1 if you only want the dial, three if you also want the illuminated lid)
Dash of capacitor and a pinch of resistors
Headers, switches and buttons to taste (for flashing, boot mode and reset)
Bake on a PCB from with some gnarly hand soldering of SMD components and let cool in a Spanish cedar box of your choice!

On the forum I am prozac. I am working on getting the code in a usable state for others, as well and the schematic and board design. I had started to make a version 2, but since version 1 worked, I let it slide, but I had already updated a bunch of files.


User avatar
By prozac
#43641 Just wanted to add some more photos that got left off:

I am working on a version that uses a better humidity sensor (possibly ChipCap2) and a driver that doesn't tie up 4 pins, since this uses just about every available gpio on the esp-12.
User avatar
By Mashcigar
#51074 This is brilliant. I have been working on something like this, but much more rough, for about 6 months. Thanks for sharing, I look forward to more updates and hope to replicate this myself.
User avatar
By b4youleap
#74686 That stepper motor looks very similar to the ones used in my gauge cluster on my Chevy Avalanche. I have a couple extra lying around and your project has given me some ideas! Thanks!