Washing Machine Mechanical Timer Replaced With Microcontroller

After the electromechanical timer on [Paul Canello’s] washing machine broke for the third time he decided he needed to stop repairing it and find a more permanent fix. He decided to build his own microcontroller-based system for washing his clothes (translated). Caution: The image links on [Paul’s] page seem to be broken and will unleash a never-ending storm of empty pop-up windows if you click on them. We’ve embedded all of the images after the break to save you some hassle.

The controller on a washing machine is nothing more than a mechanical alarm clock. It starts the cycle, then moves through various modes based on the passage of time. [Paul] started his hack by observing how long the delay between cycles was meant to be, and recording which parts of the machine were switched on and off at each stage.

It turns out that when the mechanical knob is turned, it reroutes how water flows through the detergent chamber. Since that knob won’t be in the new system [Paul] came up with a way for the microcontroller to handle this by using a servo motor. The rest of the control involves relays to control the motor, and solenoid valves for the water. There are also pressure switches that give feedback for the level of the water in the machine. A PIC 16F872 serves as the new controller, with the help of a 7 segment display, a buzzer, and a pair of buttons as the user interface.

This is an older project, but after reading about the Arduino controlled dishwasher [Ramiro] sent us a link. Thanks!

12 thoughts on “Washing Machine Mechanical Timer Replaced With Microcontroller

  1. A friend of mine recently got one of those energy and water efficient top loading washers.

    While the high efficiency machines may use less water, they take forever to do a load. (5 hours for one load of bleach laundry – mostly because of the multiple rinses needed to actually get the bleach out ).

    I was speculating about the possibility of creating a new controller for the machine to make it do a better job. She took the simper approach of upgrading to an older style machine that uses enough water to actually rinse clothes, and does it in a tolerable amount of time.

  2. I don’t see details of a watchdog timer implemented on the PIC.

    I wonder if he has considered what fault modes this “hack” could find itself in and what implications they will have…

  3. @smoker_dave
    I could just see the machine not shutting off the water and flooding the house. Or the machine is stuck in spin mode for 2 hours while you are at the store. Or in spin mode while out of balance and it destroys the the entire laundry room.

    Then there is always the point where it becomes self aware and decides it doesnt want to do you laundry any more.

  4. @Rob ROFL!!!

    Actually this is a valid concern.
    I would use two microcontrollers in master/slave mode running different code in a different order with one running from battery backup so that if one locks up then the other shuts the machine down in a controlled way.

  5. Reminds me of one of my first useful hacks WAAAAAAAAY back in the 1980s. I lived with my Aunt and her timer broke. We had NO money to fix it.

    I read the wiring diagram (conveniently left in the machine by the manufacturer) and determined that with some multi-pole switches and a little bit of control logic I could fix the machine but make it a manual process to operate.

    Kitchen timer in hand, I built the box.

    Yes Virginia, if you fall asleep you can have the clothes agitate for 24 hours.

    The fill and spin/drain functions I modified to be able to take the sensor data for water amount into account and only fill to the preset point on that dial and spin only for about 10 minutes after the water level sensor said the drum was empty, gotta love the 555 timers.

    She used that washer until the transmission broke about 8 years later. Best machine she had she told me once. That felt good to hear.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.