{"id":1012,"date":"2017-09-05T21:11:24","date_gmt":"2017-09-06T03:11:24","guid":{"rendered":"https:\/\/supermediocre.org\/?page_id=1012"},"modified":"2025-12-13T16:06:42","modified_gmt":"2025-12-13T23:06:42","slug":"humidor-controller","status":"publish","type":"page","link":"https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/","title":{"rendered":"1st Gen Humidor Controller (2018)"},"content":{"rendered":"<h1>The Idea<\/h1>\n<p>Recently, my bud Vic mentioned that he was having trouble controlling the humidity in his cigar humidor. He had an electric fan over a bowl of water to circulate humidity, but he would have to remember to turn it on or off. Forgetting to turn off the fan meant soggy cigars (perhaps an exaggeration).<\/p>\n<p>So I opened my big yapper and said it would be trivial to automate the fan control. Well, it wasn&#8217;t exactly trivial, but was a rather straightforward Arduino design. Nevertheless, perhaps the resulting design will help others.<\/p>\n<h1>The Design<\/h1>\n<p>Vic&#8217;s got a bad-ass humidor. It&#8217;s got two separate levels and holds many hundred cigars. So we decided it would be best to control the humidity separately in the two levels.<\/p>\n<p>I had on hand a DHT22 humidity\/temperature sensor, and most of the required parts. So I downloaded the Adafruit sensor libraries <a href=\"https:\/\/github.com\/adafruit\/Adafruit_Sensor\">here <\/a>and <a href=\"https:\/\/github.com\/adafruit\/DHT-sensor-library\">here<\/a>. The second library is specific to the DHT22, but the first library is required too.<\/p>\n<p>Within a few minutes, I had the sensor hooked up and was reading data from it. Easy.<\/p>\n<p>I wanted the unit to be compact, so I chose <a href=\"https:\/\/www.amazon.com\/s\/ref=nb_sb_noss_2?url=search-alias%3Daps&amp;field-keywords=Diymall+0.96%22+Inch+I2c+IIC+Serial+128x64+Oled+LCD+LED+White+Display+Module\">this <\/a>small OLED display. These are cheap and look great. They use a I2C interface, so easily connect to the Arduino.<\/p>\n<p>I drive the fans with a couple of\u00a050n06 MOSFETs; overkill for this low-current application, but I had them on hand.<\/p>\n<p>The rest is pretty straightfoward. I put it in a little clear Hammond box (part number\u00a01591CTCL) that I got from Digikey. I love these little boxes &#8211; I like to see the guts of the project and don&#8217;t need to cut a hole for the display.<\/p>\n<h1>The Schematic<\/h1>\n<p>The schematic is a bit scrappy, but it gets the idea across.<a href=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller.png\" rel=\"lightbox[1012]\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1018\" src=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller-300x224.png\" alt=\"\" width=\"300\" height=\"224\" srcset=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller-300x224.png 300w, https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller-768x573.png 768w, https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller-1024x764.png 1024w, https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller.png 1477w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>And here is the Eagle file:\u00a0<a href=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller.zip\">humidor_controller<\/a><\/p>\n<h1>The Code<\/h1>\n<p>Here is the source code, in Arduino archive format (zipped too).<\/p>\n<p><a href=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/humidor_controller-170905a.zip\">humidor_controller-170905a<\/a><\/p>\n<h1>A Few More Pictures<\/h1>\n<p>Note that it was hard to get a good photo of the OLED display because it is constantly scanning, so aliasing showed up on the rolling-readout camera. The last photo was taken with a long integration time which helped. The display actually looks remarkably crisp in real life!<\/p>\n<div id='gallery-1' class='gallery galleryid-1012 gallery-columns-3 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/img_0873-2\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/IMG_0873-1-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-1022\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-1022'>\n\t\t\t\tTop view\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/img_0875\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/IMG_0875-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-1023\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-1023'>\n\t\t\t\tConnectors\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/img_0877\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/IMG_0877-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-1024\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-1024'>\n\t\t\t\tEnd view\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/img_0879\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/IMG_0879-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-1025\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-1025'>\n\t\t\t\tSide view\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/img_0882\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/supermediocre.org\/wp-content\/uploads\/2017\/09\/IMG_0882-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-1-1026\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-1026'>\n\t\t\t\tThe display\n\t\t\t\t<\/figcaption><\/figure>\n\t\t<\/div>\n\n<p>By the way, check out those sweet pushbuttons. They each have an annular LED that lights when each fan is powered. These are about two bucks a piece from China (seach Ebay for &#8220;Green LED Lamp SPST 12mm Panel Mount Momentary Metal Pushbutton Switch T1&#8221;).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Idea Recently, my bud Vic mentioned that he was having trouble controlling the humidity in his cigar humidor. He had an electric fan over a bowl of water to circulate humidity, but he would have to remember to turn it on or off. Forgetting to turn off the fan meant soggy cigars (perhaps an &hellip; <a href=\"https:\/\/supermediocre.org\/index.php\/rich\/richs-projects\/electronics\/humidor-controller\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">1st Gen Humidor Controller (2018)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1013,"parent":1208,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1012","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/pages\/1012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/comments?post=1012"}],"version-history":[{"count":5,"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/pages\/1012\/revisions"}],"predecessor-version":[{"id":1194,"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/pages\/1012\/revisions\/1194"}],"up":[{"embeddable":true,"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/pages\/1208"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/media\/1013"}],"wp:attachment":[{"href":"https:\/\/supermediocre.org\/index.php\/wp-json\/wp\/v2\/media?parent=1012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}