NodeMCU

NodeMCU_PIS

Plant Irrigation Shield for the NodeMCU_ESP8266.

This project combines one soil sensor (resistive or capacetive), one 5V pump in a water tank and a floating switch to detect the water level. Depending on the soil measurment and the configured nominal value the pump can be controlled while the floating switch prevents the pump from running dry. All configurations can be controlled via MQTT.

Schematic

schematic

Layout

top bottom

Assembling

IMG_20200221_150840.jpg IMG_20200221_150518.jpg

Software

you could run Tasmota and set a few configurations

tasmota_config_pis.png

and set some extra parameter in console

# set nominal value
mem1 750

# turn pump on/off depending mem value
Rule1 on analog#a0>%mem1% do power1 1 endon on analog#a0<%mem1% do power1 0 endon 

# turn rule1 off when water empty // todo: turn status LED on
Rule2 on Power2#State=0 do Rule1 1 endon on Power2#State=1 do Backlog Rule1 0; Power1 0 endon

Rule1 on
Rule2 on

Changing mem1 value (can also be done via MQTT) results in new nominal value, every plant may need other value depending on size, soil, sunlight, … so you need to play a bit to find a good value.