Mechanical to Arduino timer/selector conversion

Arduino saves a broken washing machine

Public Chat
Similar projects worth following
After the spring on the mechanical timer decided to come loose and trying to fix it with no success, I decided to replace it with a Arduino controlled relay.

The 2 selector knobs are replaced by one rotary/push switch and a 5110 screen.

Selections are displayed on the screen and can be selected using a rotary push switch. 

There are 3 wash type selections, Strong, Normal and Gentle. 

The original timer only ran for maximum of 15 minutes, I decided on allowing selecting up to 60 minutes of wash time in 5 minute increments.

As an added bonus I added a soak timer that can be set for up to 10 hours of soak time before the washing cycle starts.

The soak and wash timer are displayed showing time left once the selections are made.

Once the soak and/or wash cycle starts the machine can be reset at any time by a long-press.

The Arduino program uses non blocking timing to run all timers and the wash cycle. 

I cut out the place where the 2 selectors were and 3d printed a new front panel.
The back of the panel has standoffs for screws that allow the box with the relay, power supply, Arduino and relays to be mounted.


Front panel

Standard Tesselated Geometry - 505.65 kB - 01/30/2022 at 09:29


Standard Tesselated Geometry - 6.14 kB - 01/30/2022 at 09:29



Clip to keep box in place

Standard Tesselated Geometry - 2.23 kB - 01/30/2022 at 09:29



Lid (fastens to backpanel)

Standard Tesselated Geometry - 114.14 kB - 01/30/2022 at 09:29


ino - 8.50 kB - 01/16/2022 at 12:38


  • 1 × Arduino Pro Micro
  • 1 × 30A relay module with 2 relays
  • 1 × 5110 LCD display
  • 1 × Rotary encoder with push button
  • 1 × 220 ohm resistor Connectors and Accessories / Miscellaneous Connectors

View all 8 components

  • Installation

    Setvir01/30/2022 at 06:04 0 comments

    3d printed front panel and box for the installation.
    Connected the Hi-Link AC-DC Module to mains.
    Tested without connecting motor wires and relays worked as expected.
    Connected motor wires.
    Sealed off cables and front panel with silicone to guard against moisture.

    All was tested and the program worked as expected.

    Machine washing and working again!

    One problem with the 5110 is that it keeps getting darker and after some time unreadable. Tapping the screen clears it and it works normally. I have checked all the wire connections and they are fine. 

    I suspect this is due to a dry joint on the 5110 board or faulty LCD.  
    But that is a problem for another day! :-)

  • Initial breadboarding and programming.

    Setvir01/16/2022 at 12:36 0 comments

    All components have been connected using breadboard and jumpers.
    Arduino program has been written and tested. As usual I wrote it to work not to be the best example of programming. :-)

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates