Alexa, Flush the Toilet!

14,308

51

28

About: With 21 Featured Instructables, and Over 1 Million Views, I think I am doing pretty good here, with my wacky ideas!

This Instructable has gone viral appearing on Tech Crunch, Mashable, Make Magazine, Yahoo's front page, Twitter, Feedly, Bing, and a bunch more!!!

THANK YOU ALL!!!

(I am flush with appreciation)

Jonathan

Step 1: Alexa Controlled Toilet

I attended CES, and one of the displays was a $6000 Alexa controlled toilet,

https://www.usatoday.com/videos/tech/2018/01/12/al...

and I thought to myself

"HEY I CAN DO THAT FOR A *LOT* LESS MONEY"

(yes, I did think this is all caps)

So I did my research and purchased a Swash 1400 'Washlet" toilet seat

https://www.brondell.com/swash-1400-bidet-toilet-s...

One of the advantages of this unit, is it has a RF remote.

Which brings me to:

Step 2: IR in the WC

[UPDATE 3/22/18]

I 'hacked' the broadlink limitation and created 22 "television" devices

Each 'device' is named the corresponding button on the remote, and I can Turn them 'on and off'

using alexa - I lost my ability to create scripts, but am working on it

BroadLink - IR Control Hub Works with Amazon Alexa, RM Mini3 Smart Home Wi-Fi Enabled Infrared Universal Remote Control, One for All Control

This little guy can be trained using your phone, and has an alexa interface its cheap at $23

https://www.amazon.com/gp/product/B01FK2SDOC/ref=o...

Picture #2 is the Control Buttons for the Virtual Washlet IR Controller.

BUTT (yea, humor) the magic voodoo for your doodoo comes HERE

Step 3: The Royal FLUSHER

THIS little beauty is the intelligence that makes it all happen.

https://www.adafruit.com/product/2821

Using a very intuitive programming language -- I added in a "flush" command

(which triggers a 3V relay) that sends a momentary On/Off)

The relay I am using is a KEST - KS2E-M-DC3 -- I prefer DPDT relays for their

versatility and small size and that Triggers . . . THIS


