2015 GISHWHES Item 13

I helped a friend one summer by building a hard-to-get item from the Greatest International Scavenger Hunt The World Has Ever Seen:

13. VIDEO. (Video may be up to 20 seconds) Design and build a voice recognition device or robot stationed next to a toilet that flushes it when prompted by the voice command, "Crowley." We must see you speak for 10 seconds prior to saying "Crowley" (you can say whatever you wish for this 10 seconds) but only see the flushing when "Crowley" is uttered. We must see the speaker's face, the flushing mechanism and the toilet bowl in the video framing the entire time.

The fun and constraint of this project was the requirement of a ridiculously rushed deadline on a shoe string budget. I was given only about 48 hours and zero funds to build and submit the proof of the scavenger item. I mostly used components and assets that were laying around in my personal inventory. The only project specific components purchased were a pipe flange, pvc, and nigh disposable $10 electric drill from Harbor Freight. I hand built the amplier and control system to drive the DC motor in the drill.

The System Diagram

I used a BananaPi (a RaspberryPi competitor) to run the Python main speech recognition program that employs Google's speech-to-text service and API. The speech-to-text API dispatches are executed asynchronously for brief buffered phrases in order to maintain performant text conversion of the operators' voice while continuously scanning for the magic trigger term ("Crowley").

Upon identifying the utterance of the trigger term, the Python program signals the microcontroller over the USB serial connection. The ucontroller firmware acccepts a simple ascii command including PWM frequency and duration parameters used to spin the crank linkage to pull the level into correct position for a single flush. The DC motor control was done open-loop to keep things simple but with sufficient torque and precision with my custom amplifier.


Submitted Demonstration Video


Alternate Perspective