Project Idea: Smart Shower


Create a smart shower control system. System sets the shower to a specified temperature and pressure, and maintains them as input water conditions change (hot water runs low, etc.). Remembers personal preferences for several different people.


  • raspberry pi
  • waterproof display
  • waterproof control buttons
  • immersed water temperature sensor (wired)
  • inline water pressure sensor
  • 2-3 copper ball valve
  • stepper motor and gearing assembly for each ball valve


I’m guessing that the mechanical aspect of driving the ball valve precisely and reproducibily will be one of the most challenging for me. Not sure about the third valve purely for pressure. I’d prefer to run with two and manage pressure via inputs, but I’m concerned of a feedback loop where the system can’t ever settle down because changing anything throws everything else out of whack.

In terms of software and control.. ┬áRough thoughts. Five minute window after turning on the lines before it tries to adjust for target temperature. A ui indicator when it’s ready for use. A learning mode to determine how many motor steps correspond to fully open for each valve. Possibly a learning aspect that stores the average temperature / pressure for different stepping points, depending on database access speeds..


Tie the local pi into the greater home network:

  • Home event notifications on the display
  • Video baby monitor on the display
  • Play music from LAN or internet