The problem
Community RO plants and water ATMs run on cash and trust: operators dispense manually, record sales on paper, and nobody knows the real daily volume or when the tank runs dry. This project automates the last mile: an RFID prepaid-card reader authorizes dispensing, a YF-S201 flow sensor meters every litre through a solenoid valve, and an ESP32 debits the card balance, logs the sale and publishes it over Wi-Fi via MQTT. The dashboard shows the live sales log, litres and revenue totals, tank level from an ultrasonic sensor, and filter-life tracking based on total throughput. A 20x4 LCD guides the user at the machine. The project keeps the demo honest: it dispenses measured water volumes on a demonstration rig with real flow sensing — the payment, metering and logging loop is genuine, while the RO purification stage itself is represented as the supply tank.
How it works
- The user taps a prepaid RFID card; the reader authenticates it and the ESP32 checks the stored balance.
- The LCD offers volume choices; on selection, the ESP32 opens the solenoid valve and the flow sensor starts counting pulses.
- Firmware converts flow pulses to litres in real time, closes the valve at the purchased volume, and debits the card balance.
- Each sale — card ID, litres, amount, timestamp — is published immediately over Wi-Fi via MQTT and written to the sales log.
- The dashboard updates the transaction table, daily litres/revenue totals and the per-hour dispensing graph.
- The ultrasonic tank sensor is polled continuously; below the low threshold, sales pause and a refill alert is raised.
- Total throughput accumulates against the configured filter rating; at the replacement threshold the dashboard flags filter life.
Tech stack:
- ESP32 development board
- MFRC522 RFID reader + prepaid cards
- YF-S201 flow sensor
- 12 V solenoid valve + driver
- Ultrasonic tank level sensor
- 20x4 LCD with I2C backpack
- MQTT broker + web dashboard
- Arduino IDE (C/C++ firmware)
| Parameter | Value |
|---|---|
| Controller | ESP32, Wi-Fi MQTT telemetry (JSON events) |
| Payment | MFRC522 RFID prepaid cards, per-litre debit |
| Flow sensing | YF-S201 hall-effect; approximately +/-5% typical (expected) |
| Dispense control | Solenoid valve, firmware-closed at purchased volume |
| Tank sensing | Ultrasonic level with low-level sales pause |
| Event latency | Immediate publish on sale (design target under 2 s) |
| Dashboard | Sales log, revenue totals, tank level, filter life, hourly graphs |
| Power | 12 V DC for valve/pump, 5 V logic (expected) |
Project features
- [RFID prepaid payments] Users tap a prepaid RFID card; the balance is checked, debited per litre, and the remaining balance shows on the LCD — cashless, accountable sales.
- [Flow-metered dispensing] A YF-S201 hall-effect flow sensor meters every litre through the solenoid valve; dispensing stops exactly at the purchased volume.
- [Live sales dashboard] Transaction log with card, litres and amount, daily litres/revenue totals and per-hour dispensing graphs from live telemetry.
- [Tank level monitoring] An ultrasonic sensor watches the supply tank; low level pauses sales gracefully and raises a refill alert.
- [Filter-life tracking] Total throughput accumulates against the rated filter life; the dashboard shows remaining life and flags replacement.
- [User guidance LCD] A 20x4 LCD walks the user through tap-card, select-volume and collect-water steps with live balance and volume feedback.
- [MQTT telemetry] The ESP32 publishes sales events and tank/filter status as JSON over Wi-Fi via MQTT with immediate event delivery.
What is included
- Working vending rig (tank, pump/valve, flow sensor, RFID reader, LCD, ESP32)
- Complete firmware source (payment logic, flow metering, MQTT, tank/filter tracking)
- Live web dashboard (sales log, revenue, tank, filter life) demonstrated with the rig
- Circuit and wiring documentation
- Flow calibration procedure (measured-volume check with expected pulse counts)
- Prepaid card issue/top-up utility
- Component list with ratings
- Project report PDF (water ATM background, flow sensing, RFID payments, methodology)
- PPT presentation for final review
- Viva Q&A preparation document (flow sensors, RFID, solenoid control, MQTT)
- Setup and demonstration guide
Limitations & prerequisites
- Flow accuracy is approximately +/-5% (expected) — fine for demonstration vending, not for certified commercial metering without calibration weights and measures approval.
- The demonstration rig meters and dispenses from a supply tank; the RO purification stage is represented, not built — stated plainly in the report.
- RFID cards are demo prepaid tokens; real-money payment integration (UPI/gateway) is listed as future scope.
- Water and electronics share the rig — the build guide enforces separated compartments, drip trays and 12 V/5 V low-voltage control only.
- Sales pause gracefully on low tank or network loss; the local LCD keeps the machine usable for balance checks.
Frequently Asked Questions
How does the payment work?
Prepaid RFID cards hold a balance. Tapping the card authenticates it, the ESP32 checks the balance covers the selected volume, dispenses, then debits per litre. The LCD shows balance before and after — a complete cashless loop on the demonstration rig.
How accurate is the dispensing?
The YF-S201 flow sensor counts pulses converted to litres in firmware, closing the solenoid at the purchased volume — approximately +/-5% (expected). Good for demonstration vending; certified commercial metering is noted as beyond scope.
What does the dashboard show?
The live sales log (card, litres, amount, time), daily litres and revenue totals, per-hour dispensing graphs, supply-tank level and filter-life remaining.
What happens when the tank runs low?
The ultrasonic sensor watches the tank continuously; below the threshold, new sales pause gracefully with an LCD message and the dashboard raises a refill alert — the machine never sells water it cannot dispense.
Does it purify the water?
The rig dispenses from a supply tank representing the RO stage; purification itself is not built into this demonstration. The report states this plainly — the project is the vending, payment, metering and monitoring loop.
Is this project suitable for a final-year project?
Yes — for Electronics and Telecommunication programs. It combines RFID payments, flow metering, solenoid control, MQTT telemetry and a business dashboard, all strong viva material. Suitable for B.E./B.Tech final-year projects in Electronics and Telecommunication.
Components & software requirements
- ESP32 development board
- MFRC522 RFID reader + prepaid cards
- YF-S201 flow sensor
- 12 V solenoid valve + driver
- Ultrasonic tank level sensor
- 20x4 LCD with I2C backpack
- MQTT broker + web dashboard
- Arduino IDE (C/C++ firmware)
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.