Public Lab Research note

Water flow sensor for shower?

by marmdavis | October 16, 2018 04:44 16 Oct 04:44 | #17299 | #17299

Last year, my iCons team at UMass conducted an experiment with the goal of trying to reduce students' shower times. We built a device that displayed time and water consumption that the students would use in the shower and have to manually press start and stop buttons. Through the conscious behavior of physically pressing the buttons and watching their water consumption go up, we found that we were able to reduce shower duration by about 40%.

As a part of the Makerspace 597M course here at UMass, I am trying to modify this device so it can collect the control data as well as the experimental data. I was hoping to attach the device to the pipe of a shower-head and have a sensor pick up the vibrations/sound the water makes as it flows through the pipe as an indication of water usage. The device has to be small enough to fit on a shower head and also be unnoticeable to the public, as well as run on a source of power that lasts for at least a month. Does anyone know how to go about doing this?


Can you share more about what you're using to capture the data on the existing device? Are you hoping this modification can be incorporated into your existing tool, or would this be a separate piece? It would be great to see a little more about how you've approached the first piece of this.

It sounds like you'll be adding a sensor (you could probably use one or a few of several different kinds-- temperature, motion, etc) in connection with a datalogger, which you would either have write to an SD card or possibly connect via wifi. Does this sound right?

As for making everything invisible, it will depend a little bit on what components you end up using and how much set dressing you'll need to disguise them. As far as housing, I would imagine your considerations would include keeping things dry (and possibly a little insulated: I know my pipes can melt plastic when the heat is all the way up) Without knowing much about the specifics of the shower or showers you'll be testing in, I think there could be some ways forward in disassembling a showerhead to see if there are ways to sneak your boards or sensors inside (perhaps by removing some of the flow controls, etc) or else constructing a housing that could sit above the shower head or around the pipe and be protected/hidden by a housing, though your form will be dictated somewhat by the components you need to accomodate.

You might find some of the notes about the Riffle (an open source datalogger) helpful in thinking about sensor/logger combinations, and I would also point you towards some of @cfastie 's work. Chris has done a lot of really great monitoring projects (with really well documented how-to's) that I think could help you think through the process a bit.

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

This is great project. The trickiest part will be making the device "unnoticeable to the public." That could be a real obstacle to finding a simple solution and could require fabricating clever pseudo fixtures or gaining access to the plumbing.

If these are single showers (not locker room type multiple showers or shower stalls) and if they are not carefully enclosed (the shower curtain or door allows air circulation even when closed) you might be able to log shower duration with a humidity sensor. An advantage of that approach is that the sensor can be anywhere in the shower stall or even outside the shower. That will make it easier to make the data logger inconspicuous.

The logger could be concealed in a commonplace fixture from the hardware store. For example a standard junction box and faceplate could easliy hold a Mini Pearl Logger with BME280 sensor. This could be glued to the wall anywhere near the shower and might be sufficiently inconspicuous to avoid attention. A Mini Pearl Logger will log data for a few to several months on AAA batteries when controlled by an external timer.

The BME280 also senses temperature, so you could probably identify a signature of air temperature and humidity that would pin down the start and stop of a hot shower (the humidity will stay pegged at 100% for a while after the shower ends but the temperature will drop quicker).

If you add a $1.00 sound sensor you could more easily identify a shower signature. The cheap sound sensors are sort of flaky, so it might not work on its own.

Logging data (temperature, humidity, and sound level) once every two or three minutes might provide enough resolution without overwhelming you with data.


Is this a question? Click here to post it to the Questions page.

Reply to this comment...

@Bronwen I am trying to make this a separate device solely for collecting data. The first piece of this was just an Arduino programmed to display shower duration and water usage in that time (by just multiplying time by water flow) and 2 buttons (one that started this timer and one that stopped it as well as write the data to an SD card). The problem was that we had to collect the control data (before the intervention) manually and sit in the bathroom and time how long people's showers were discretely. The device I would like to make would take the manual labor factor out of this study so I could just collect data without having to physically be there and (creepily) time people's showers.

@cfastie As for the shower head, I would be attaching these to the showers in the dorms at UMass so I probably am not allowed to take the shower head apart. My main goal would be to have the movement of the water start a timer and once the water is shut off to stop the timer and have that data collected. The timer itself does not need to be incorporated quite yet; only a device that can detect the start and end of a shower as well as save the data is all I need. It doesn't need to be too concealed (it could rest on the pipes) but it just can't be SUPER obvious.

Thanks for all your advice! I'm no engineer (just a biology major) and this engineering stuff is very new to me.

Reply to this comment...

Login to comment.