Go Down

Topic: Arduino Controlled Dishwasher (Read 30839 times) previous topic - next topic


Wait, you haven't seen phi_prompt?

Yup, I'm aware of that library, and yeah, I do plan to use it, never said I was going to do my menus from scratch. Just haven't gotten to them yet.


4 months with the Arduino controlled dishwasher. Still works like a champ. :) There were quite a few people concerned about the energy consumption.. Seems to be quite good, my power bills have been great ever since implementing my own controls. I suspect the original controller used the heating element on the bottom of the dishwasher to dry the dishes. I don't, and that'd save a ton of electricity, I imagine.
I had trouble with the clock drifting initially, but after about a month, it settled into it's stride, for some reason. It now keeps pretty good time, losing less than a minute in a month, it seems. It was about a minute a day initially.
I still need to get back into the sketch and add more functionality, but it does what my wife and I need it to do, and it just works. So I haven't been very motivated to mess with it.. ;)
I feel like an uber geek when we have guests over and I insist they check out my dishwasher.. hahaha.. That's a nice bonus.. The average person can't tell that the dishwasher didn't just look like this from the factory, which is a total win, in my book. :)


Congratulations !!  I never suspected you would have any trouble except for making it look good.  You showed me!!  Really nice job.

Isn't it fun to do something like this and have it just work day after day like it should have been from the very start.  Let's hear it for doing it ourselves.


I'm doing something like this but I'm using a sprinkler system controller so I can put in more water zones, I will be modifying the machine to work with a pump that is 350 gallons per min. so it will work more like a commercial dishwasher using max heat, max pressure, and all is done in 10 to 15 min.  I will post photos soon.


That sounds really cool. Post a link when you get that working! :)


Hey All You Dishwasher Dudes!
I just wanted you to know that you inspired me!  I built an Arduino dishwasher myself.  My motivation was this:  my water has a lot of alkalinity in it.  Basically it's like hardness but neutralizes acid, and it prevents the detergent from dissolving.  I figured out that if I added vinegar to the dishwasher the soap would dissolve better and the dishes would actually come out clean.  Further, I figured out that if I wait until the soap dispenser opens to add the vinegar it works a whole lot better and takes a lot less vinegar.  But who wants to wait around for the soap dispenser to open? 

So why didn't I just treat the water?  I live in the mountains on a well.  It produces 6 gallons per hour.  I built a special controller for that out of a micro PLC, but that's a whole different story...  Water treatment systems use water to backwash and regenerate, so to me that's a waste of water.  Besides, to get a treatment system to get rid of alkalinity basically requires two complete ion exchange systems (read expensive).  So, I figured I would spend a hundred bucks or so and build myself a dishwasher controller that adds the vinegar when the dispenser opens.  That's what lead me here!

It took me a few months to get the whole thing put together.  I didn't change the user interface at all.  I just used the front panel that came with the dishwasher.  I used UnaClocker's suggestion of scanning the PCB to get the position of the buttons and LED's in the right spots, and just made a board to replace the one that was there.  It's just made out of FR-4, LED's, buttons, pin headers and wires.  I painted it with epoxy to kind of hold it all together and protect the wiring from the humid environment.  I used a peristaltic dosing pump (probably from a fish tank dosing system - bought it at Adafruit) to add the vinegar.  The only other things I added were a temperature sensor, which is a Maxim DS18B20 device, and a Bluetooth serial adapter for debug and monitoring.  I did a lot of messing around with the cycles, which basically resulted in having the cycles take more time to get more use out of the water and additives:   Oxy-Clean, Cascade powder, Jet-Dry, and vinegar.  I also modified the rinse-only cycle for times when water is really at a premium, ie a really good dish rinser that actually meets my needs.

Anyway I put the final touches on it today (controlled temperature) and don't think I'll mess with it for a while.  It works great!  It used to be that the only thing I could really use the dishwasher for was rinsing dishes, since it would not actually remove any food from the dishes. (Hence the name DishRinser!)  Now I can actually put dirty dishes in the machine, press start, and come back later and take clean dishes out.  Hooray!  Anyway I thought I'd say thanks to you guys for the inspiration.  If anybody wants help/advice with similar problems I'll try to help.  Happy washing!


Jan 21, 2018, 06:44 pm Last Edit: Jan 21, 2018, 06:51 pm by niq_ro
hey, your webpage is "broken".. can you put here the schematic ?
I found the sketch at http://riveratek.com/?p=17&lang=es but schematic is in 'broken" page
is not better to reinvent the wheel, but to improve it's less work and better results


+1: the website doesn't exist anymore. Can anyone post the sketch and schematics ?
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).


Aug 23, 2019, 05:31 am Last Edit: Aug 23, 2019, 07:14 pm by bradgranath
Found it.  The wayback machine has an instance of the site, which has a pastebin link for the sketch.  The link's still good!  I found the drawing on a parts website for the Maytag QuietSeries 300.


See attachment.

I have a Maytag QS300 dishwasher with a burned out control panel, an Arduino Uno, and a subscription to the Hackaday RSS feed.  They featured this a while back.

This be my first microcomputer project. Got the wiring from the dishwasher broken out and labeled, and everything hooked up to an optocoupled relay board.  Sanity checked everything.

This is a good model to do this with, judging by the wiring diagram, since it seems very sensibly designed, ostensibly with safety in mind. I've watched enough AvE and read enough Hackaday to know this is a good thing.

The door latch has a dual pole switch for the line and neutral mains wires which is normally open when the door is not latched, the heater is in series with a thermostat to protect from overheat, and the water fill valve is in series with a float switch to prevent overflow.

These protect against faults directly and don't rely on the controller to sense a fault condition and appropriately respond to it. Instead they interrupt the circuit in the case of a fault condition. If they're REALLY done right they should also fail in a safe manner as well, but I haven't checked to see if this is the case.

Also, if the the drawing is correct this model has a soil level sensor, which I'm guessing is implemented as an LED shining through the drain water onto a photoTRANSistor. I think I'm reading that symbol right.

I threw in some pictures of the factory PCB and wiring harness.

Currently (pun intended) the relay board is dangling down the front of the unit, which wouldn't be normally be an issue, except that my unit has a stainless steel façade, which I'm worried could short the traces on the board, so I tossed the whole lot into a Ziploc bag.

Will update this when I've tried running the sketch.

Go Up