Denny’s DIY Pumidor w/ Live Data Feed

[This is a living document]

Jump to Pumidor V3

Tea Den Aging Project Goals:

  • Accurate representation of variables influencing tea aging
  • Accurate visual representation of tea aging over time
  • Subjective perspective of tea aging over time

Creating a “Smart” Pumidor

Materials & Tools:

    • HomeAssistant
    • Wifi Smart Socket
    • Zigbee Humidity & Temperature Sensor
    • Seedling Heating Mat
    • Boveda 65% Two-Way Humidity Control Pack, Size 320
    • Insulation
    • NodeMCU ESP32 SBC
    • SHTC3 Temperature and Humidity Sensor

Version 1: Zigbee sensors

I used a Zigbee-protocol humidity and temperature sensor to start (the square device in there).  While zigbee is great for household lights, zigbee devices work best in a tight mesh with amplifier or repeaters within the system.  As my pumidor is far away from other zigbee devices, the quality of the signal was iffy at best, and the sensors in this device aren’t great.

pumidor v1

Gotta build my own I guess.

Version 2: ESP32 + SHTC3

I’m using a ESP32 board (NodeMCU 38 pinout) and a SHTC3 humidity and temperature sensor.  Way way better.

Wrap it up in blankets (insulation):

ESPHome Code

Here is the added logic beyond a standard ESPHome template for an ESP32 device, in case you want to build your own:

  • i2c:
    • sda: GPIO21
    • scl: GPIO22
    • scan: true
  • sensor:
    • – platform: shtcx
    • temperature:
      • name: “Pumidor Temperature”
    • humidity:
      • name: “Pumidor Humidity”
    • update_interval: 30s

While it does require a wired power source (I mean I could run this off a portable battery but w/e), this device is way way way more accurate.

I also moved my pumidor into the room adjacent to our furnace to reduce the burden on the heating pad and save a bit of money.  The concern in this room is the ambient humidity is extremely low, but so far so good!

Here’s how it looks inside my HomeAssistant UI:

Wattage reading, effectively its power cycle visualized:

Generating Data

Humidity and temperature updates every hour directly from my pumedor to the interactive graph below.

Full Screen Interactive Graph Link: https://teadb.org/humidity_temperature_graph.html

Publish It Online

Naturally I had to figure out a way to get it online.  I’m using HomeAssistant’s API, pulling data to a spreadsheet file via an hourly cron job, which I then run some simple python on to generate the above graph.  My script also takes a screenshot and updates the featured image of this blog post hourly.

Taking Photos: Color Accuracy Over Time

Turns out, to do this right is hard.

My 80/20 TLDR:

  • Taking photos at night
  • Same lighting setup
  • Take a lot of photos
  • Color match photos across time

Materials & Tools

  • RawTherapee
  • Color Correction Card

Lighting Setup

White2Tea Hypnotrain

TeaDB Episode #520: https://www.youtube.com/watch?v=HBFJ9Hy2Nho

URL: https://white2tea.com/products/2022-hypnotrain

Photos taken on 1/28/25:

VERSION 3 + MORE

(Update May 4 2025)

IDK why I didn’t start with this cooler:





Full Screen Interactive Graph Link: https://teadb.org/humidity_temperature_graph.html

Dry Storage

Added another temp sensor to the dry, unheated storage; here’s the setup:

This drawer is enclosed completely, including from the bottom.



Full Screen Interactive Graph Link: https://teadb.org/humidity_temperature_graph2.html

Graphing Both Sensors

Full Screen Interactive Graph Link: https://teadb.org/humidity_temperature_graph3.html

Power Data

This data visualizes how frequently the heating element turns on and off, and for how long it’s on and off.

The change of a suspended heating element makes a big difference overall.

New Home Assistant Dash

 

Comments

4 responses to “Denny’s DIY Pumidor w/ Live Data Feed”

  1. D Buck Avatar
    D Buck

    Hey Denny,
    Just wanted to make you aware that there appears to be a heater failure on your Tea Den, beginning around Feb 2nd. Hope it’s an easy fix!

    1. Denny Avatar

      Thanks! It was intentional! 😀

  2. DavidL Avatar
    DavidL

    Hello Denny,
    cool project you have there! Because I have also build a pumidor with such sensors and esp module etc. I want to share some things I found out:

    1. Make sure to calibrate the sensor! It is factory calibrated, yes, but that’s only for the sensor itself. Someone soldered it on the PCB and then it was sitting in some unknown environment for an unknown amount of time. Therefor humidity offsets can occur. Temperature readings are mostly trustful, because temp sensor is not affected by air quality conditions around the sensor. Use some saturated soduim cloride solution and distilled water for calibrating at 75%. And I would at least test a second lower value with a new (not recharged) boveda and see if the error is roughly the same.

    2. I recently ordered some HDC3022 sensors from Adafruit and they seem to be the best option currently available. They also had to be calibrated, but they can be auto calibrated in some dryer conditions. (See user guide to that sensor). The offset can be saved in the sensor itself, which I find quite nice. As I just received them and tested a bit, I can’t share more advice on them, but they seem to be very good. (But your current sensor should also be fine, when calibrated. )

    3. Check the sensor accuracy once a year or two. The humidity error will drift over the years.

    Good luck with your build! I would love to see a video when it is completely finished. 🙂

    1. Denny Avatar

      Thanks David!! Super appreciate your comments!

      Thx for the share on that highly accurate sensor, always fun to play with the newest tech.

      I’ll check the sensor accuracy. So far it’s staying within a very tight range of temp and humidity now that the environment is well insulated (v2 upgraded to a cooler) and humidity sealed.

      A close-to-perfect 81.3*F – 82.4*F at 64.7% – 65.8%.

      The heating sensor drift is the concern because I am actively turning the heating element on and off based on that data, so I’ll be extra careful there re calibration. Seems like the humidity is close to dialed as I have 65% packs inside.

      I’ll definitely make a video, thanks for the comment!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.