Sam Curren
Published © GPL3+

Alexa Enabled, Arduino Powered Hot Water Monitor

Do you ever run out of hot water in the shower? Make this Arduino-powered monitoring device, and then ask Alexa, "How long can I shower?"

IntermediateFull instructions provided5 hours4,542
Alexa Enabled, Arduino Powered Hot Water Monitor

Things used in this project

Hardware components

Wemos D1 Mini
Espressif Wemos D1 Mini
×1
WeMos D1 Mini Protoboard Shield
Can substitute any protoboard cut down to size.
×1
uxcell G3/4" Hall Effect Liquid Water Flow Sensor Switch Flowmeter Fluid Meter 2-45L/min
This particular flow meter has the right fittings for easily adding to most hot water heaters.
×1
Flexible Copper Water Heater Connector 3/4 FIP
Longer hoses are easier to fit into place. These will be in stock at your local hardware store. Make sure to get the connectors with rubber washers in the ends.
×1
MAX31820 1-Wire Ambient Temperature Sensor
Maxim Integrated MAX31820 1-Wire Ambient Temperature Sensor
×2
AWS CloudWatch
Amazon Web Services AWS CloudWatch
×1
3 pin JST SM Male Female plug
This connector matches the plug on the flow meter, and an additional one is used to connect the temperature sensors.
×2
Echo Dot
Amazon Alexa Echo Dot
Or any other Alexa device or mobile app.
×1
Flora RGB Neopixel LEDs- Pack of 4
Adafruit Flora RGB Neopixel LEDs- Pack of 4
Note: You only need 1 pixel of any type. I used one LED cut off an LED strip that I had left over from another project. This LED is used as a status light, and can be replaced by a simper LED or left off alltogether if needed.
×1
Resistor 330 ohm
Resistor 330 ohm
Used for the signal connection on the Neopixel LED.
×1
Resistor 4.75k ohm
Resistor 4.75k ohm
Used to tie the data pin on the temperature sensors high.
×1
Resistor 100 ohm
Resistor 100 ohm
Used to connect the data pin of the flow meter to ground.
×1

Software apps and online services

Arduino IDE
Arduino IDE
Alexa Skills Kit
Amazon Alexa Alexa Skills Kit
AWS Lambda
Amazon Web Services AWS Lambda
AWS API Gateway
Amazon Web Services AWS API Gateway

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
3D Printer (generic)
3D Printer (generic)
This is optional but adds a nice finished look.
Crescent Wrench
You may need two.

Story

Read more

Schematics

Fritzing Wiring Diagram

This will detail the required connections. See written Project Instructions for additional details.

Code

Hot Water Monitor Arduino Code

This code runs on the WeMos D1 Mini Arduino microcontroller. Be sure to update the configuration values in code for the API Gateway, Wifi Connection, and your hot water heater parameters.

Hot Water Monitor AWS Lambda Functions

The monitor uses two AWS lambda functions: One for receiving data from the microcontroller, and another for serving Alexa Requests. Be sure to update configuration values within the code. There are also IAM permissions and API Gateway Configuration that will need to be setup. See Project Instructions for additional details.

Credits

Sam Curren

Sam Curren

1 project • 2 followers

Comments