Open source irrigation for small scale agricultural operations.

Similar projects worth following
EnviroFlux is a sustainable irrigation system meant to lower the barrier to entry for large scale personal agriculture. EnviroFLux aims to enable those of less than fortunate socioeconomic status to sustainably grow crops year-round. The most expensive parts such as the water pump or power source (compatible with solar panels and hydro power/water turbines) are interchangeable with salvaged parts or home brew equipment, lessening the impact on the environment and lowering the cost for the user. Along with open source hardware, the software is open source as well with the hopes that contributors will develop and publish irrigation profiles for various geographical locations, crop types, and environments.

This is my project from MesaHacks 2018. I competed in this hackathon solo, and I won first place along with the "best hardware hack" award.  I put this prototype together in under 8 hours from scratch. 

Here's how it works:

Everything starts at the water reservoir. As water accumulates, the water level is monitored by a water level sensor that reports its readings back to the Arduino Microcontroller.  This is to ensure that the water pump doesn't burn itself out on a dry tank, and so that the pump can prevent the reservoir from overflowing. The water level sensor works in conjunction with a nearby humidity, temperature and light sensor, regulating the circumstances in which the water pump is allowed to run. You wouldn't want to dump ice cold water on temperature sensitive crops. 

The temperature and humidity sensors can be accessed by any implementation of a crop irrigation profile (crowd sourced). The only sensor that you can't access is the light sensor (photoresistor) which is hard wired into a circuit that I designed, built and calibrated to only allow the water pump to run when the light intensity threshold is met. This is more of a hardware fail safe, in case the software experiences unexpected behavior.

The prototype comes preloaded with a sample irrigation profile. The user can select which profile to run with the built-in LCD menu system. There is an up, down and action key to navigate the menu system.

The prototype comes with a water mill attached to DC motor that generates a little bit of power, just as a proof of concept that there are no limits to the design's sustainability. 


Source Code for Arduino Uno

ino - 3.37 kB - 03/21/2019 at 13:47


  • 1 × Arduino Uno
  • 1 × Photoresistor
  • 1 × Water Pump
  • 1 × Jumper Wires
  • 1 × Rechargeable Battery

View all 13 components

  • 1
    Select Water Pump

    This systems allows for the integration of just about any water pump, given that you have the necessary power to supply it. Simply attach the desired water pump to the relay. 

  • 2
    Select Power Source for Water Pump

    This will depend on what kind of water pump you've selected. This power source is exclusively for the relay/water pump, unless you would like to take advantage of the water turbine generator to trickle charge a rechargeable battery (additional voltage regulation may be necessary).

  • 3
    Select Power Source for Microcontroller

    Assure you have a reliable/stable power source for the Arduino. You may want to use a continuous power source rather than a battery, but you can also take advantage of the water turbine generator to trickle charge another rechargeable battery (additional voltage regulation may be necessary). For my prototype, I used a smartphone power bank since they are cheap, abundant, supply stable 5 volts, and the charging circuitry can be salvaged from many different places.

View all 4 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates