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 |