Confronted with a defective washer, maker Balakrishnan Prashanth determined towards changing it and even paying for official elements — as an alternative reverse-engineering the failed management board and changing it with an Arduino Mega 2560 to trick it into correct operation.
“[The] timer management board failed on a front-loading fully-automatic washer,” Prashanth explains of the issue he got down to resolve. “The machine doesn’t proceed in [the wash] cycle, stops in between and offers out flashing purple/inexperienced lights. No indication of the remaining time, temperature, pace of the spin cycle, and so forth. In the intervening time, as quickly as begin cycle is pressed, the machine does a preliminary gauge of the burden of the clothes, the faucet is open or not, and so forth. Then pre-wash, rinse, spin/drain, begin gentle flashes purple/inexperienced and the machine stops there.”
A defective washer can solely imply one factor: Time to bust out the logic analyzer. (📷: Balakrishnan Prashanth)
The one clue Prashanth had was the error code F21, which documentation instructed was a “Consumer Interface Error” displayed when the primary management board cannot talk with the timer management board internet hosting the show. Taking the management panel aside, Prashanth discovered a customized board related to the primary board by way of 4 wires and internet hosting a Microchip ATmega88 microcontroller and a 24-series EEPROM chip.
“Very first thing to do was to take a backup of the EEPROM, utilizing [a] CH341 programmer,” Prashanth writes. “I’ve been in conditions when I didn’t take backup [or] didn’t make a doc figuring out all wires [and] screws that I take away, after which discover myself stranded after I couldn’t put it again collectively.”
This wise step accomplished, Prashanth set about figuring out precisely how the board labored — connecting the 2 sign wires, which turned out to be I2C, to a logic analyzer. Discovering the motherboard searching for a secondary gadget and failing to search out it, Prashanth set about determining tips on how to create an alternate.
The unique management board proved pointless, with its Arduino alternative merely acknowledging I2C instructions. (📷: Balakrishnan Prashanth)
The end result: an Arduino sketch working on an Arduino Mega 2560, however not one which makes an attempt to duplicate the complete performance of the failed management board. As an alternative, it merely acknowledges I2C messages from the primary board — and blinks its on-board LED. The result’s a lack of the seen timer countdown on the entrance of the machine, however a contented major board that permits the wash cycle to proceed as-expected.
Prashanth has written up his experiment on Instructables, together with an image of a devoted board constructed round an ATtiny85 — to unlock the Arduino Mega 2560 for future tasks.