Introduction: The Garden That Knows

One thing I've always wanted to be able to accomplish is maintaining a luscious and fruitful garden. In my attempts at gardening I have reluctantly found I do not possess a green thumb and have killed a handful of plants along the way. This led me to want to create a planter that could tell me when my plant needs water. While the plant has enough water, the LED strip will stay blue. Once the soil gets too dry the LED strip will change to red, a hard to miss bright array of lights that I cannot ignore and will therefore be more attentive to watering.

I found this instructable and started my project from here:

https://www.instructables.com/id/Smart-Garden-1/

With the instructable above, I ran into a few errors and changed a few of the aesthetic deigns. There is the freedom to design your own base for this planter but keep in mind that you'll need an area to hide the arduino and breadboard to protect it from water and dirt. I also chose to use an LED strip instead of solo LEDs so the resulting light would be brighter and more noticeable. I could not get the code they provided to work for me when I tested the moisture sensor with an LED, but I was also just being introduced to Arduino at the time I tried. In the end I just created my own code based off of codes found and tested from the internet and the Arduino libraries. You will need to download the Arduino program, found here.

When watering your plant, place a plate underneath your pot so the water that leaks out of the pot will not drip on to the wires.

If the LEDs are too bright, you can alter their brightness in the code or you can place a fitted filter in front of the LEDs. One filter option is cut plastic with rice paper adhered to it.

List of Necessary Materials:

- Arduino Uno

- Arduino Uno Wall Adapter

- Moisture Sensor

- LED RGB Strip Addressable (if you don't use this strip I recommend a waterproof strip nonetheless)

- Solderable BreadBoard

- Gorilla Glue

- Soldering Iron

- Solder

- Wire Strippers

- A Plant of your Choice (I chose mint because it is the herb I use the most)

- Potting Soil

- A Planters Pot

List of Optional Materials:

- Arduino Uno Protective Case

- Wood Stain

- A base for your pot to stand on.

- If you follow my design you'll need access to a CNC machine, wood to cut from, and a unfinished wooden crate similar to this with dimensions close to 8 in x 6 in x 3.25 in.

Step 1: Creating a Base/Stand

You have creative freedom to choose the design of this and to use the materials you want to. Keep in mind a location in your base to store and protect your arduino and breadboard.

If you choose to follow my design:

- Using a CNC machine, cut three 6 in x 6 in squares and one 4.5 in x 4.5 in square.

- Use Gorilla Glue to bond together the three 6 in x 6 in squares to create a block.

- Adhere the 4.5 in x 4.5 in to the center-bottom of the block.

- Stain this and the wooden crate with a stain of your choice. Two coats with at least 4 hours in-between coats.

- Once dry, use Gorilla Glue to attach the block (with the smaller square on the bottom) to the center of the upside-down crate.

Step 2: Arduino

Upload this code to your Arduino Uno and make sure to set your Sketchbook Location, found under preferences, to your chosen location.

Ignore the part in the code that involves the word 'cat'. (originally this code was going to have sound)

Step 3: Setting Up Your Board

Take your Proton-board and using a permanent marker, mark off a section of the board for power (positive) and ground (negative) as shown in the image.

Step 4: Moisture Sensor

Solder the moisture sensor to the board anywhere above the marked power and ground. Make sure the solder does not bridge to each other.

Step 5: Moisture Sensor Continued

To connect wire to each peg of the board, solder wire in to the spot in front of the peg that it needs to connect to, then bridge the two together. In other words, connect the wire and peg with enough solder to create a lump connecting the two without connecting to its neighboring peg and wire.

Using wire and solder:

- Connect the first peg (farthest from the power and ground) to the power section of the board.

- Connect the second peg to the ground section of the board.

- Connect the third peg to the Arduino at A0.

DO NOT solder to the Arduino, just poke your wire in to the square peg.

Step 6: LED Strip

You may have to do a little research on your specific LED strip to figure out which strands are Power (5V), Ground, and Din/Do. I've color coded my image similar to my specific wires.

- Trim the LED strip so it wraps fully around the small, middle square of the base so there is little to no overlapping.

Using wires and solder:

- Connect the power wire to the Power section on the board, next to the Moisture Sensor power wire; bridge these two wires so the solder covers both wires with no gaps.

- Connect the ground wire to the Ground section on the board, next to the Moisture Sensor ground wire; bridge these two wires so the solder covers both wires with no gaps.

- Connect the Din/Do wire to the Arduino at peg ~6.

DO NOT solder to the Arduino, just poke your wire in to the square peg.

Step 7: Connecting Power and Ground to the Arduino

Using wire and solder:

- Connect a wire to the power section of the board next to the other two power wires and bridge the three wires together. Make sure these are fully covered with solder, with no gaps underneath the solder. Run this new wire to the Arduino and insert in to the peg labeled 5V.

- Connect a wire to the ground section of the board next to the other two ground wires and bridge the three wires together. Make sure these are fully covered with solder, with no gaps underneath the solder. Run this new wire to the Arduino and insert in to the peg labeled GRD, next to the peg labeled 5V.

Step 8: Bonding LED Strip to Base

Slip the LED strip out through one of the holes in the crate so the wires connected to the Arduino and the board remain on the inside of the base.

Using Gorilla Glue, bond the LED strip to the inner square in the middle of the base. Hold the strip down until the glue bonds, about 15-20 minutes.

Step 9: Bonding Board and Arduino to the Base

Turn the base upside down so the inside of the tray is facing up towards the ceiling. Using Gorilla Glue, bond the board, soldered side down, one of the inner walls of the base. Make sure its location allows the moisture sensor easy access to one of the holes in the base so it can reach the plant; hold down for 15-20 minute until the glue sets enough to hold the board up on its own.

Adhere the Arduino to the opposite wall of the board, making sure the power cord has easy access to one of the holes in the base so it can reach a wall outlet; hold down for 15-20 minute until the glue sets enough to hold the board up on its own.

Step 10: Pot Your Plant

Place some planting soil in the bottom of the pot.

Place the plant in the pot.

Add more planting soil to the pot. Make sure to fill in the gaps between the pot and the plant and fill nearly to the top.

Step 11: That's It!

Place your potted plant on a small plate (to catch excess water) then place this on top of your base.

Plug the Arduino power cord in to a wall outlet.

Place an inch and a half of the moisture sensor in to the soil.

Now, water your plant and watch the colors change!