Blog Home

Arduino resurrects a washing machine that failed for silly reasons

Arduino TeamJanuary 20th, 2023

The maker movement often focuses on creation, but we should never overlook repair. In a consumer market increasingly moving towards planned obsolescence, manufacturers often fail to devote any resources towards the repair of their products. In many cases, replacement parts are unavailable or prohibitively expensive. But the maker skill set can provide recourse, as demonstrated by Balakrishnan Prashanth’s Arduino-based solution for a washing machine’s failed timer display.

Like many modern washing machines, Prashanth’s Whirlpool has a digital readout that displays the time remaining in a cycle. It’s a handy feature, but not one that is absolutely necessary to wash clothes. Unfortunately, this Whirlpool disagrees. They designed this model’s control board so that the entire machine’s functionality comes to a screeching halt if the digital display stops working. The control board sends data to the display and expects an acknowledgment. If it doesn’t receive that acknowledgment, it won’t let the washing machine run through a cycle. That’s what happened when Prashanth’s machine’s display failed.

Prashanth solved this problem using an Arduino Mega 2560. He determined that the Whirpool’s control board sends data to the display module via I2C and expects a confirmation from the module. Instead of trying to replicate the complete functionality of the display module, Prashanth chose to omit the display altogether — it is, after all, unnecessary. He put the Arduino in the display module’s place and programmed it to simply blink an LED when it receives I2C messages from the control board. It then sends a confirmation back to the control board, tricking it into proceeding with the normal wash cycle.