Microcontrollers, like the ATMEGA328P used in the Arduino Uno, are usually paired with a crystal oscillator. These crystals vibrate with a certain known frequency with a margin of error. This frequency is usually accurate enough for most tasks but not all. For those tasks requiring an extra degree of accuracy a module like this DS3231 Real Time Clock is required.
This is a great module to integrate into something like a clock where it’s necessary for the time not to drift by a few seconds or minutes every day. It’s also great for making high precision measurements where timing is extremely important.
The crystal inside of this module is temperature compensated. A temperature sensor inside allows the module to compensate for the effects of temperature on the frequency of oscillation.
5 x DS3231 RTC Module