Digital Kitchen Timer

Software Engineering
System Design
Embedded Systems

A simple and reliable battery-powered kitchen timer. The timer is powered by an STM32 microcontroller and programmed in Rust with RTIC (Realtime Interrupt-based Concurrency). The enclosure is made of clear acrylic, designed in FreeCAD and machined with a CNC mill. Battery charging is handled by a PMIC (Power Management IC), and the display is an I2C OLED module. To use the timer, a user can select a time ranging from zero to fifteen minutes with the knob on the front panel and then press the "Start" button. The timer will then count down from the selected time, displaying time remaining on the screen. When the timer reaches zero, it emits an alarm tone to alert the user that their food is done cooking. Another button on the front allows the user to switch between three display brightness settings. The device charges via USB and lasts for up to 26 hours of use on a single charge. An auto-off feature shuts down the timer when it is not in use. This project presented a variety of challenges. This was my first experience with PCB design, Rust programming, RTOS, CAD, CNC machining, QFP and QFN soldering, and power system design. Furthermore, all of the libraries and frameworks I used (as well as the compiler) were either in alpha or beta and I had to work around unimplemented features. GitHub page: Presentation video: Part 1 - Part 2 - Part 3 - Note: there was a technical issue with editing software so unfortunately the video is split into three parts with audio only from the backup mic.

2 Lifts 


Name Description
Developer Guide Instruction manual and summary of system design   Download
Technical Documentation A document containing all available design data   Download
Executive Summary A brief summary of project goals, struggles, and lessons learned   Download