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 DirtyPCBs.com 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.
ESP8266 ESP32 deals at Amazon
Where I buy my ESP8266 boards from... (Banggood)
New site featuring ESP8266 and ESP32 projects. tutorials, and news.
ESP8266.com Founder and Administrator
Home of the ESP8266, ESP8285, and ESP32 microcontrollers....