Sunday, February 16, 2025

Kitchen Timer

I built this handy little kitchen gadget after my wife mentioned she wanted a regular timer that also gave the current time. The result is a combination analog clock and timer with built-in preset values of 1, 2, 3, 5, 10, 15, 20 and 30 minutes.  When the clock screen is touched it displays the preset choices.  One more touch starts the appropriate timer.  The hardware platform consists of a Seeed Studios  1.28" round display with touchscreen capability for the user interface and a XIAO ESP32C3 controller board with Wi-Fi capability for driving the display.  The clock is synchronized to an NTP server thus giving it extreme accuracy.  To finish up the hardware I just needed to add a buzzer to indicate the end of a timing event.  

I used a free and open-sourced graphics library called LVGL ("light and versatile graphics library") for my user interface.  Its incredibly easy to use (after getting through a rather steep learning curve) and really makes the display interface a snap.  All display activities including screen changes, touchscreen support, screen updates, etc. are processed in the background via an event handler which runs every few milliseconds.  Once a timer value has been selected and it times out, another touch of the screen will turn off the buzzer and a new screen pops up to display a random haiku along with some lovely Japanese artwork.  After fifteen seconds the display returns back to the clock screen.

Finally, instead of building my own enclosure, I was very fortunate to find a nifty 3-D printer plan on the web and had that made by an Asian fab house to complete the project.  Below are pictures of the various display screens:

Screen 1 - Analog Clock
Screen 2 - Presets #1

Screen 3 - Presets #2
Screen 4 - Haiku