Qwiic Micro SAMD21: A fun look at the usefulness of external oscillators

Hi folks,

This is for the RTC nerds out there!

I was recently was building a project around the [SparkFun Qwiic Micro SAMD21 and was relying on the internal SAMD21 RTC and RTCZero library for timing and alarms. For some reason, however, I was experiencing a massive drift of my clock (i.e. tens of seconds over the course of an hour).

This initially stumped me as the SAMD21’s RTC is usually relatively stable, when used in conjunction with an external oscillator that is. As it turns out, the Qwiic Micro doesn’t actually have an external crystal and instead, was making use of its own internal oscillator (OSC32K) the whole time.

For the fun of it, I did some tests with the Qwiic Micro against two dedicated SparkFun RTC modules, the [RV1805 and [RV8803. The results were quite surprising! Almost 70 seconds of clock drift over 4.5 hours.

Morale of the story? Don’t rely on internal oscillators!

Cheers,

Adam](SparkFun Real Time Clock Module - RV-8803 (Qwiic) - BOB-16281 - SparkFun Electronics)](SparkFun Real Time Clock Module - RV-1805 (Qwiic) - BOB-14558 - SparkFun Electronics)](SparkFun Qwiic Micro - SAMD21 Development Board - DEV-15423 - SparkFun Electronics)