New Brain For An Old Washing Machine

washing machine controller

When the washing machine at [hydronucleus]’s place went on the fritz, he went straight to the toolbox to try to repair it. The problem was with the old mechanical control unit, so [hydronucleus] got an Arduino out of the parts bin to create a brand new electronic controller for his washing machine. (Imgur Link)

drumThe old mechanical controller functioned like a player piano. A rotating drum with ridges actuate different cycles in the washing machine. Some of the cycles weren’t working properly so [hydronucleus] ripped them out. With the help of a schematic posted on the washing machine itself, the cycles were able to be programmed into the Arduino.

The other obstacle in this repair was getting enough relays together to switch everything in the washing machine. This was solved with a Sainsmart 16 relay block, which has more than enough relays for the job. [hydronucleus] wired up an LCD and a pushbutton to control it and his washing machine is as good as new! The cost of the repair certainly beats a new machine, too. Although if it finally gives up the ghost completely, he could always turn it into a windmill.

Want to read more about [hydronucleus]’s washing machine hack? Check out his Reddit thread!

65 thoughts on “New Brain For An Old Washing Machine

        1. You mean -1.

          It’s a bad environment. I’ve got a washing machine where the electronics are encased in a solid block of… something. I should have a better look one day, IIRC it’s a hard clear rubber or resin.

          I haven’t seen anything quite like it; it seems over overkill, especially on a cheap machine.

          1. Is surely overkill, but the point is not fixing the machine, is the process of reverse engineering an old control scheme, and build another one using the knowledge.

          2. It’s called a potting compound. It acts as an electrical insulator, corrosion preventer, heatsink, etc. Usually it’s used where electronics has to comply with testing while being submerged. Think electronics for trucks.

          3. I wrote what I meant. I have a new washer and the electronics are just bare boards at the top of the machine. I have never had water in or around my machine where it shouldn’t have been.

          4. Potting would be the best way to describe it, but I’m not sure what the material actually is. I work with devices that are potted (trucks run over them and so on) and this stuff is odd.

            It’s about 20mm thick (3/4″), so ‘conformal coating’ is a bit of an understatement.

            But yes, seeing that in a washing machine was something new. Makes board-level repair a bit tougher (huh, I’m surprised more makers don’t do that).

            Anyway, the builder of this will get a lesson in environmental factors (water is a major PITA) soon enough.

          5. We make ECUs at work and boards are into 2 chambers – the first creates a solid transparent block, whilst the second gives it a rubber coating. You can throw the things on the floor and they’ll bounce back up. However I wouldn’t bother with IP ratings inside a washing machine, if water gets out of the drum the motor is going to fry first as its typically at the bottom and not protected at all. I’d be impressed if water manages to get half way up as there’s so many holes it can leak from.

      1. I think, water can indeed be a problem, but not because of splashing. If the humidity is high, the drum filled with cold tap water can easily condense quite a lot of water out of air. Then, as the drum heats up, the water will evaporate, and the vapor will condense back on everything cold, potentially on circuit boards.

        Potting can be a solution, but it isn’t easy, and it sucks should you want to modify or fix something. I would probably spread some heater resistors around the electronics, just to keep things warm, so that water doesn’t condense there. Heat is not always bad, this is case where a bit of heating is good for durability.

        1. I can emphatically say, that I did this some number of years ago (8+, I think), and it is still working! For those who complain, the cardboard is insulating. :) And the controller has never gotten wet. As far as “heating” resistors, I imagine the current going through the block of relays causes enough heat to dry the thing out, if it got any condensation. That being said, I am not an electrical engineer (PhD CompSci), just a son of a pretty prominent electrical engineer.

  1. Watch out for the amp load of the motor, make sure the contacts in the relay are rated for that or you’re going to be replacing a relay in short order, I might suggest using it as a pilot relay for a 30 amp contactor. I always new this could be done, great proof of concept.

    1. Maybe I didn’t understand, but here relays seems to replace the phase wheel.
      I don’t think it drives power to the motor, but more HV signal.
      If it drives the motor directly it’ll not last long… For that take relays like RTX from Schrack Tyco they have double contact for those kind of load.

        1. Sorry for the abrupt answer, I repair washers for a living, biggest problem I see with timers are when the motor over amps the contacts and burns them, you don’t get that kind of damage if it’s just a signal.

        1. It is because even if you manage to avoid the electrical arc forming between the two contact (which is deadly for standard relays) you ‘ll have a long term material transfer between the contact and so a slow but certain destruction of the device.

          1. It would be difficult to get material transfer in this application.
            See this EXCELLENT PDF document describing the causes of material transfer.
            I don’t think this application will have that issue.
            As long as the voltage and current ratings of the relays are appropriate for the load, this should work perfectly.
            http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=13C3203_Contact_Arc_Phenomenon_AppNote&DocType=CS&DocLang=EN

        1. There are no zero-crossing mechanical relays. Zero-crossing can be used for turning on a SCR (or whatever) in a solid state relay module but for mechanical relays, the delay from energizing the magnet to when the contact makes/breaks contact is almost certainly too long (and with too much jitter) to allow useful zero-cross swithing.

    1. Nothing, most harmful for the relays is their switching on and off.
      You are not able to provide idalnej synchronization. It is better to use the appropriate relay for a particular application.
      Parallel connection is also not good as a backup, because the relay can spoil in any position.

  2. Ah, the digital fix, how quaint.

    I fixed a washer in the late 80’s using similar ideas, but had no micro-controller. Normally motor relays are near the motor, and the switching of the timer engages the high amp relay, so his relays aren’t taking the full brunt of the current surge.

    My hack (funny, until now I never considered it a hack…just a fix) was way less sophisticated. The user had a 4 or 5 switch box (I can’t remember the number) and a sheet was posted above the washer. The way the timer works is by engaging different items at the same time to get a cycle running. So rinse is the culmination of agitate and water fill. The only timed circuit in my design was a time delay relay (salvaged from the trash) that would cause the drain pump to engage first, then 30 seconds later the spin cycle cam online. My system had the downside of requiring human interaction for cycles, so unless you paid attention it really was possible to agitate or spin your laundry for 24 hours….just ask my aunt.

    Still, glad to find out I did hacks 30 years ago. If I knew then what I know now.

    1. Go through testing, pay all of the upfront costs to professionally create these, fabricate 10,000 of them to achieve economy of scale and then sell it to the one homeowner for $50 who is willing to open up their washing machine and replace multiple parts and bypass mains voltage? That’s a tough sell.

      1. Arduino washing machine for 50$? would buy. Especially because that is just step away from it being Internet-connected.

        My old washing machine worked just fine, but the controller gave up without any clear reason. New module was priced about price of new machine too.

  3. Needs wifi so that it can be part of the IOT. One must be buzzword compliant.
    Actually wifi could be cool to add if it could tell you when it is done or allowing a remote start.

  4. It may be ugly, may have too cost much money and time, could eventually have problems with relays fusing, etc. But [hydronucleus] gets my thumbs up, for having successfully reverse engineered the washer and building a replacement controller. And for repairing rather than replacing. Given the current state of consumer goods, it might actually last longer than a new washer.

      1. I don’t know if it’s just a Whirlpool thing, but when I repaired my dryer (ended up being a wire that rusted off of its connector), they had a full schematic on the inside top of the dryer. Makes fixing much simpler

  5. Two thoughts:

    1. When I recently repaired a dishwasher had a problem with the mechanical motor-driven switch (not unlike said washing machine), I just took the switch apart and…you know, fixed it. Hacking in a microcontroller and a lot of added complexity never crossed my mind when repairing this simple mechanical component.

    2. Solid-state relays FTW. Zero-crossing is implicit with AC SSRs. The cheap 25A-rated Fotek knockoffs on Ebay seem to work fine for switching high-current AC loads — indeed, my research indicates that the 25A version works more reliably than the 40A version of the same thing. I use them for switching on the high-current linear supplies in some properly-big audio amplifiers, and they just plain work*. Just make sure you use an appropriate heatsink.

    *I do not have equipment to properly measure the instantaneous current, but judging by the capacity to dim the lights throughout the house in comparison to other known loads, it must be in the realm of 60-70A at turn-on.

  6. Modern washing machines also would benefit from reverse engineering as when their electronics fries beyond warranty usually the cost for repair is inflated to be nearly high as a new purchase. I’m talking about $200 for the board alone.

  7. nice hack! however I dont know where you live that washing machines are that expensive. I can get a fairily decent one albeit smaller for a bit over the price of a control box of yours..
    I would just have put everything into a tupperware and seal it using silicone. Then made a nice user interface with acrylic and printed paper behind.

  8. I’m sure this was a lot of fun to do (though a better enclosure might be in order), but if I did that I’d start playing games with the wash cycles – I mean *anyone* can play the star wars theme on a *disk drive*, right?

    I intentionally buy mechanically timed appliances whenever possible so that when the power spikes (not uncommon here) the “brains” don’t completely fry. The switch assemblies can usually be dismantled and repaired, or replacements are available online ($40 – 70) – usually they last more than a decade.

  9. My washer is fairly up to date’ front load low water use direct drive. It still uses a mechanical timer even though it has a BLDC motor whose controller is naked on the bottom of the unit.
    I fixed a friends Bosch dishwasher. Solder joints gone bad on a board soon to die packed into the door at the top, steamy!

  10. I find this statement highly disturbing: “…but I had laundry building up…”

    Considering he had parts shipped from China (2–4 weeks?) and that he, apparently, didn’t use his local laundromats, well, I’m glad I didn’t sit next to him. (c:

    Nice hack, though. If I were a bit braver, I’d be tempted to do this with my washer even if it’s not broken.

Leave a Reply to Chamb OnzCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.