Old Washing Machine Learns New Tricks

I can’t count how many times I’ve started a load of wash and forgot about it until the next day. Then I’m forced to play the game of clothing roulette — maybe it is not too late to throw it in the dryer? But if the post-dryer smell check reveals my assessment was wrong, the cycle needs to repeat again.  My 27-year-old washer is not winning any eco-awards these days — it doesn’t need to add “redundant loads” to its list of offenses.

There are features in new washing machines to help prevent the rewash problem – an all-in-one washer/dryer or a smart washer that texts you notifications when the cycle completes. Purchasing a new washer is likely the best solution from the standpoint of energy efficiency and time but where is the fun in that 🙂 I read about a few other hobbyists that tackled this problem so I was inspired to try my own version.

The brains behind this washing machine hack is the Raspberry Pi Zero W model, which can be purchased used for around $25. I coupled it with a vibration sensor, available for less than $5, to detect the shaking of the washing machine. Several magnets were glued to the inside of what was formerly a drill bit case for easy attachment to the side of the washer.

Raspberry Pi + Vibration Sensor
Magnetically Secured

After assembling and coding this simple vibration monitor, I recorded the activity of a single 40 minute wash cycle. The spinning and washing stages of a cycle trigger millions of vibration events while the filling stages produce motionless periods for up to 6 minutes. Understanding these motion and idle phases helped me to write the C++ code that tracks when the cycle appears to start and end.

With this information, I could alert myself after every wash cycle completes with a text message that it is time to unload. While a text reminder is helpful, it seemed like a glorified timer. It would be best to automatically track when I’ve emptied the washer too. That way I only get the text messages when necessary — when I forget to unload. I considered monitoring the existing washing machine lid switch to detect when it was opened and closed but I didn’t have the hardware available to make the connection.

Looking for other options, I observed that this old washer lid makes a surprisingly strong thump when closed. I opted to use the resulting vibration from closing the lid as a cue that the clothes had been removed from the washer. If that thump is detected within 4 hours a of a completed cycle, no notification is necessary as it is assumed it has been emptied; otherwise, I get the following text message.

This project was fun to implement, troubleshoot, and solves a unique personal challenge which is always a bonus. I don’t really have plans to expand this hack as it basically resolves this very specific problem. I am looking forward to finding another excuse, I mean reason, to “fix” something else around the house with a Raspberry Pi.