Plant Watering System 🌱



Me and my brother will build an automated plant watering system for our house plants, which will be used in an area where there are no power outlets available.

Basic functionality:

Additional requirements:


Me and my family often forget to water the plants, and figuring out what to do about our plants is always a problem whenever we are away from home for more than a few days. With this project, we want to create a solution to this. We’re also looking forward to learning more about electronics, microcontroller programming, and more. Most of this is completely new to my brother, and I’m excited to be working with him on this!

Thanks for giving us this opportunity to learn about electronics/hardware, to create something that will help us, and to have fun while doing it!


The easiest way to move water would be to pump it to the plants, however a water pump wouldn’t work for this project because it would take too much energy, make too much noise, and wouldn’t look good. Instead, we will have a large container of water, stored at a higher level than the plants’ pots. This brings with it its own challenges, but they seem much more approachable than using a pump.

We’ll use a solenoid valve to release water when we need it, along with a 3D printed mechanism (and a motor) to deliver the water, through flexible plastic tubes, to the right plant.

Everything will be controlled by two RPi Pico W microcontrollers. Two, because they’ll be far apart, and we don’t want to have wires everywhere; also, we’ll need more GPIOs, especially analog ones to read sensor data. These send data to a Libre Computer AML-S905X-CC SBC—RPi 4s are in short supply and too expensive currently—that will be running a web server to recieve and save the data. The SBC will also serve data and configuration options to a web interface. This is necessary to store data, keep the microcontrollers from being overwhelmed, or using the limited solar power available to them too quickly.

We’ll also have an small 8x8 LED matrix, a joystick, and some buttons to perform basic actions without the need of a different device. It will also be used as a status indicator, to let you know how your plants are doing at a glance.

We are 3D printing a lot of things (including our “plant choosing” system, enclosures/mounts for boards, etc.), and each will take multiple iterations of printing, testing, and modifying to be ready. Using a 3D printing service wouldn’t be feasible: it would be too expensive, and take too much time. Also, we wouldn’t be able to predict costs in advance, so it wouldn’t work with the process of recieving the grant. Instead, we went for buying a 3D printer as part of our budget, which will allow for much faster and cheaper protyping.


I’m very excited to work on this project, and learn about hardware and microcontroller programming. I’ve only done software stuff before, and want learn about electronics too. Thanks!


  1. I will make and test circuits for each part of the project; I’ll be using micropython with the RPi Pico.
  2. My brother will make the web server to run on the SBC, using Flask.
  3. We’ll both work on the web interface, along with anything we’re missing.
  4. Once we have the circuits and the web interface made and tested, we’ll start designing the 3D printed parts using Fusion 360/Shapr3D.
  5. We’ll 3D print our components, and assemble each part of the device.
  6. Finally, we’ll install the system and watch our plants get the water they deserve!


Solenoid ValveAmazon$9.35
Solder wireAmazon$8.99
3D PrinterAmazon$259.99
3D FilamentAmazon$19.59
Solar panel + charge controllerAmazon$33.99
12v batteryAmazon$28.99
RPi Pico W (x2)PiShop$12.00
Libre Computer AML-S905X-CC SBCAmazon$35.00
SBC CaseAmazon$14.99
Humidity SensorPiShop$11.85
LED matrix (x2)PiShop$6.90
Soldering IronOwned-
Jumper wiresOwned-
Hot glue gun/glueOwned-
Reed switchesOwned-
Shipping (approx.)-$15.00
Tax (approx.)-$51.51