XKC-Y25 non-contact liquid level sensor with ESP32
Supply 5 V
Bus GPIO
Measures water level
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| VCC | Power | VIN | Brown wire. Accepts 5 to 24 V: use VIN |
| OUT | Output (the part drives it) | D25 | Yellow wire. On the -V version its HIGH level is the supply (5 V): use a voltage divider |
| GND | Ground | GND | Blue wire |
| MODE | Not wired to the ESP32 | — | Black wire. Selects whether OUT is HIGH or LOW with liquid; see the seller sheet |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
This module is sold for 5 V. Its outputs may be 5 V: use a level shifter or a voltage divider on ESP32 inputs.
Starter code (Arduino)
void setup() {
Serial.begin(115200);
pinMode(25, INPUT); // OUT
}
void loop() {
Serial.println(digitalRead(25));
delay(100);
}
Sources
- XKC-Y25 seller datasheet, Supply 5 to 24 V; brown +V, yellow OUT, blue GND, black mode; senses through a non-metal wall up to 20 mm
- XKC-Y25 seller datasheet, Versions: -V (voltage out), -NPN, -PNP; check which one you have
Try it in 3D in BoardPilot
Related parts
A02YYUW waterproof ultrasonic distance (UART)A3144 hall effect switchAM312 mini PIR motion sensorATGM336H GPS/BeiDou moduleBeitian BN-220 GPS moduleBenewake TF-Luna LiDAR (UART mode)
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.