I am building a small-scale watering system to water my plants, controlled by Arduino. I have designed most of the project except for how to switch water between multiple pipes.

A little more background:

I want to be able to use a servo motor to control the amount of water that is sent to each plant (based on pot size and plant type). The motor needs to be able to switch input (a 1/2 inch pipe carrying water) to a set of outputs (similarly sized pipes all going to different plants). I am not able to find something off the shelf that does this. So, I am about to 3D print something. Is there something available that I can use instead?

  • A typical hobby servo may not have enough torque. Try searching for 'miniature rotary valve' or 'miniature solenoid valve'.
    – JRobert
    Aug 2, 2015 at 14:22
  • Pressure tight valving is tricky. If you can locate your selector above the targets, you might be able to make gravity feed, open-to-atmosphere system following a single pressure value where some sort of rotary diverter channel would direct the stream of water into the end of any one of a number of open-ended hoses (maybe with little funnels?) placed around the perimeter and leading from there to the various plants. Hopefully you are doing this over a concrete floor with a drain.. Nov 30, 2015 at 19:07

2 Answers 2


As JRobert mentioned in a comment, you could use a solenoid valve, some of which you can get for about $5.

If you want to water one line at a time, get Normally Closed, one per line. Naturally, since most of them are 12v DC, you can't directly power them from your Arduino. You'll need some power transistors or some relays, and a 12v supply capable of steadily powering the solenoid.


To me it would seem simpler to use a faucet for each line, each faucet controlled by a motor. Then you can even water the plants in parallel.

Even better, why not using submersion pumps, like those used in water tanks? Here too, you can control them in parallel. The amount of time you keep a motor running is proportional tothe amount of water delivered.

  • Yes, this is simpler but also not very cost effective and does not scale well. Since, I have to buy one faucet motor (a solenoid valve) per plant and separate wiring for it in my circuit board. This is why I was looking at a servo motor to switch between multiple output lines for water.
    – nuaavee
    Jul 3, 2015 at 15:26
  • Ok, then there is a solution that is even simpler and definitely cheaper: just connect all the pipes together and, for each pipe, on the ending for the vase, apply a sort of cork with a hole of custom size. Of course it's not exactly programmable, but you can easily swap corks. It scales indefinitely and you need 1 single master actuator/tap. Jul 3, 2015 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.