If you ever seen and TV series that takes place in a hospital, you’re familiar with the scene where the two doctors prepare for a surgery, scrubbing their hands while making a long and meaningful dialog.
Recently I’ve had to learn this procedure, as I needed to perform a routine medical treatment at home. as I found out, it takes 60 seconds for the soap (Chlorhexidine) to be effective, hence the lengthy dialog.
the nurse instructing me suggested I use my phone or an “egg” timer, but of course I opted for something a little more high tech.
the main thing I wanted to achieve is for the timer to be automatic, so it starts when I wash my hands and stops without me having to touch anything and get more germs.
at first I thought of attaching a flow meter to the bath faucet. but then I figured It will be easier to put a pressure sensor underneath the soap container, so when I put pressure on the dispenser pump, it triggers the timer. I had plenty of piezos for my previous project, so after a little testing I had a proof of concept device.
next was the display. I wanted some kind of sand hourglass theme and not a digital counter. again went to the leftovers box and came out with six red & green LEDs.
I’ve designed a simple circuit using AVR 328p processor. it has a crystal resonator, the LEDs, a resistor and a zenner diode to protect the analog input, and I even added a voltage divider to measure the two AA batteries voltage.
then I 3D printed a box to hold the soap container, my sensor, electronics and batteries. the outer dimensions are determined by the soap container size. inside I should made the PBC a little smaller, as I took too small tolerances, but I managed to squeeze everything in.
since this is a battery powered device, I had to tweak the otherwise very simple software to put the processor into energy saving sleep mode, and wake up 8 times a second using a timer. each time the software either check the sensor, or flashing the LEDs. the code is programmed and burned using the Arduino IDE.
during countdown each red LED represent 10 seconds, and the last LED blinks in 1Hz. so if we got 35 seconds left, 3 LEDs are solid and the forth one blinks. when done all LEDs blink in green and a buzzer sounds.
you can download all files needed here