Introduction: COVID-19 Inspired Hands Free Soap Dispenser

About: An avionics engineer by profession. I am a huge DIY freak and my proudest possessions are my tools. Since 2016, I have been interested in Arduino and using them to simplify / automate stuff that can be used …


With the Indian Lockdown 4.0 about to come to an end in a weeks time and with gradual reopening of offices and establishments, I decided I will utilise the last of the arduino UNOs I had to attempt making a hands free soap dispenser.

While there are a number of similar projects online and even on, I was most impressed with the instructable DIY-Easy-Non-Contact-Automatic-Hand-Sanitizer-Disp . However there were some issues I faced at an advanced stage of development with the servo not being able to develop enough torque.

That led me to working on making my own pump and in turn a slight modification that led to modifying the original design. While it was interesting to make my own pump using a cap of a plastic soda bottle and a broken CD for fins, I decided against that design as the pipes got in the way of the distance sensor. (This was primarily due to the fact that I was trying to make very little changes to the original design). Both these designs are in the picture above.

Then it occurred to me that I had a spare 12V DC geared motor that was lying unused and I decided to try making a soap dispenser using that. As the motor was a geared motor, the torque issues for sure would be resolved I knew.

This is how I went about it...

Step 1: Materials Required

The following materials are required for this build:

(a) Arduino Uno board - 01

(b) Arduino motor shield - 01

(c) 12 V DC geared motor 10 rpm - 01

(d) Generic AX195 Advance Metal Chassis - 01

(e) Verve Dummy motor 01

(f) Ultrasonic distance sensor HC SR04- 01

(g) Wires

(h) Independant power sources for arduino uno (5-9 V) and motor shield (12V 2 amps)

(i) Acrylic sheet 6 cm x 6cm to mount the electronic components and insulate from the metal chassis

(j) a piece of old metallic hangar or any other similar metal flexible piece

(k) 16 x 2 LCD display and 3 pin interface shield 01

Step 2: Build and Wiring

On the acrylic sheet mount the arduino Uno with the arduino motor shield atop it. When complete the acrylic sheet will form the back of the dispenser and will be closer to the wall.

Drill two holes to pass the HC SR04 sensors through in such a manner that the sensors face forward.

Mount the motor and the dummy as shown by the yellow boxes.

Once mounted join the two shafts with the flexible metal piece (item J on the parts list) as shown in the orange box.

Next position the liquid soap bottle on the chassis and secure it in position onto the chassis by some suitable means. I had some pieces from my son's mechanics set and it proved to be ideal as it had holes that aligned perfectly with the holes on the chassis and just needed to be screwed down.

Solder two leads to the motor terminals and connect the other end to the terminal M2 on the motor shield.

The wiring schedule is as follows:-

HC SR04 trigPin to Arduino Uno pin 10

HC SR04 echoPin to Arduino Uno 11

LCD shield Date Enable to Uno pin 6

LCD shield Clock to Uno pin 5

LCD shield SCK to Uno pin 9

Power supply connections as normal. 5-9V source connected to Arduino Uno where as the 12V supply connected to Motor shield.

Step 3: Sketch and Finishing Touches

The sketch is as attached.

I have made adequate provision for prompts to make it user friendly and built in adequate delays to ensure one is not rushed through the process.

It works and hopefully it is one step closer to making my office a safer work space.

I am entering this instructable into the arduino contest. Simple as it may be I would be happy to see a few of you vote this and favourite this.

Once again under the circumstances, let me finish by hoping you all will enjoy this build and most importantly stay safe!

Arduino Contest 2020

Participated in the
Arduino Contest 2020