We love regrowing our produce - green onions, lettuce, ginger, you name it. Each one requires a different amount of watering and care, and sadly, by a few weeks in, we've usually messed up and forgotten to water something. So we decided to automate the process to save our plants from ourselves!

What it does

Grow with the Flow takes a desired moisture as a user input for a specific plant. The server sends the desired moisture to the associated Particle Photon which compares the desired moisture to the current soil moisture reading from a soil sensor. If the current moisture is less than the desired, the Photon opens the solenoid valve to allow water to flow into the soil. The data is visualized on the server using two slider bars (showing desired and current moisture), and the last four minutes of soil moisture data is displayed on a graph. You can monitor your plant remotely, if you choose, and watch Grow with the Flow care for your plant.

How we built it

We used a Particle Photon to read the soil sensor, compare to the desired moisture and actuate the solenoid valve if needed, then report back to a server using webhooks.

We created a full stack MERN web application to allow users to view moisture data and set the desired moisture.

Challenges we ran into

We forgot to check that our power supply was capable of supplying enough voltage AND current to operate our solenoid valve circuit, which included a transistor and diode to prevent feedback. To make the hack work, we used a stepper motor to open/close the solenoid circuit to water/not water the plant.

Accomplishments that we're proud of

We're pleased as punch that we were able to make our circuit functional despite not having the correct power supply on hand. Our solution is a little unorthodox, but the plants won't go thirsty!

We're also proud that we were able to make the client interface not only functional, but intuitive to use. The desired moisture is inputted using a colour coded slider bar, and the actual moisture data is displayed in the same format below, making it easy to compare. The last four minutes of moisture data is shown on a area graph below.

What we learned

We honed our hardware troubleshooting skills to find the problem with our circuit, and we had to be creative to provide enough power to actuate our solenoid. We used Webhooks for the first time to communicate between the Particle Photon and the server.

What's next for Grow with the Flow

Grow with the Flow was built to monitor several different plants at once. You're limited by how much hardware you have, not the structure of the software. If you have enough hardware, you can use Grow with the Flow to care for any number of plants. Since the system operates using wifi, you can monitor and update your desired moisture for your plants no matter where you are.

Domains (.tech) (

Share this project: