In this IoT Internet of Things project, I have shown how to make the IoT-based water pump controller using ESP32 Blynk and float sensor switches. 

This water level monitoring system will also check the water level in both the overhead tank and underground water tank and accordingly control the water pump automatically in AUTO mode.

Tutorial Video on IoT Project using ESP32

This Water Level Controller has the following features: 

  •  Monitor the Water Level in both the overhead tank and underground tank on the Blynk IoT app.
  •  Change Mode and control Pump from Blynk IoT App. 
  • If WiFi is not connected monitor the water level with indicator LEDs. The pump will automatically turn OFF, for the LOW water level in the underground tank.
  •  You can also turn on the buzzer alert.
  •  Used 30A relay, so you can control up to 2HP pump.
  •  In AUTO mode, it will automatically control the pump to maintain the water level. During the article, I have shown all the steps to make this IoT-based water pump controller.

Required Components for the ESP32 Project

Download the BOM FIle (GitHub) 

Please download the above BOM file from GitHub for the components list.

Circuit Diagram of the ESP32 Water Level Controller

Download the Circuit from GitHub

In the tutorial video, I explained the circuit in detail. Please refer to the attached schematic.

Here I have used transistors in between the float switch and ESP32 GPIO. So if the distance between the float switch and ESP32 is too long, still the ESP32 will always get the correct readings.

To control the pump I have used a 30A relay, for the LOW signal the relay will turn ON and for the HIGH signal the relay will turn off.

With this circuit, you can connect multiple I2C devices, external BLE, LoRA devices, OLED displays, etc. But we will cover those features in upcoming projects.

Design the PCB for This ESP32 Project

To make the circuit compact and give it a professional look, I designed the PCB after testing all the features of the smart water pump controller.

You can download the PCB Gerber, BOM, and "pick and place" files of this ESP32 project PCB from the following link:

GitHub link to Download PCB Gerber File

For this project, I have the JLC SMT Service while ordering the PCB.

Why you should use JLC SMT Service?

On JLCPCB's one-stop online platform, customers enjoy low-cost & high-quality & fast SMT service at an $8.00 setup fee($0.0017 per joint).

$27 New User coupon & $24 SMT coupons every month.

Visit https://jlcpcb.com

JLCPCB SMT Parts Library 200k+ in-stock components (689 Basic components and 200k+ Extended components)

Parts Pre-Order service https://support.jlcpcb.com/article/164-what-is-jlcpcb-parts-pre-order-service

Build a Personal library Inventory, save parts for now or the future

Assembly will support 10M+ parts from Digikey, mouser.

Steps to Order the PCB Assembly from JLCPCB

1. Visit https://jlcpcb.com and Sign in / Sign up.

2. Click on the QUOTE NOW button.

3. Click on the "Add your Gerber file" button. Then browse and select the Gerber file you have downloaded.

4. Set the required parameter like Quantity, PCB masking color, etc.

5. Select the Assemble side and SMT Quantity.

6. Now upload the BOM and PickAndPlace files.

7. Now confirm all the components which you want to be soldered by SMT services.

8. Click on the SAVE TO CART button.

Select Shipping Address and Payment Mode

6. Type the Shipping Address.

7. Select the Shipping Method suitable for you.

8. Submit the order and proceed with the payment.

You can also track your order from the JLCPCB

My PCBs took 3 days to get manufactured and arrived within a week using the DHL delivery option.

PCBs were well-packed and the quality was really good...

Read more »