A web connected sprinkler valve allows our friends to spray us with water remotely, and watch it on a YouTube live stream.


The idea is that people seem to love amplified actions, and actions at a distance. Pressing buttons to trigger large explosions, throwing rocks and hitting things, big guns, tiny guns, excavators, poking things with sticks, etc. We spend most of our time in a remote rural area with great Internet, so creating an amplified action at a distance over the web made sense.

I entertained a few elaborate scenarios, involving mechanisms where you could aim the water spray, or choose buckets that would dump once full of water. In the end, we settled on a simple single spray, to get things rolling.

There is no warning for the person in the chair, except the sub-second delay between an electrical contact closing and the water spraying out. This created a conditioned response, flinching whenever you heard a noise.

We werent used to people sharing our stunts, but people shared the webpage link on Facebook. After an hour of being sprayed by friends of friends we got cold and went inside.


The system is an elaborate sequence of things connected to other things, which I think is a quality of most action amplifiers.

At there was a webpage.

That webpage had a button.

That button sent a message to a websocket server on .

That websocket server relayed the message to all connected clients.

One of the connected clients was a python script running on a laptop sitting on the deck at our house.

On receiving a message, that python script would send a serial command to an Arduino.

That Arduino would close the contact of a relay.

That relay was connected to a 24V sprinkler solenoid valve from Home Depot.

This would spray the subject.

This action was caught by a webcam, connected to the same laptop.

The webcam video was streamed to YouTube.

That YouTube video was embedded in the same webpage with the button.

There can be a long delay for streaming video, so a timestamp from the clients machine was inserted onto the webpage, and into the video. You would expect your spray to show up in the video at the matching timestamp. This is not a very good solution, there are better ways to inform people of their remote actions immediately, but it worked better than I thought it would.

Keywords: streaming video, Linux, amd64, Arduino, Python, HTML, websockets


There is no money involved in this one, so we will have to rely on exposure. It is also event based with generated media, which means we can look at whos watching during the event, and how much exposure the media gets after the event.

The YouTube stream and resulting recording provides a good source of data for this. During the one event we have held using Hose, there was a peak of 7 concurrent viewers, with 68 playbacks in total, with an average viewing time of 3m38s. The resulting recording has 164 views after being up for about a year.

Get notification of new articles via email: