
We designed the Automatic Touchless Arduino Water Dispenser to prevent water wastage.
Generally, people do not rub their hands with soap for the required 20 seconds before washing them with running water. Or they leave the tap running while rubbing their hands with soap. This proposed system can help solve both these problems.
POC Video Tutorial In English:
POC Video Tutorial In Hindi:
Recommended: Interesting DIY Projects
| Bill of Material | |
| Components | Quantity |
| Arduino Uno (MOD1) | 1 |
| 12V, 1A adaptor | 1 |
| Ultrasonic sensor HC-SR04 (MOD2) | 1 |
| Transistor BC547 (T1) | 1 |
| 5V relay (R1) | 1 |
| Buzzer (B1) | 1 |
| Cooler water pump | 1 |
| 1k resistor (R1) | 1 |
| LED | 1 |
Working Flow-chart
The flow chart of this low-cost, easy-to-make water dispenser for washing hands is shown in Fig. 1. The components required to make it are mentioned under the Bill of Material table. The circuit diagram for the touchless water dispenser is shown in Fig. 2.

Automatic Arduino Water Dispenser Circuit Diagram
The circuit comprises an Arduino board (MOD1), ultrasonic sensor HC-SR04 (MOD2), transistor BC547 (T1), 5V one changeover relay, a cooler water pump, and a few other components listed under the Bill of Material table. The relay energizes automatically when a user’s hands are 3 to 5cm away from the ultrasonic sensor to deliver water.

Arduino Water Dispenser – Code
Install Arduino IDE in the Arduino board and upload the source code (see Fig. 3 for source code snippet) by selecting the right board and port number in Arduino IDE.
Assembling and Testing
After uploading the source code, assemble the circuit on a general-purpose PCB and enclose it in a suitable box. Install the ultrasonic sensor in front of the wash basin in such a way that when someone brings hands near it, the tap water starts flowing.
After proper installation, power the circuit. When someone who wants to wash his/her hands comes in front of the ultrasonic sensor, within 60cm, the LED automatically lights up. It indicates that the person should start rubbing their hands with soap.
After 20 seconds, the relay automatically drives the pump motor for 3 seconds to dispense water for washing hands. Then the pump motor stops for 2 seconds so the person can check her/his hands. The motor starts delivering water once again after 2 seconds for another 3 seconds to ensure the hands have been cleaned thoroughly.
Thereafter, the buzzer rings for 3 seconds to indicate that hands washing process has been completed and now the person may remove hands from the washbasin and leave the place.
This is how you can build your own touchless Arduino water dispenser. If you have any issue while making this project, please feel free to ask in the comments below.
Download Source Code
You can also check corona protected doorbell using Arduino.
Rakesh Jain, Assistant Professor in the ECE Department at Geetanjali Institute of Technical Studies, Udaipur, holds a master’s degree in VLSI, BE degree in electronics and communication, and a diploma in electronics. His research areas are sensors and microcontrollers, and he has 26 copyrights and 3 Indian patents to his credit. He is the recipient of the Mewar Scientist Award 2023.
Rahul Moud, Assistant Professor in the ECE Department & Dean of Student Affairs at Geetanjali Institute of Technical Studies, Udaipur, has a master’s degree in VLSI and BE degree in electronics and communication. He has 3 copyrights, and his research area is network theory and analysis.






Thank you for the useful circuit. I have noticed few unique and novel design approaches.
1. There’s no current limiting resistance for the T1(BC547) and directly driven by 5V microcontroller.
2. There’s no current limiting resistance for D1(LED)
3. Reference designator R1 denotes 1kΩ resistor and a Relay(R1).
I have learned a lot from your disruptive design approaches. Thank you for sharing.