Story
This project turns the UniHiker K10 into a digital stopwatch, utilizing its onboard buttons and display for real-time timing functionality — no external hardware required.
The stopwatch uses Button A to toggle between Start and Pause, while Button B serves as a Reset button. The timing is calculated using the system’s millisecond counter (millis()), and the elapsed time is formatted into minutes, seconds, and centiseconds (00:00:00) for precise readability.
The LCD screen continuously updates to reflect the current stopwatch time, providing smooth and accurate transitions without flicker. The program also handles state management efficiently — maintaining elapsed time when paused, and resuming seamlessly when restarted.
This project demonstrates effective use of:
-
Interrupt-style callbacks for button handling (non-blocking input)
-
Real-time millisecond tracking for accurate timekeeping
-
Canvas-based text rendering for dynamic LCD updates
-
Efficient control logic for smooth and responsive performance
It’s a perfect beginner-to-intermediate level UniHiker project that showcases timing logic, UI updating, and hardware interaction — all with compact and optimized C++ code.





