Liquid dispensing system using XKC-Y25 sensor
Liquid dispensing system using XKC-Y25 sensor

Smart projects made easier!

Liquid dispensing system using XKC-Y25 sensor

The EzloPi smart devices provide automation through simple, customizable use with our open-source EzloPi platform, making daily life easier and improving human-machine interactions.

Before moving into this example, it is very important to know about the device registration, provisioning and converting the ESP32 device into an EzloPi device along with knowledge of Web Flasher, MiOS Mobile Application for Android/iOS and the MiOS Web Application.

1. About this example

The liquid dispensing system project using the XKC-Y25 sensor with the EzloPi device to automates the process of fluid detection and control. The XKC-Y25 sensor detects the presence or absence of liquid, and based on the sensor’s output, the EzloPi device controls a relay. While an AC lamp is used for demonstration purposes at the relay output, this setup can also be used to control a pump, allowing for automatic liquid dispensing. The system is ideal for applications like automated water distribution, irrigation, or liquid monitoring in tanks, offering flexibility in the type of load controlled by the relay.

2. Project Demonstration Video

Welcome to the project demonstration video section. The following video showcases the key aspects of Liquid dispensing system using XKC-Y25 sensor, providing a visual walkthrough of its implementation.

3. Circuit Diagram & Interface

The following components are required for interfacing with the EzloPi device:

  • ESP32 as an EzloPi smart device.
  • XKC-Y25-NPN Non-contact capacitive liquid level sensor.
  • Single Channel Relay Module
  • AC Lamp
  • AC power source

The wiring diagram of ESP32 30 pin is represented as follows:

The following connections are made in order to complete the circuit setup.

From ESP32 to the XKC-Y25-NPN:

ESP32 XKC-Y25-NPN
VIN VCC
GND GND
D15 OUT

From ESP32 with Relay:

ESP32 Relay
VIN +(VCC)
GND -(GND)
D12 S (Signal)

From Relay to AC LAMP & 220V:

Relay AC Lamp 220V
COM - Neutral
NO Terminal no. 1 -
- Terminal no. 2 Phase

4. Interfacing the XKC-Y25-NPN using the EzloPi Web Flasher

1. Set up your device/hardware by visiting config.ezlopi.com

  1. Log in using the credentials which you just set earlier while signing up.
  1. Now, click on the Connect Device button and a pop-up window will appear.
  1. Now, select COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.

Click Connect

  1. If you are new to this and it's your first time configuring, select Create new Device ID. Enter Wifi SSID and Wifi Password.
  2. In the Device Configuration, tab click on Digital Input.
  1. A Digital Input window will open for inputting the following parameters:
  • Set a Device name of your choosing. In our case, we have set it to the XKC-25Y.
  • Set INPUT GPIO to 13.
  • Set Device Subtype to Float Switch.
  • Set Resistor to PULL DOWN.
  • Then Click Apply Button.
  1. In the Device Configuration, tab click on Digital Output.
  1. A Digital Output window will open for inputting the following parameters:
  • Set a Device name of your choosing. In our case, we set it to the Relay.
  • Set Device Subtype to Relay.
  • Set OUT GPIO to 12.
  • Set Resistor to PULL UP.
  • Then Click Apply Button.
  • After clicking the apply button you can see a table of your setting in the device configuration tab.
  • Press the Flash Device button.
  1. A window will appear on the bottom right side of the screen displaying “Please press BOOT button while flashing begins.”
  1. Hold the BOOT button down until the next window appears on the bottom right side of the screen which says “Installation prepared. Please release the boot button now.”
  1. Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
  1. After some time, a popup will appear saying Device Flashed Successfully! This means that your device has been set up successfully.

5. MiOS Web Dashboard

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
  1. Use the same credential to log in that you used for configuring the controller with the web flasher.
  1. Now, on the MiOS web dashboard, you will see the tiles of your connected devices as shown above as XKC-25Y and Relay.

MeshBots:

  1. On the left side of the screen under Automation, click on MeshBots.
  2. On meshbot screen, click on Create new MeshBot button present on the top right corner of the screen.
  3. After clicking on Create new MeshBot, you will see this now under Automation MeshBot click on EzloPi.
  1. On the next screen you will see that we can create a name of our choosing, in this case we write it as Test008.
  1. In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
  1. Set these things in TRIGGER section:
  • Set Node Type to Device.
  • Set the Node to XKC-25Y.
  • Set the Capability to Water level alarm.
  • Set the Armed State to any.
  • Set the Value to water_level_above_high_threshold.
  1. Set these values in the TRUE part of the ACTION section.
  • Set Node type to Device.
  • Set Controllable to Relay.
  • Set Capability to switch.
  • Set value to true.
  1. Set these values in the FALSE part of the ACTION section.
  • Set Node type to Device.
  • Set Controllable to Relay.
  • Set Capability to switch.
  • Set value to false.
  • After clicking the apply button you can see a table of your setting in the Current configuration tab.
  1. After clicking the save button you can see this screen on the top right corner of the screen.
  1. Currently on the MIOS web dashboard, liquid level is normal and not required to dispense the liquid as the sensor tile shows water_level_ok message so therefore our relay remains OFF because of our meshbot settings.
  1. Now as seen above, the liquid level is now below our required level. That's why the sensor shows water_level_above_threshold message so therefore the relay is turned ON because now it is required to dispense the liquid by using any valve or pump which is fulfilled by our setting of the meshbot.

6. MiOS App

You can download the MIOS Android app from the Google Play Store and Apple App Store.

Google PlayApple App Store

  1. After downloading the app, proceed to install the application and open it.
  1. Using the MIOS mobile application, create a new Ezlo Cloud account using the sign-up option. If you already have an account, you may proceed to log in.
  1. After successfully logging in, you will be able to see the number of controllers connected such as a lamp, fan, or any other device in the MiOS app. Tap on any controller of your desired ID:
  1. You will be able to see the status of your controller whether it is online or offline. Access the device dashboard, and tap the device. The following view of the dashboard will appear:
  1. On the MiOS mobile dashboard, you will see the tiles of your connected devices as shown above as XKC-25Y and Relay. Currently, the liquid level is normal and not required to dispense the liquid as the sensor tile shows water_level_ok message so therefore our relay remains OFF because of our meshbot settings.
  1. Now as seen above, liquid level is now below our required level that's why the sensor tile shows water_level_above_threshold message so therefore relay is turned ON because now it is required to dispense the liquid by using any valve or pump which is fulfilled by our setting of meshbot.
Buy Components

eZlopie Products A single-channel 5V relay module $00.00

eZlopie Products Momentary switch $00.00

eZlopie Products Level Shifter Module (BSS138) $00.00

eZlopie Products ESP32
$00.00

eZlopie Products AC Lamp and Holder
$00.00