Skip to content

Circuit-Digest/SemLab-Contactless-Liquid-Level-Sense-Module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SemLab Contactless Liquid Level Sense Module

SemLab Contactless Liquid Level Sense Module

The SemLab Contactless Liquid Level Sense Module is an open-source, liquid level sensor designed for non-invasive fluid detection. By utilizing capacitive sensing, the sensor detects the presence of liquid inside a container or pipeline without making direct contact with the fluid. This non-contact design prevents sensor corrosion, contamination, and degradation caused by harsh chemical agents, strong acids, or alkalis, making it ideal for chemical, agricultural, and consumer IoT applications.

The module is shipped in a bare PCB style with pin headers attached, making it highly accessible for hobbyists to integrate into their own projects. Although it does not ship with physical waterproofing, the underlying electronics are capable of matching industrial-grade performance when paired with a protective physical enclosure, and the sensor can interface directly with downstream devices such as PLCs, relays, and microcontrollers (such as Arduino or ESP32).

This repository contains all the design files for the SemLab CLS-24BP: schematics, Gerbers, BOM, firmware source, and 3D-printable enclosure CAD files.

Full documentation, working principle, calibration guide, and troubleshooting: CircuitDigest Wiki – SemLab Contactless Liquid Level Sensor Module



Overview

The module uses capacitive (charge-transfer) sensing to detect liquid through a container wall, making it ideal for chemical, agricultural, and consumer IoT applications where contact-based sensors would corrode, foul, or degrade. It ships as a bare PCB with pin headers and can drive relays, PLCs, or microcontrollers (Arduino, ESP32, etc.) directly.

Key Specifications

Parameter Details
Product Model SemLab CLS-24BP
Core Microcontroller WCH CH32V003F4U6 (32-bit RISC-V @ 48 MHz, 16 KB Flash, 2 KB SRAM, QFN20)
Operating Voltage DC 5V – 24V (wide range)
Current Consumption ~5 mA (standby)
Sensing Interface Two-pin charge-transfer (PC3 Excite / PC4 Sense)
Output Mode Open-collector, NPN or PNP selectable via MODE pin
Output Drive Capacity Up to 100 mA
Response Time ≤ 800 ms
Sensitivity Range ≤ 20 mm container wall thickness
Liquid Level Accuracy ± 1.5 mm
Waterproof Rating Bare PCB (IP00) / enclosure dependent
Terminal Interface 4-pin header

For the full explanation of the capacitive sensing principle, RC charge-transfer measurement, and firmware filtering (oversampling, EMA, hysteresis), see the wiki.

Pinout (J1 Header)

Pin Silk Screen Function
1 VIN Power supply positive, 5–24 V
2 MODE Tie to GND for PNP mode; leave floating for NPN mode
3 OUT Transistor signal output (connect to PLC input, relay, or MCU)
4 GND Power supply negative / system ground

Output Modes

Mode Liquid Detected OUT Level Behavior
NPN (MODE floating) Yes Low (GND) Sinks current (active-low)
NPN (MODE floating) No High (Vin) Open-collector, inactive
PNP (MODE → GND) Yes High (Vin) Sources current (active-high)
PNP (MODE → GND) No Low (GND) Pulled to ground, inactive

Repository Structure

.
├── Firmware/             # C firmware source code for WCH CH32V003
│   └── SemLab CLS-24BP.c
├── Hardware/             # Complete hardware design files
│   ├── BOM/              # Bill of Materials (.xls)
│   ├── CAD/              # 3D CAD enclosure files (.step, .obj, .mtl)
│   ├── Gerber/           # Fabrication Gerbers, drill files, and Pick & Place CSV
│   └── PCB/              # Altium schematic (.SchDoc), PCB layout (.PcbDoc), project, and PDF
├── LICENSE               # GNU General Public License v3.0
└── README.md             # Project overview and documentation

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

Credits

Designed and maintained by CircuitDigest under the SemiconLab initiative.

Questions?

For questions, issues, or contributions, please open an issue in this repository, or refer to the full wiki documentation.

About

Open-source contactless liquid level sensor using capacitive sensing for reliable, non-invasive fluid detection.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages