Arduino

Shower Thermostat

When I was in my early teens I read an article about a shower that instead of using a handle to adjust the temperature up and down relative to how it feels, you can set an absolute temperature. When the shower turns on you enter a temperature, say, 106° and the shower will adjust the water to that value

I was reminded about that article one day in late 2019 while repeatedly adjusting the shower handle to account for temperature slippage. I started trying to figure out a way to implement a similar system on my shower. After a month or two with this problem in the back of my mind I eventually came up with a solution that would fit my needs and fit the limitations of my apartment lease which prevented me from breaking the shower open and replacing the valve.

My solution is a system which turns the shower handle with a timing belt and a stepper motor mounted to the wall just outside the shower. The temperature is read from a digital thermometer attached to the shower head and an Arduino nano runs a closed loop to keep the temperature within a set range.

Blinds controller

I've wanted to get a system for controlling my blinds automatically for a while but consumer systems are significantly more expensive than they're worth to me. At this point I had no experience with Arduino or electrical engineering but this seemed like a good way to get started learning.

I researched different types of motors to figure out which was best for this purpose. I landed on a stepper motor which I use to run a wench to adjust the position of the blinds. I connected the stepper motor and two light sensors to an Arduino MKR Wifi. Then I connected the Arduino to my network and set it up to send state updates to and listen for commands from an MQTT server. This allows me to control and automate them through my Home Assistant instance.