As Douglas Adams explained in The Hitchhiker’s Guide to the Galaxy, digital watches are “pretty neat” to us primitive life forms. Something about the marriage of practicality, and sheer nerdiness gets me oddly excited. Somewhere in my fascination I asked myself, “can I make a digital watch entirely of my design?” I did! And it taught me a lot about pcb fabrication, low power programming, and shift registers.
Probably the most important function of a watch is that it keeps time. While you could use your microcontroller to count the seconds and save on parts, there are some major downsides to this. For one, the microcontroller is much worse at keeping time than a dedicated RTC (Real Time Clock) IC, the time would drift significantly with temperature and battery voltage. Another serious problem is that it would require the microcontroller to always be on, keeping track of the time. This would consume much more current than an RTC IC, draining the battery significantly faster. Thus we employ a DS3231 to casually sit in the background, consuming microamps from it’s own back-up battery (which, at the rate of 200µA, would take 12.56 years to drain).