Before describing how I connected my washing machine to the Internet. Let’s start with the background.
The smart grid is expected to be the future intelligent energy network. In the smart grid, enabled with digital technology, it should become possible to control appliances at home depending on energy cost and the availabillity of renewable energy. A popular smart grid use case is doing the laundry. Within limits the washing machine can run at arbitrary hours, so that electricity demand is moved to a more ideal situation (low energy price for instance).
The term smart grid has been used since 2005, and since then a lot of information aboutthe grid and appliances have become available. While six years is relatively short for energy networks, it is very long for the Internet. From this perspective I find it rather strange that still no Internet ‘connected’ washing machines are available on the market today. Miele, one of the leading washing machine vendors in Europe, showcased a ‘smart grid’ capable washing machine in fall 2010. Still general availabillity seems to be far away.
And what to do with legacy washing machines? In the Netherlands, washing machines are expected to live longer than ten years. For me, this was the motivation to see if it is possible to turn my washing machine into a ‘smart’ appliance.
And now the details of my modification. From the EAI perspective it falls in the category ‘User Interface Integration’. Our washing machine, a Bosch 64800 is equiped with a control panel made up out of a rotary switch for selecting the wash program, a number of leds for reporting the state of the machine, and six push buttons for starting/stopping and additional functions (eco-mode, extra water, faster wash cycle, and spin dryer speed). A picture of the control panel is shown below.
And the bare control panel inside the machine looks like this
Interestingly the control panel on the inside of the machine is equiped with a lot more push buttons (9) than are exposed on the outside of the machine (6). Operating voltage of the board was measured to be 5VDC.
For my modification I used a JeeNode (a wireless Arduino compatible microcontroller board). The first step of was to solder two wires on the electronics board parrellel to the Start/Pause button. This button provides functionality to start/stop the washing process at any time. The other end of the cable is connected to a JeeNode with a Relay plug.
Next step is to glue three LDR’s on the perspex backside of the controlpanel. The LDR’s were glueed to the start/pause led, the ‘looptijd’ led (washing in progress), and the ‘einde’ led (washing done). The wires are connected to the JeeNode (with an additional 1M resistor). For more functionality, more LDR’s (and more buttons) can be connected to the JeeNode for more detailed state information (which part of the washing cycle, etc) and more control.
The funny thing is that after fitting the control board into the washing machine, no changes are visible from the outside of the washing machine. Also, normal usage is still the same as before.
As can be seen in the picture below, the state of the machine can be retrieved succesfully. In the picture the state is plotted as a function of time. The states of the washing machine are: 0 for off, 1 for ‘program set and ready to start’, 2 for ‘washing’ and 3 for ‘ready, washing done’.
The graph also show an improvement I wanted to make. Since the washing machine lacks a ‘delay start’ function, the freshly washed laundry remains lying in the machine for a couple of hours… Fortunately, It is now possible to add this functionality through the JeeNode. I started by adding a rule that starts the washing machine if the washing machine is in state ‘1’ (ready to start a wash), and the time is 6 o’clock in the morning (during off-peak hours).
Here the washing machine was filled with Laundry, waiting until six o’clock, when the machine was started. The spikes at the beginning of the graph are a number of testing cycles to test the relay.
Now my washing machine is ‘connected’, implementing of a number of features is trivial:
- Reporting state on home automation display (done)
- Reporting state via Twitter/SMS
- Couple washing cycle to the energy price or the availabillity, renewable energy or reduce peak demand. This is not really necessary, but because all components are availble (solar panels, energy measurements) it is interesting enough to give it a try.
The arduino sketch is available here.