Smart Water Controller

Introduction: Smart Water Controller

About: Learn, learn more, learn forever!

Hello, this is my first project on Instructables. Any question or suggestion, comments, please tell me.

I created an IOT node for my cold water tank on the roof. It gave me some information like:

1. Tank water level

2. Temperature, Barometric Pressure and Humidity

3. Motion Sensor

4. Light Lux

Base on Firmware ESP-EASY and hardware ESP8266 Nodemcu.

Because this IOT node need Wifi for working, I'm already re-configuration my Wifi network. Will sharing it with other project.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Necessary Tools

List below are main Necessary Tools for my projects:

1. Welding station

2. Digital Multimeter

3. Welding Tools & Materials

4. etc...

Be careful when using any device that is related to electricity.

Step 2: Hardware With ESP8266

Because my cold water tank in the roof. So, I give some sensors for tracking enviroment (just for fun)

1. ESP8266 : any esp8266 but I recommend the NODEMCU - ESP8266, it is about 3$ - 4$

2. DS18b20 Waterproof : for water temperature

3. HC-SR04 : Ultrasonic Sensor for tank water level

DO NOT DIRECT CONNECT WITH ESP8266 (it is 5v signal and will kill your board)

4. DHT22 or DHT11 : Temperature and Humidity inside box

5. BMP180 : Barometric Pressure/Temperature/Altitude on roof

6. PIR HC-SR501 : Passive Infrared Motion Sensor, to detect someone or animal

7. BH1750FVI : Digital Light Sensor

8. Levelshifter: convert signal 5V from HC-SR04 to 3.3V.

Step 3: Flash Firmware EspEasy

1. Download it on

2. Using this firmware ESP_Easy_mega-yyyyMMdd_normal_ESP8266_4096.bin

3. Run FlashESP8266.exe for flash (in Windows only :D). Maybe you need to flash on Linux or Mac (try Google please)

4. First run please folow this guide

Note : AP mode using this password to access : configesp

Step 4: Wire System and Sensors

Please wire ESP8266 with Sensors like this:

- DHT11 => GPIO3

- DS18B20 => GPIO1 : need R4,7k with (+)

- BH1750 => I2C : GPIO4,5

- BMP180 => I2C : GPIO4,5

- PIR => GPIO14

- HC-SR04 : DO NOT DIRECT CONNECT WITH ESP8266 (it is 5v signal and will kill your board)

You need a Levelshifter

=> connect Levelshifter with GPIO12, GPIO13

Step 5: Config System

Config like this photo.

GPIO need match with previous step, you can change it.

But DO NOT use these GPIO:

- IO0, IO2 : need pull-up R

- IO15 : need pull-down R

- IO16 : sleep mode with RST

- IO7, IO8, IO9, IO10 : SD0..3

Using these GPIO will break down your Serial Monitor:

- IO1, IO3 : serial TX RX

Please make sure correct IDX on your Domoticz system.

Step 6: Control With Domoticz & ThingSpeak

1. Domoticz

Give it new hardware, setup devices and type the IDX on Domoticz in EspEasy

2. Thingspeak:

Get new chanel and give EspEasy the Write API Key

Step 7: Box & Go-Live

In box and test.

After that, setup with water tank.

Now : relax with beer :D

Note: please do not put it direct with the sun or rain. For inside only.

For mobile:

1. Android app :

2. iOS app :

Step 8: Next Upgrade Version

In next version, I will make other node to control pump.

And include this to my Smart Home using Home-assistant ( instead of Domoticz ( ).

See you!


Microcontroller Contest

Participated in the
Microcontroller Contest

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Finish It Already Speed Challenge

      Finish It Already Speed Challenge

    3 Discussions


    1 year ago

    Thanks, I'm posting next project :)


    2 years ago

    Realy nice done jobb! Thanks for sharing!