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. 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 its 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.

And the moisture sensor they used can be found here.

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!

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone

About Author

Leave A Reply