Pseudonymous maker "Maker's Fun Duck," hereafter simply "Duck," has demonstrated how to reverse engineer the humble kitchen timer to add a little more functionality — designing a drop-in Arduino-compatible replacement PCB for the particular model targeted.
"A few years ago I bought this kitchen [timer], or egg timer as people are calling it, and I recently visited the same store and saw exactly the same one on the shelves," Duck explains. "I thought it would be nice to control the LCDs and buttons on this things for my own projects, because they are just around €2 [$2.17], they are very simple devices, and maybe it's the reason for their success."
While the low-cost timers are entirely functional as-is for cooking eggs just right, Duck had other ideas in mind: replacing the common 2×16 LCD in many projects with an all-in-one device boasting screen, buttons, housing, and even a magnet on the rear for ease of mounting. That, though, means replacing the electronics — which, in turn, means reverse engineering the gadget's inner workings.
Built to a definite budget, the LCDs on the timers are driven directly rather than via an on-board driver chip. "If you see a cheap electronic device with an LCD like this one," Duck explains, "there is a very high chance that it has this kind of LCD. It won't have a driver on it, just two glasses stacked together with LCD fluid in between. On the contact points there is a 'zebra strip' where you send your signals from your microcontroller."
To control the screen from a different microcontroller, Duck ground off the original — hidden under a black blob of epoxy — and connected wires to the "zebra strip" contacts, ready for breadboard experimentation. An Arduino sends signals which control each segment of the LCD panel, passed through a simpler resistor-based voltage divider and toggled between pins to simulate the alternating current required to drive the display.
Having mapped the pins and their corresponding display segments, Duck could design a replacement board — combining a Microchip ATtiny13A or Espressif ESP12E microcontroller with a Shenzhen Titan Micro Electronics TM1621D LCD driver. An Arduino sketch loaded onto the microcontroller allows the buttons to be read and the display to be driven — even to the point of printing messages made up from "supported letters" on the display.
Design files for the PCB and source code for the firmware, for both the custom display board and for tracing LCD segments from an Arduino, have been uploaded to GitHub under an unspecified license; more information is available in the video embedded above and on Maker's Fun Duck's YouTube channel.