Fully Automatic Washer, Part 1 – An Arduino Project
5 min read

Fully Automatic Washer, Part 1 – An Arduino Project

Fully Automatic Washer, Part 1 – An Arduino Project

The Story

I used to wash my clothes using a top load washing machine till its control board got burned, so I decided to take it to the experts and get it serviced, fortunately! they just gave me an estimate which is almost equal to the actual price of the machine, duh !.  Mean while I was playing with Arduino boards and esp8266 at my garage, lighting bulbs, and stuff. Then on the verge of taking the Washing machine to a scrap dealer a bulb in my head got lighted up ! haha why can’t I try to make it a small control board by myself, after all, we got the little beast Arduino right ???!. And that was pretty much a good idea as compared to light bulbs right ?!.

So I started working on it,
The Washing Machine Model is Samsung WA65H4200HA (Top Load).

The Project

Our goal for this project is to simulate the control board operations using an Arduino, So shall we skip the rest of the story about how I carried it to my garage and get started!


There are some major components to a washing machine :

The Body and Tub, Movements Observation

As we know tub is the place where we put clothes in. It has two parts a cylindrically shaped container (tub) and a rotator which rotates in clockwise and anti-clock wise directions while washing. The movements during the operations are :

Clockwise and anti-clock wise rotation of rotator while washing and rinsing (Tub stays still at this point).
Clockwise rotation of both tub and rotator while draining water during dry spinning.

Conclusions :

There must be something to rotate the motor in both directions probably two coils.
There must be a gear system to drain water, rotate and break the tub.
There must be a gear system to switch between just rotator movement to tub and rotator movement.

Water Control Units, Movements Observation

The most common water controlling units found in a general washing machine are  Water Inlet Controller which controls the water flow into the tub, and Water Outlet  (Drain) Controller which controls the water flow out of the tub. In my washing machine, the inlet controller uses a 230V AC flow control switch which looks similar to the following image :

In my washing machine, the inlet controller uses a 230V AC flow control switch which looks similar to the following image :

Inlet Flow Control

The working: When 230v AC is applied between the two input knob, a valve inside the unit gets open and water is allowed to flow into the tub. Nb: some washing machines have two these, one for normal water input and one for hot water. (in my machine it uses a blue wire for phase and a common yellow for ground which is also connected to the motor section)

Similarly, for the draining system, a drain pump/gear system is used to drain water through the outlet.

After close observation, the operation my washing machine do for draining water is to open a valve attached to the bottom part of the tub using a gear cable which is pulled using an electric motor, which will allow the water to drain out. (Another observation was if we try to rotate the main motor clock wise at this point, the whole tub(drum) will start to spin with the rotator! Dry Spin!!!). The drain valve is also operated at 230V AC.

Outlet Flow Control

Conclusions :

Water inlet operates on 230V AC.
Water drain operates on 230V AC.
Dry Spin requires water drain valve to be open.

Pressure/Water Level Sensors

During disassembly, i also found some additional sensors and safety switches, The pressure sensor (water level sensor) was damaged so we are not using this for the current project. The safety switches include a door switch which is used to stop washer operations if the safety door is open, then an irregular drum movement cut off switch which is basically a switch placed near the tub and it is triggered when the tub hits the switch due to some irregular physical movement.

Pressure sensor working: There is a small tube from the bottom of the tub, which is connected to the pressure sensor. When water fills in the pressure in the tube rises as the air pushes the way out which will then move a magnet inside the sensor between a coil generating a small emf and resistance difference, these data is then sent to the control board for processing.

For now, we are skipping these as my pressure switch is damaged and I am not interested in adding the safety features in a prototype model.

Motor and Mechanical Control System

The motor in most washing machines is bi-directional. and in my case, it has three wires coming out in which one is a common ground while other two are phase connections for each direction. The easiest way to distinguish between the three connection is to measure the resistance between then using a multimeter.

Say we have three wires from motor: red, yellow, blue
if the resistance between red and yellow is 40 and blue and yellow is 45 and red and blue is 90 then it’s obvious that blue and red are far distant and yellow is almost a mid point, so yellow will be the common ground and others will be directional phase !. please make sure to connect one phase at a time.

Then as I mentioned before there is a drain connection which is used for opening the drain valve as well a gear to connect the drum for spinning. both use the same connection and both are enabled if we try to invoke either. in my machine, the connection color for it is black, while it uses a common yellow ground with the motor.

Conclusions :

The motor has 3 wires, one is ground and other two are phases for each direction.
Water drain operates as both drain valve as well as a gear to enable dry spinning using the tub (drum).

Control Board

Obviously the control board control all operations in the washing machine,

  • Fills water by triggering water inlet valve.
  • Stop water filling when the pressure reaches a certain point.
  • Rotates the rotator in the tub in both direction in specific intervals for a specific interval of time as per user selected modes.
  • Drains the water till the tub is empty using the drain valve switch.
  • Fills water again for rinse (same as above).
  • Finally draining all water and start to spin with the drum and rotator for dry spinning using both motor and drain valve switch.

now that we know the basic operations in the machine lets start designing an Arduino project to automate the flow.

Stay tuned for Fully Automatic Washer, Part 2 – An Arduino Project, meanwhile check out my git repo for current code. https://github.com/redocnib/FullyAutomaticWashingMachine