DIY Contactless Automatic Hand Sanitizer Dispenser

Introduction: DIY Contactless Automatic Hand Sanitizer Dispenser

This Automatic Hand Sanitizer Dispenser is probably the only one on the web that

-has flow control AND

-does not use Arduino.

All you need to do is place your hand below the nozzle, and you'll get a perfect, measured amount - No mess! If you do happen to need more, just place your hand below it again. You don't touch anything.

It's probably the most practical, and the closest to a commercial Automatic Hand Sanitizer Dispenser you'll find on the web.

What's different from the truck-load of circuits online?

After Covid-19, Automatic Hand Sanitizer Dispensers seem to have become a hot topic for projects. While I was looking online though, I noticed that those designs which used Arduino were unnecessarily expensive, and had way too big a form factor to fit into. Designs that didn't use Arduino had no flow control. When someone puts their hand in front of the sensor, there was a continuous flow of sanitizer until their hand was removed.

Spillage! After implementing such designs, there was a lot of Sanitizer wasted, and hands get sticky and mucky.


1. 2x IR LED

2. 1x Photo Diode

3. LM358 (Op-Amp)

4. NE 555

5. BC 547 transistor

6. IRF 840 Mosfet

7. 9V -12V DC Submersible Pump

8. Diode - 1N001

9. 10 μF Capacitor

10. 100 K Variable Resistor

11. 220 K Variable Resistor

12. 4x 1K , 1x 33K , 1x 1.5K , 1x 100K resistor

Step 1: Circuit

The circuit has 3 modules

1. Sensing - To sense when a hand in under the tube

2. Dispensing - To initiate the flow of Sanitizer

3. Flow Control - To limit the flow of the Sanitizer

Step 2: Physical Circuit

Step 3: Sensing Module

One could easily get an IR sensor module, but I couldn't get one nearby and made it from scratch. All the module needs is an IR LED as an transmitter, a photodiode as a receiver and an op-amp(LM 348) to function as a comparator. When your hand is in front of the IR LED, the IR light is reflected back towards it. The photodiode generates a current, which raises the voltage at the other terminal of the op-amp.
This gives an output of 1 when your hand is under the nozzle and an output of 0 otherwise.

I also added a red and a blue LED -> The red one lights up exclusively when the sanitizer is dispensed, while the blue LED is for when the proximity sensor has detected an object.

Step 4: Dispensing

Once the Pump receives a high signal, as one would get directly from the IR sensor module we made, it pumps out the sanitizer in the bottle. As long as your hand is under the nozzle, the sanitizer keeps dispensing. That leads to sticky hands, a mess and wastage of sanitizer. 90% of the time all we need is a small amount of sanitizer. Hence, we need a means to control the flow, which means controlling the output from the IR sensor and sending a modified output to the pump.

Step 5: Flow Control

When the sensor output goes high, we want to send a pulse to the pump. Remember that once the hand is removed, and placed back under the nozzle, we want yet another dose of sanitizer. For that, we need to do level to edge conversion.
There were a lot of way to go about this. One would be to use a D flip flop, an AND gate and a clock for the DFF. This would require three separate modules though. Another method would be to use an RC circuit.

The problem with the above approaches was that they required a minimum of three separate modules which are commonly available.

I wanted to make a circuit which provided all the benefits of flow control, while using the least components. The following circuit only uses one.

For understanding the circuit, one must understand weak pull-up.

Weak pull-up

A resistor with relatively high resistance is called a "weak" pull-up or pull-down; when the circuit is open, it will pull the output high or low more slowly, but will draw less current.


The circuit has a weak pull up connected to the trigger pin of the IC 555. The sensor output is connected to the base of the BJT. The emitter is connected to a parallel circuit of a resistor and a capacitor. So when the sensor output is low(i.e. no hand), the circuit is as good as open circuited. When high, the capacitor charges, while the output is then given as High, but as a spike.

In the video, you can see that if you change the resistor value, the duration of the spike will increase too. One will have to tune the value according to the ambient light settings at the location.

Step 6: Construction

I found an old bottle, removed the peel, cleaned it completely, and cut a hole on the top. I would suggest using a drill if available. The physical setup of the bottle with the tube can be found on many online tutorials.

The tube is connected to the pump at one end, and to curve it I inserted a thin metal wire which I bent according to my specifications.

Be the First to Share


    • Fix It Speed Challenge

      Fix It Speed Challenge
    • One Board Contest

      One Board Contest
    • New Year, New Skill Student Design Challenge

      New Year, New Skill Student Design Challenge