Cover image for the article

The Shower Problem

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.

The Setup

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.

Image of breadboard in bag outside shower Image of temperature sensor inside shower

Testing

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: Full temperature readings graph

Just the “normal” part from the full run: Normal temp readings graph

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.