It looks like I've linked you here myself. Linking people to a blogpost I wrote is often a bit akward, especially at work.
I likely shared this blog in an attempt to further a conversation. Usually the post does a better job at succinctly sharing information than I could by talking.
In any case, I hope me sharing this post doesn't come across as humblebragging, that's really the opposite of what I'm trying to achieve.
Thanks for reading!
In early 2021, I built a single person infrared sauna, from scratch. While I have been using the sauna frequently since then, up until recently I still had to operate it manually by plugging in individual infrared heaters.
As a self-proclaimed home-automation aficionado that’s obviously not something I could let slide.
I decided to make the sauna a bit smarter by adding:
As a heavy Home Assistant user, integration with that platform was a hard requirement. That still leaves an almost infinite amount of options though, as Home Assistant integrates with just about everything you can think of. As I wanted to try out some things I hadn’t used before, I decided to go for a custom electronics build.
My building blocks of choice:
I first tried everything out on a breadboard - that really only took 30 minutes.
After validating everything worked, I spend a few hours making the circuit production ready: soldering the ESP32 on a prototype board, adding connectors to longer signalling wires and wiring the relays.
I also added power plugs and sockets between the relay module and the infrared heaters. This allows me to quickly reconfigure the sauna to function without home automation and not need a screwdriver or soldering iron to do so. That makes everything more bug- and future-proof.
One thing I noticed is that the BME280 environment sensor was reporting incorrect temperatures when compared to other thermometers mounted right next to it. At room temperature the sensor was accurate, but as soon as I started heating the sauna it would very quickly report high temperatures, often 10 or more degrees off.
For reference, the BME280 sensor supports temperatures up to 85°C (±1.0°C accuracy). As the sauna doesn’t go above 60°C, the sensor itself should be more than capable of supporting this. I also verified that the particular sensor itself wasn’t faulty by swapping it out with a different one - same problem.
After a bunch more sauna sessions and head scratching, I realized that the sensor was probably getting directly hit by infrared rays coming from the heaters. Similar to how a metal or dark-colored object will get hot in direct sunlight, this leads to incorrect measurements of the ambient temperature.
I solved this by embedding the BME280 sensor in a small wooden enclosure I made with my newly acquired laser cutter - the issue disappeared instantly. Problem solved 😁
After that, the only thing left was polishing the ESPHome config a bit and creating a Sauna dashboard in Home Assistant to see and control everything.
If you’ve never used ESPHome before, you should really try it out. The entire YAML configuration file for this project is 75 lines long and includes the BME280 config and the relay module as a set of GPIO switches. No coding required whatsoever.
After flashing the ESPHome config to the ESP32 micro-controller using a single CLI command (
esphome run sauna.yaml), I just needed to run the ESPHome integration setup wizard in Home Assistant to automatically add the different sensors provided by the BME280 and the relays to Home Assistant.
Even after using ESPHome in multiple other projects, I keep being amazed with how easy ESPHome makes the integration with Home Assistant and how reliable it is afterwards.
As of now, I mostly still “manually” flip individual infrared heaters on and off through my phone, but of course, using Home Assistant it would be trivially easy to implement specific automation rules around it.
The above describes the state of things at the time of posting, but there’s tons of potential improvements I’ve been thinking about:
I’m not sure whether I’ll end up doing do any of these, but it never hurts to have a backlog of things to work on 😎. If I do, I’ll update this post accordingly.
It’s easy to argue that installing home automation in a sauna is overkill. Indeed, a few manual on-off switches and a cheap thermometer pretty much achieve the same thing for significantly less money and effort. They also don’t require a phone or computer to operate.
But of course, that argument can be made about most home automation projects.
For me, the goal is not to save time or effort, it’s about learning and having fun along the way. The convenience it brings afterwards is more of an added bonus.
So worth it? Yes, 100%!