Published on: Jun 16, 2026
Investigation into not getting burned.
We recently moved into a new place, and it’s lovely… except the shower. The shower cannot keep a steady temperature. I am unsure if the problem is a temperature control problem, or a pressure problem. To figure this out, I set up a quick and dirty temperature sensor to get some readings. If it can maintain a steady full-hot temperature, it is likely a pressure problem and could be solved with a new shower mixing valve.
I used an ESP8266 with the ESPHome firmware. Connected to it was a waterproof DS18B20 digital temperature sensor. It communicates with the ESP using the one-wire protocol.
It’s a very barebones ESP config that I needed:
one_wire:
- platform: gpio
pin: GPIO4
sensor:
- platform: dallas_temp
name: "Shower Temperature"
update_interval: 5s
I threw everything onto a breadboard, attached it to the shower with a Ziploc, and began experimenting.

first started the shower at full hot. I ran this for about 10 minutes, then switched it to a “normal” shower temperature to watch what it did.
Full run:

Just the “normal” part from the full run:

For the first 10 minutes I let it run full hot. It settled as expected around 52°C and stayed level. Then I switched it to the “normal” temperature, and it moved all over the place. I ran the test a few more times. This pretty much confirmed the hot water is there and available, but the shower mixing valve is not handling changes in water pressure well. The fix is likely a new valve.