Arduino controlled clothes washer

Hi everybody! My Arduino project is to replace the mechanical timer on a very common clothes washer: The Whirlpool Direct Drive (A.K.A. "Design 2000").

These appliances are very simple: Only 2 coils for the water valve (one for cold and another for hot water), a pressure switch, a water temperature switch, the timer and last but not least the reversible 1/2 Horsepower motor, wich spins at 1725 RPM and draws about 10A. I think the motor is the most important part of the washer.

Here are some pictures of the electrical system of the washer: This is the inside of the top control panel.From L to R: Water temp switch, Water level/Pressure switch,motor capacitor and timer

This is the pressure switch, note the air hose and 3 wires.

From this side you can see the other part of the pressure switch and the water temperature sw.


Water valve

This is the motor harness plug

The motor Itself

Centrifugal switch

I forgot wich pic indicates the motor rotation :sweat_smile:

Oh! This is the schematic

Tomorrow I'll buy various relays for the motor and water inlet valve.

Any questions or advice?

Any help would be greatly appreciated (Sorry for my Engrish :()

Everyday I get suprised what people (want to) do with their Arduino.

If the timer stil works, you might write a sketch to "get the signals" from the timer so you can replay them. I image a sort of - clothes washer basic to formulate a program


just my 2 cents Rob

Looks fun. Make sure you test the heck out of it though - sounds like there's potential for a bug to cause a flood!

One thing to watch out for is the cases where the timer is stopped. For example it looks like the timer stops if you open the lid while the washer is running. It also looks like it stops the time when filling and emptying. When filling, the water level switch turns the timer back on when the tub is full. On emptying the water level switch turns the timer back on when empty.


Over on the left, out of your photo of the schematic is a state table that shows the sequence for the different timer sections. If it's a NICE one it shows which contact points are active during those sequences. From that you should be able to learn what the timer sequence does.

I'm wondering just how the motor is reversed. Or does the Start winding just get reversed.

Not to tempt the Washer Gods, but it's been a long time since I took a timer apart and 'fixed' some contacts...

The washer will need a Pause function and a emergency stop, just in case. And for the Timer I will not use it because i want the Arduino to do everything. As I see it, this setup will last longer than the timer mainly because of minimal moving parts. The motor contacts on the timer always burn because they can't handle the 10A of the electric motor. So if something will fail, it will be a relay.

I'm a self employee: My business is an appliance rental and repair shop (washers & dryers) and it very costly to replace one or two timers a month so i want something cheaper and if is not that cheaper at least it may last longer :D

(Yes, this is my work and i can't figure how to wire the motor :()

I would keep as much of the wiring as possible by replacing only the timer. You can use an AC opto-coupler (like HCPL3700) to sense power to the timer motor so the Arduino knows when to run and when to pause. Replace the switches driven by the timer cams with relays, preferably solid state. The data pins used to control the relays can also control LEDs to let the user know what part of the cycle the washer is in.

The lid switch already works as a Pause/Emergency Stop switch: it stops the motor and pauses the timer. If you don't need to give the user control over wash time, extra rinses, etc. you just need a 'start' button. For impatient people you may want to have a 'skip to the next cycle' button so they can cut the wash short and start draining.

Thanks everybody, I'm getting better ideas with your comments


You might find this 8-relay board cost effective (< $20 in quantity 10 or so…):

Hopefully 8 relays would be enough…

The optoisolation also means you don’t have to worry about your Arduino so much :slight_smile:

DISCLAIMER: I mentioned stuff from my own Shop…

Hello friend schematic project?