I always forget to set a timer when doing laundry, and the machines are in the garage so they’re hard to hear. I’ve seen a couple of approaches to remotely monitor laundry machines. Unfortunately, I am not a commerical laundromat, and the since machines belong to the landlady I can’t really open them up to hack on. I needed a non-invasive solution.
The ideal approach would be something that I could put next to the washer and dryer that would passively detect whether the machine was running. Laundry machines generally vibrate pretty much, so I decided to try to use an accelerometer to detect vibration. The Wii Nunchuk is a handy accelerometer with an I2C interface with Arduino code available. So I bought an adapter, wrote a basic logging sketch, and taped a Nunchuk to the side of the washer to see what would happen.
Hey, looks like this might actually work!
It turns out that even if you pay the full retail price of $20, the Nunchuk is still pretty much the cheapest accelerometer you can buy once it’s broken out from a tiny surface mount package. I needed two Nunchuks — one for the washer and one for the dryer. Normally, it’s easy to have multiple I2C devices connected together, but the Nunchuk has the slave address hard coded. That’s easily solved with a few transistors.
Time to put it all together. While the Nunchuk adapters are great for prototyping, they don’t really give a solid connection, so I swapped the cable for some network cable I had lying around. I started with a basic breadboard Arduino tutorial, and added an XBee for wireless and the nunchuk circuitry. I used the excellent BatchPCB for fabrication. Even though the final board doesn’t looks much like an Arduino, it’s based on at Atmega168, so I can still use the Arduino IDE to develop the firmware.
Right now, all it does it play a sound on my home theater PC. My next project is to make a bunch of blinkie notifiers to scatter throughout the house.
Download the source and Eagle files
Buy the PCB from BatchPCB