Joshua Kennedy's 555-Based "Modchip" Tells His Bleeping Refrigerator to "Shut Its Gob"
With a door alarm that proves more hindrance than help, Kennedy set about subverting the electronics for a quieter life.
Developer and maker Joshua Kennedy has taken a leaf out of the console modification handbook, developing a modchip to change the behavior of a perhaps unusual target device: his refrigerator.
"I own a fridge that has a really cool ‘feature.' It beeps if the door is open for more than 60 seconds. 95% of the time this is more annoying than it is helpful," Kennedy explains. "In my opinion it should just shut up and trust that I know best. In pursuit of this behavioural change I first tried to get at the piezo speaker so that I could rip it out. This turned out to be rather fruitless as the main board is deeply embedded within the fridge."
Desiring to keep the fridge in fully-functional condition, and thus not willing to start dismantling it deeply enough to extricate the beeping horror itself, Kennedy turned to a part he could access more easily: the control panel daughterboard. This, hidden behind the door, provides a way to access the fridge's settings — though does not include any direct access to the audio.
"To try and understand the attack surface and see if it was possible to somehow disable the alarm I reverse engineered the functionality of the control panel," Kennedy writes. "It essentially has two features: button sensing (including a magnetic switch for door state detection); light control. Both of these features are achieved via 6 pin connector on the daughter board."
Discovering the connection to be a serial interface, Kennedy hooked the panel up to a Raspberry Pi and whipped up a Python "driver" that allowed for manual control of the lights and button state detection. This experimentation, sadly, ruled out a range of possible methods for disabling the alarm — which is when the maker hit upon the idea of building a modchip, similar to how console modders disable copy protection systems with compact add-on boards.
"I decided to wait as long as was possible (~59 seconds) and then tell the fridge that the door just closed for around ~100ms," Kennedy explains. "I was originally going to opt for a microcontroller as the basis for my modchip but what we have just described is essentially a timing circuit. So the desired functionality is actually achievable with just a simple 555 timer."
The full project write-up is available on Kennedy's blog, while the Python source code has been published to GitHub under an unspecified license.