FPGA Smart Watering System

As someone who agonizes over the health of my lemon tree, a system that monitors the health of my plant is a dream come true. My office has no natural light, so I have a system of lamps to get the right amount of light, and sometimes the heater gets left on, so predicting the amount of water my lemon tree needs can be difficult.

My multiple light set up for the lemon tree. So far it has yielded five baby lemons on the tree.

Nothing is worse than coming into work and seeing that my lemon tree has dropped a bunch of yellow leaves, or even more heartbreaking, one of its baby lemons.

A baby lemon casualty! It was only a few weeks old when it fell.

Instructables user byoon posted a project created by a team of 4 students at California Polytechnic Institute. The project includes step by step instructions on creating an FPGA driven plant watering system. The system tests the soil moisture, air temperature, and light levels to water the plant when it’s needed.

The plant watering system instructable.

In the Instructable they use a Basys 3 board, Arduino board, breadboard, light sensor, moisture sensor, resistor, and temperature sensor.

The materials list from the instructable.

However, this project could be done with minimal modification with less hardware, and hardware that is much more compact. The Arduino is used solely for its analog to digital converters, which can be replaced with some of our Pmods.

In addition, a much smaller FPGA board can be used. One of our Cmods, such as the Cmod A7 can be placed on a breadboard for a more compact design.

The light sensor, photo-resistor, resistor, breadboard, and breadboard fires can all be found in the Analog Parts Kit.

A nice selection of general electronics.

After listing the supplies they used, the team then goes through the design. First, they describe how the Arduino and FPGA communicate, and how they communicate with the sensors. They also go through the block design on the FPGA and Arduino.

The instructable contains an in depth analysis of the system design, including how the Arduino and FPGA communicate and the code in each board.

They explain the code, including the communication with the I/Os and state diagram. All parts are explained in great detail.

They also go over the state machine contained within the FPGA.

Lastly, all the code is posted so that the project can be easily replicated.

They even attach the code they wrote.

Check out byoon’s project on Instructables. If you have an awesome project you’d like to share with us, comment below or post it in the project vault in the Digilent Forum. You never know, you might be featured on the Digilent blog!


Be the 1st to vote.

2 Comments on “FPGA Smart Watering System”

  1. Hi, quite impressive.

    I am now working on some projects with FPGA. However, don’t you find FPGA too powerful to just reading some sensors?. I know this project is for learning so it is great. However, I think you could have done the sensor processing on the ADCs of the arduino.

    But as I said before, quite impressive. Keep going on tech + nature, I love how tech can help us to be more environmentally friendly.

Leave a Reply

Your email address will not be published. Required fields are marked *