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.