Introduction: DIY Simple Water Box

About: Lifelong technology geek


Even though I build automated greenhouses, a lot of times there are plants that either don’t fit inside or they just look good sitting in their planter. Well, I have decided to build an individual watering box to cater to those that want to flourish on their own. There are quite a few instructables on the topic, but I enjoy engineering and designing what works for me, so here is another example of a water box for you to draw your own inspiration from.

My idea is to automate the process so that the water box waters once a day, but the amount of water can be adjusted to fit various pot sizes and plant requirements. For times when I want the box to take a break, I need a power switch to shut it down. For feedback (how long it will water), unlike the greenhouse which houses a 2” TFT monitor, I just want a simple LED for this box,. Lastly, if the sun has been on my poor little plant all day, I may want to manually add a splash of water, so a push button will be added.

Like all of my projects, there is a demo video at the end of the instructable. If you like it but don’t have the time or materials to build it yourself, please consider buying one from my Etsy store for this and all my other projects I build. Enjoy!

Step 1: Parts


All of the parts are available on Amazon or Ebay, and some you can get from a local electronics store. These are what I have used, feel free to improvise to meet your needs.

You’re going to need:

5v water motor that functions when dry and can self prime (RS-360 type works well).

Water tubing, depending on your situation probably 4-5 feet minimum

Arduino Nano makes sense for real estate, but others can be used

RTC3231 clock


some PCB

LED and LED mount

Heat shrink tubing

200 Ohm resistor

10K Ohm resistor


Push Button

On/Off toggle switch

12V power cable (recommend 2A, but 1.5 will do)

Power Barrel (Female)

Power Terminal block

Some spade connectors (4 should do)

Step down adjustable power module (Buck converter)

A case or container of suitable size - Try craft stores for ideas and sizes

Of course, you will also need some wire (Black, Red, Green, Yellow), solder and tools.

If you’re ready, let’s begin

Step 2: Basic Prep

Basic Prep

Many Arduino Nano’s don’t come soldered, so if it’s in pieces, solder away. Next, mount the Nano, RTC and Buck to the PCB. I prefer to have the USB interface at the edge of the board for easy access and the RTC in the corner on the side of the analog pins (you need pins A4 and A5). Solder a jumper to a ground row and another to a power row. Helpful hint: If you’re using a non-connected PCB, drop in a row of (5) header pins and solder a conductor wire along the row on the bottom side for each. It’s easiest to put a row near the 5v pin and a ground row opposite near the ground on the digital side (just my way of doing it, not the only way!).

Now solder the 10K and 200 Ohm resistors from ground to the pin row (keeping note of which pins you use) for the button and LED, respectively.

The clock is next. You will need 4 wires: power, grd, SDA, and SCL. Solder a black wire from GND to your ground row, a red wire from VCC to power row, yellow wire from SDA to pin A4, and a green wire from SCL to pin A5.

When wiring the Buck, you can solder to the PCB or the Buck itself, up to you. You will need (2) wires in and (2) wires out. The input will come direct from the power block. Power out (+) will go to the relay, the grd out (-) will go to the motor. Have an idea where the block, relay and motor will go (see case layout section below) and cut wires that are the proper length plus 2 inches (you can always trim if needed, but routing sometimes does strange things) and solder to the buck. Just so you don’t forget to do it, now is a great time to set your buck to 5v. Hook the input to your power supply or bench power and, using your voltmeter, adjust the output to 5v.

For our timing feedback, the simplest means is an LED that blinks. So, solder a length of red and black wire to each of the power and ground of the LED. Cut your wire at least 2-3 inches longer than you think you need, which is probably the height of your case plus 1 inch. Secure the connection with a piece of heat shrink on each leg. Set this aside for now. To explain, by using an LED, we will tell the LED to blink once for every 5 seconds (per my code) the water will run. Simple, effective and inexpensive - Trifecta!

The POT is next. Using the length from the POT to where the NANO will be plus 2”, cut a red, black and green wire to attach to the POT. For the POT, red is on the left (pwr), green to the center (read) and black to the left (grd).

Don’t do anything with the button or switch yet, you will do those last.

Step 3: Case and Layout

So this part is a big variable, what case do you use? How big? floor space, wall space, maybe use the roof? I’ll leave you to layout your own, but for purposes here, let’s use my case as a guide. Looking from the back side, I like the power coming in on the lower left of the case and the motor on the right with water intake on the back wall and water output on the side wall. Your motor may dictate so lay it all out. My case is 5” x 5” floor space and 5” tall. See the block diagram of how I laid mine out with the PCB on the wall above the pwr block.