[Editors note: Picture #2 is me building an 'external' flush relay for more versatility]



Step 4: Auto Flusher

TECHO Touchless Toilet Flush Kit Wave Automatic Motion Sensor Battery Operated unit

https://www.amazon.com/gp/product/B01DO7ABHW/ref=o...

It goes into your toilet tank, and when activated it turns a motor that lifts the flapper on your toilet to flush it

It has a wave detector that is on the top side of your toilet as well.

I hacked the unit and found two wires when joined, activate the unit.
(picture 2)

I put the Adafruit feather board, and relay in the inside of the flush unit, stole the 5V to power from the internal batteries that powers the flush unit.

I programmed the feather, with the name "toilet" with a command "Flush"

Step 5: Hands Free

The Swash does a great job of 'cleaning up the mess that is me'

the costs?

$649 for The swash 1400

$46.00 for the auto flusher

$23.00 for the Broadlink IR

$17.00 for the Adafruit board (alexa interface)

All the comforts of that $$$$ toilet for a LOT LESS

and I am GERM FREE...

Step 6: Interacting With Alexa

I have had an issue with the device name (which is 'Toilet')

Alexa would only allow me to say "Alexa Turn on Toilet" -- which just ain't no fun.

After some research I came across and article how to set up a "Routine"

where you can change the command to anything you like;


'Alexa, Flush Toilet' 'Alexa, flush the john' 'Alexa, enable system dump'

(you get the idea) Here is the Guide

https://www.tomsguide.com/us/how-to-create-an-alex...

Step 7: CODE MONKEY

Here is the Code for the Feather Board;

#include #include #include "fauxmoESP.h" #define WIFI_SSID "Your Wi-Fi Name" #define WIFI_PASS "Your_Password" #define SERIAL_BAUDRATE 115200 fauxmoESP fauxmo; #define TOILET_PIN 14 // ON YOUR FEATHER BOARD // PIN 16 UNUSABLE // PIN 0 UNUSABLE volatile boolean Toilet_state = false; // off by default! volatile boolean Toilet_desired_state = false; // off by default! // ----------------------------------------------------------------------------- // Wifi // ----------------------------------------------------------------------------- void wifiSetup() { // Set WIFI module to STA mode WiFi.mode(WIFI_STA); // Connect Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASS); // Wait while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(100); } Serial.println(); // Connected! Serial.printf("[WIFI] STATION Mode, SSID: %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str()); } void callback(uint8_t device_id, const char * device_name, bool state) { Serial.printf("[ECHO] %s state: %s\n", device_name, state ? "ON" : "OFF"); if ( (strcmp(device_name, "Toilet") == 0) ) { // TOILET Toilet_desired_state = state; // Remember the new desired state } } void setup() { pinMode(TOILET_PIN, OUTPUT); digitalWrite(TOILET_PIN, LOW); // Init serial port and clean garbage Serial.begin(SERIAL_BAUDRATE); Serial.println(); Serial.println(); Serial.println("Echo Control"); // Wifi wifiSetup(); // Fauxmo fauxmo.addDevice("Toilet"); // works fauxmo.onMessage(callback); } void loop() { fauxmo.handle(); if (Toilet_state != Toilet_desired_state) { if (Toilet_desired_state) { // Transition to on Serial.println("activating..."); digitalWrite(TOILET_PIN, HIGH); delay(1000); // Safe to use delays here Serial.println("...Royal Flush"); digitalWrite(TOILET_PIN, LOW); } { // Transition to off digitalWrite(TOILET_PIN, HIGH); delay(200); // Safe to use delays here Serial.println("...turning off relay"); digitalWrite(TOILET_PIN, LOW); } // We handled the state change, so the desired state becomes the current state Toilet_state = Toilet_desired_state = false; } }

Step 8: Testing, Testing, Is This Thing On?

Here are some test videos of the Amazon working,

I have the test LED lit, so you can see the action as it happens.


I refuse to show you a video with me using it, and my camera isn't waterproof

Here is a test of the IR control

Step 9: Happy Bidet to YOU!!

Started Customizing the Electronic (phone) and Alexa Commands, - with custom scripting

Using both The alexa and the Broadlink -- Here are the control buttons for you!

Voice Activated Challenge

Grand Prize in the
Voice Activated Challenge

Share

    Recommendations

    • Tape Contest

      Tape Contest
    • Paper Contest

      Paper Contest
    • Organization Contest

      Organization Contest

    28 Discussions

    0
    None
    compuricon

    12 days ago

    This actually seems fake because author is not showing 2 wires on the Flusher unit, and also power of Adafruit feather board would last 2-3 hours the most on those 4 batteries because WiFi and a motor would drain it quickly.

    2 replies
    0
    None
    macgeekcompuricon

    Reply 10 days ago

    Well, for a 'fake' thing I have been using it for 6 months.
    as far as your nasty comment, The battery did die after 6 weeks,
    I fixed that issue using a Qi wireless connection thru the tank, The two wire
    connection started getting jittery after a few weeks, and I changed to a stepper motor
    I was writing a new instructable, with the improvements, but life got in the way.

    0
    None
    compuriconmacgeek

    Reply 10 days ago

    I am glad you are real, my initial impression was mistaken. But if you could show those 2 contacts that trigger flush, even if that fails I have some work around that I will share. I've already purchased the Flush unit so it would be wise to experiment with it.

    0
    None
    RickyG44

    Question 7 weeks ago on Introduction

    Can you post a photo of the two wires needed to connect to the flush unit to trigger a flush??? Thanks!

    0
    None
    MarkS916

    Question 3 months ago on Introduction

    HI have you a better picture of the two wires needed to hack the flush unit please

    0
    None
    mdutton3d

    5 months ago

    Actually, I found this article from a direct google search.

    We have a dear friend, with ALS, that just lost her ability to wipe herself this past month... and feels she has lost the remainder of her dignity.

    Thank you to the genius who figured out how to put voice commands to work for people who can really benefit.

    $6000 Koehler... really?!?

    macgeek can you help a non-geek achieve a working voice command bidet for our dear friend?

    0
    None
    ClaudiaC108

    1 year ago

    Why, have we become so lazy that we have to computerize our toilets. Pun intended, this is Crap.

    7 replies
    0
    None
    mdutton3dClaudiaC108

    Reply 5 months ago

    Actually, I found this article from a direct google search.

    We have a dear friend, with ALS, that just lost her ability to wipe herself this past month... and feels she has lost the remainder of her dignity.

    Thank you to the genius who figured out how to put voice commands to work for people who can really benefit.

    $6000 Koehler... really?!?

    macgeek can you help a non-geek achieve a working voice command bidet for our dear friend?

    0
    None
    RaymondR6ClaudiaC108

    Reply 1 year ago

    I agree about the "laziness" for normal humans, but there are many physically limited or handicapped seniors (my mother-in-law who is 90 years old) who have little strength to press the mechanical level. Maybe just the push button to activate the flush will be enough for her, but there is a real need for voice controlled automation in the world for others. So I applaud and recommend this "Instructable".

    0
    None
    macgeekClaudiaC108

    Reply 1 year ago

    Claudia, actually your question / statement is a good one..

    I have been 'doing it the old way' for 58 years, so at first I thought this a 'geeky gimmick' as well
    but now that I have been using it for a week, I am a LOT cleaner, both externally and internally.

    The fact that you are NOT TOUCHING anything lends itself to a cleaner experience

    plus I am sure germ factor is a LOT lower.

    You work very hard to be lazy

    :)

    Jonathan

    0
    None
    Captain_Nemomacgeek

    Reply 1 year ago

    There's this great new stuff called 'antibacterial soap", it's great, you should try it.

    0
    None
    macgeekCaptain_Nemo

    Reply 1 year ago

    I drink it by the gallon, I pair it with Tide pods.

    0
    None
    legless

    5 months ago

    Instead of having to issue a command to turn it on then a command to turn it off, issue the "on" command, then wait a fixed amount of time using delay() or millis(), then issue the "off" command. I do it when I want momentary relay outputs.

    1 reply
    0
    None
    macgeeklegless

    Reply 5 months ago

    I actually have 'tweaked' the unit, where I can do a flush as an on/off -
    but added a sensor that see's where your hand position is over the
    toilet tank, if it is high then it does a 1/4 turn of the selenoid valve
    for 1 second, (soft flush) and it the hand is low (near the tank) it
    does a 1/2 Turn of the selenoid valve for 3 seconds (Hard flush)

    0
    None
    Build-Bot

    1 year ago

    Really creative idea!

    0
    None
    macgeek

    1 year ago

    Best COMMENT EVAH

    27972463_10160042598660357_553228972239660552_n.jpg
    0
    None
    BurgersBytes

    1 year ago

    What 2 wires go from flush unit to the controller relay? Need a better picture of points on circuit board....

    1 reply
    0
    None
    macgeekBurgersBytes

    Reply 1 year ago

    I am adding to the Instructable, and will post more detailed photos of the controller.