Autonomous Irrigation System


Have you ever wanted to collaborate with a fellow engineer of another discipline but not known the right project? Well, this isn’t it… This project I worked with my Chemical Engineer friend to try and create a system in which we could water their lettuces beds without having to be there. I was tasked with create a system that could drive a pump and sense moister. They were tasked with creating a multilevel garden bed that would fit in their room and water each level uniformly.

My side of the project went great! I used some tools I picked up from my micro-controller design class and threw together an Atmega128 that I had lying around with a Linear Regulator, wall wart, some discrete components, and soil sensor off of adafruit. This was my first time in designing the power supply to go onto a board and power a micro-controller. I debated on whether or not to make it battery powered, but I thought since it was going to be driving a pump and was low cost that a wall wart was best.

The enclosure I went with was an old lipstick case, at least I think that is what it was form? I thought it looked cool, robust, and it’s what I had. I was able to mock up the components on a perfboard that was roughly the same size and jammed it in there.

The soil sensor that I went with was off of adafruit and I drove that with I2C. I got a pretty simple sketch going that sensed a rough capacitance of its environment. The script wrote it self pretty much, I had a DC motor that was the pump and toggled a GPIO pin when I wanted the water to go off given a certain interval. The GPIO was driving a MOSFET that is able to give the pump the whole power of the wall wart. This simulated a water cycle for watering crops, another application is keeping soil level at a certain moister, this would use a different control algorithm though.