10,000 Hour Seven Segment Display Stopwatch
Frustrated by learning arcane embedded-C commands with no documentation? HAL bloat got you down? Don't know how the hell STM32CubeIDE's build process works? Worry not, you can be comforted by the fact that those 10 hours debugging linker errors is 10 hours towards your 10,000 of mastery. And when you get there you won't even think, "it's not even a real clock, there's not even an RTC module" – it doesn't matter since you're a Master now.
(yes, you can even use this timer to count your hours coding in C++, nay Python, this is an Arduino project after all)
Fun things from this project
EEPROM.write()
/ EEPROM.put()
take ~3.4ms both for 3 bytes and a struct with those bytes. The docs mention that any EEPROM.write()
will take about 3.3ms, so it's the setup and access to the ROM that busies the CPU, not necessarily how many bytes are written.
1000uF capacitor across USBVCC extended 5V—3.3V turn off time from 1.5 ms to 40ms (hopefully enough for an EEPROM.write()
)