IoT Water Control and Monitor Using NodeMCU & Cayenne

About This Project

I’ll try to create IoT water control and can be monitoring using Cayenne.

The valve will close when water reached top level of the sensor.

This project is to ensure that water reservoir always in full condition, because in my location the water supply only flow when midnight, but if midnight we are not need water.

What’s Connected

  • NodeMCU ESP-12E

  • Liquid Level Sensor (calibrate first to get top level value and bottom level)

If you need deeper sensor, you can cut the top strip of sensor and take some wire to two side of sensor

  • 1 CH Relay Module

  • 12V Solenoid Valve

  • 12V 2A Power Supply

Triggers & Alerts

Add triggers and set if water level above 100 % then valve switch turn off.
Add triggers and set if water level below 100% then valve switch turn on.


No Scheduling was added

Dashboard Screenshots

Photos of the Project


Nice job!

I have a similar problem and I was using the Particle Photon boards solution to fill my water reservatory. But I had a problem and I lost the Particle Photon boards. So I found the nodeMCU and I’m back to work.

In my case I use two ESP-12E: one to read water levels and another to start my pump (can’t wire it). The one that reads water levels access a PHP page that writes a JSON with the water level and a tag that says if it is necessary to start the pump.
Then the ESP-12E next to pump reads the JSON and start it when it find the tag to do so.

Why did not use Cayenne to read the water level and trigger another ESP? More simple than write to JSON. :smile:

1 Like

I did not know the Cayenne until a week ago. Plus I have a Pushbullet integration to notifie me.

I’ll give it a try and maybe convert my project and also try something new.

Waiting your project to work again

Dear @kuncono
i am doing similar things as you done…
i am not getting code for water level sensor and solenoid which you are used in your project.
i have bought similar component …can u please provide me that code??

Hey guys,
I had a sensor like that but it get rusty after a few days… How did you manage to avoid that?

Which sensor is it?