Controlling Humidity for Ukulele

Mark Lin
LifeOps — One problem at a time.
6 min readJan 7, 2023
Photo by Samuel Ramos on Unsplash

Problem

Wooden musical instruments such as guitar and ukulele are best kept in humidity control environment, somewhere between 40% — 60%. This prevents wood from being too dry which causes cracking or warping.

For dry region like California or Arizona, it’s either

  1. Use humidifier for the room.
  2. Have a case with humidity control. Either with electric humidifier or humidity pak.

Although common for cigars, instruments are pretty big to build a humidity control case. Some company does offer such solution.

Which is a nice wooden box to seal ukulele in. Inside, you can either connect a humidifier or place Boveda humidity control pak that will release moisture if humidity is too low, and absorb is it’s too high.

Boveda Humidity Control Pak

Case looks really nice, but at $850 a pop, I wanted to see if a cheaper solution can be done. I can try to build a case myself, but probably not gonna be much cheaper. Since I didn’t need to showcase the instrument, I opt to use the case that uke came with to experiment.

There is a few draw back of using electric humidifiers:

  1. Requires power.
  2. Requires monitoring water level and refill.
  3. If using a case instead of humidifying whole room, it will need some way to read humidity and adjust accordingly.

Selected Solution

Even tho Boveda pak is 2 way humidity control, if it’s too dry for long period of time, it wouldn’t control humidity anymore. So I need some way to replenish moisture.

Enter Oasis Humidifier.

An Oasis humidifier is filled with water which get absorb by some special gels. It then emits moisture little by little. But since it only emits moisture until it dries out, it might over done it.

However, when pair with a Boveda pak that can absorb excess moisture, excess issue is resolved. When Oasis is dried out, Boveda starts to emit moisture which solves the dry issue.

So that’s combination: One Boveda Pak + One Oasis Humidifier.

This allows the case to stay in right humidity much longer between each refill becasue Boveda acts as a buffer. I think it has gone over 2 weeks without re-filling the Oasis. And Boveda can last another 2–3 weeks. Will be doing some experiment soon.

Although the case is not sealed well, with the solution, you can see from the chart that it still maintains much more consistent humidity between 45%–51% compare to room’s normal humidity fluxtuation.

Monitoring System

To be able to check humidity without being next to the instrument is important. If monitoring is too cumbersome, then I won’t check it.

Better yet, it would be great if I can be notified only when action is needed, otherwise, no news is good news.

For monitoring, the final system is as follow:

  • Home Assistant software in home NAS, in a docker container. NAS was modified with 10GB of RAM in order to run docker. Home Assistant can store data, automate notification and show pretty dashboard. NAS is a good choice because it stays on anyway.
  • Collector and display: Adafruit ESP32 board that supports BTLE(Bluetooth Low Energy) and has a TFT Screen, and I attached 2 Sensors(Temp/Humidify and Light/Proximity) to monitor in room temp as well as turning off display when room is dark. https://www.adafruit.com/product/5483.
  • ESPHome is a plugin to HA which allows user to configure custom firmware to run on ESP32 board. It reads data from sensors and send to HA. Needs to configure each of the sensor and some component required custom coding to bring driver into ESPHome.
  • Xiaomi BTLE humidity sensors. https://www.adafruit.com/product/4881. It’s a cheap $10 sensor that allows custom firmware so any device in the room can pick up unencrypted transmission of humidity.

Conclusion

This is how it looks like in the ukulele case.

With everything running, while case is closed and store anywhere in the room, ESP32 will remotely collects humidity and temperature reading from sensors, display the values on build-in TFT screen.

Currently monitoring humidity means me looking at the numbers once a while to ensure case is maintaining humidity somewhere between 40%–60%. Because it’s running with Home Assistant, I can be notified via email or slack if something needs my attention.

Since data is tracked in Home Assistant, building dashboard is easy.

Dashboard in Home Assistant

Actions

If Uke’s humidity is too low, refill water in Oasis. If it’s too high, remove Oasis from case. But for the past 2 months, it’s been pretty hassle free, just water filling every month or so.

What’s good about this solution is that, any new instrument, it just needs a sensor, plus a oasis and Boveda pak, and it’s good to go.

The battery on the sensor uses 20% for 2 months. So probably needs to replace every 10 months. Since it’s also tracked in Home Assistant, we can be notified when battery is under certain threshold.

Cost Breakdowns

ESP32 Board is $24.99, much cheaper if getting some Aliexpress version at around $12. Just need one. Need more if ukes are stored in different room since board needs to be 10–15 feet away from sensors.

Sensor = $10

Boveda 49% Pak = $7

Oasis Ukulele Humidifier = $15

So, each uke costs about $32 to maintain its humidity.

One can also just go for multiple Boveda Pak which would last for long time and just need to replenish its moisture level every few months or so.

Anyway, that’s how I ended up building an home automation system for monitoring the humidity of the ukuleles. Overkill? Absolutely. But 100% worth it for the learning experience.

Side Notes

Simpler monitoring #1 For simpler humidity tracking, with those Xiaomi sensors, you could just run an app on the phone to read the sensor data. Draw back is that phone must be in close proximity to the sensors in order to receive data.

Simpler monitoring #2 The Boveda Butler and D’Addario Humiditrak will push notifications to your mobile devices when the humidity and/or temperature is below desired set points determined by the user.

Both of the simpler solution requires your phone being close to the sensor.

It’s my first time toying with any development board like ESP32. It was a pretty amazing learning experience. Since Home Assistant is an open source project, there is lots of reading and experiementation for getting this to work.

Who knew it could be so exciting just to make a library work under ESPHome so it can displays some simple text on the TFT screen.

Paired with earlier experience from building a mechanical keyboard from scratch such as printing PCB boards, making case design for fabrication, I know, we can turn this into a more refined solution.

But for now, it’s good enough.

Reference:

Custoom portion of ESPHome configurations:

--

--