With my design, I drilled out the power input, POT and water input in the back wall. Then I drilled the power switch, manual button and LED in the top. Lastly, drill a water output into the right wall. Now, place the parts “in place” and mark where your mounting holes need to be, and drill those. As an FYI note, i made a change from version 1 to 2 by switching power to the top and water time adjust to the rear. I like it better, but lay it out both ways and use what you think works best.

Once everything is drilled and sanded, lets paint the parts. Find everything that faces out and cover it in paint, stain or clear coat. No matter the finish, it will still be the coolest toy in the room.

Step 4: Initial Assembly

Initial Assembly

Mount components - With your component holes marked and mounting holes drilled, double check where the sides will go on the base. Install the power block, motor and relay - rather, install components you want attached to the base. I used glue to secure my power barrel connector, but you can also add a shim/block to secure it so it won’t get pushed in.

PCB and wiring - As always, check your wire lengths and cut 1-2” long (love soldering, not desoldering). Plan out your steps for wiring, as some are easier with the walls attached and some need to be soldered after you attach the top. Items with an * are likely to wait for completion until the Final Assembly step next.

*Nano power - red wire from VIN for Power switch (leave loose until next step), black wire from GND to power block

*Power switch - red wire from power switch to block. Solder to the center pole, then set aside until the next step

POT - red wire pwr to Nano 5v, black wire grd to Nano grd, green wire POT read to Nano Ax pin

*Water Button - red wire to power, black wire grd to Dx pin with 10K resistor to grd

- be sure grd->10k->button->pin are all connected if not on a connected row. Do not solder to the button until the next step

LED - red wire power to 5v, black wire grd to to Dx pin with 200 resistor

- be sure grd->200->LED->pin are all connected if not on a connected row

Relay - VCC to Nano 5v, relay grd to Nano grd, yellow wire data pin Dx to relay data pin

*Motor - red wire from Buck OUT (+) to relay middle pole, black wire Buck OUT grd to motor grd red power from Relay NO (Normally Open) to motor power (+)

Power input - from the power barrel, red wire power to power block, black wire grd to power block

The programming step is still further down, but now that the PCB is complete I would load my program onto the unit just to see if the programming basics and time are working correctly. So, set the time on the clock using any RTC3231 program you like. Then load the attached program code. Once loaded, the default serial output should show the correct time and some status lines. If all is good, let’s continue.

When the paint has dried, mount your PCB in place.

I found it easiest to assemble the base, back and left walls (looking from behind) together at this point to begin finishing the component connections, but, again, consider what works for you based on the case and layout.

Step 5: Final Assembly

Final Assembly

With everything together and your 2 sides attached to the base, it’s time to start our final connections. While I like some of the controls on the top, it will make the assembly more difficult, if you are not comfortable with assembly being more difficult, I recommend you assign everything to a side wall. If you do use the top, assemble all of the walls before completing the steps for the components on top. Be sure to complete the clock time set and Arduino programming before you attach the lid.

POT - Place POT in its opening and secure with mount screw.

Motor - Solder the black wire grd out from the Buck to the grd of the motor

attach the red wire power out from the Buck to the center pole of the relay

solder a red wire to the motor power and insert into Normally Open (NO) pole of the relay

Power Switch - Pull the red power wire from the Nano (VIN) out the power switch opening and solder. Insert switch and attach 2nd power wire to the power block

Pull the LED though its opening and attach the LED mount, then insert it back into its opening.

Attach the remaining sides, check all functions.

Step 6: Programming

I am still a novice at programming compared to many, but my programs work. I have attached a copy of the WaterBox sketch for Arduino and should work just fine.

Set your clock time if you haven’t already done it. Open the sketch and make any necessary changes for pin assignments or water timing durations.

Load the sketch to the Arduino and check that everything is working the way you want it to.

Step 7: Final Touches

Final Touches

Your water box should now be complete! Attach the lid if still loose.

Set your water box where you need it, place a reservoir near it and secure the input line into the container near the bottom. Place the output line into the plant container. You can secure it with 2 small sticks (I used a pot sticker) tied with a rubber band or bread tie to form an “X”.

If you are using a longer container, you can plug the end of the output line with some glue and use a small nail to poke holes through the line so that it will water over a length of soil rather that a single output.

I hope you enjoy your new automated plant water system and would love your comments - and pictures of your build - but if you don’t have the time or resources to build your own, please consider supporting me by buying one from my Etsy store.

Here is a video demo of the unit -