Datasheet

Using the Real Time Clock
What is a Real Time Clock?
When logging data, it's often really really useful to have timestamps! That way you can take
data one minute apart (by checking the clock) or noting at what time of day the data was
logged.
The Arduino does have a built-in timekeeper called millis() and theres also timers built into
the chip that can keep track of longer time periods like minutes or days. So why would you
want to have a separate RTC chip? Well, the biggest reason is that millis() only keeps
track of time since the Arduino was last powered - that means that when the power is
turned on, the millisecond timer is set back to 0. The Arduino doesnt know its 'Tuesday' or
'March 8th' all it can tell is 'Its been 14,000 milliseconds since I was last turned on'.
OK so what if you wanted to set the time on the Arduino? You'd have to program in the
date and time and you could have it count from that point on. But if it lost power, you'd have
to reset the time. Much like very cheap alarm clocks: every time they lose power they blink
12:00
While this sort of basic timekeeping is OK for some projects, a data-logger will need to
have consistent timekeeping that doesnt reset when the Arduino battery dies or is
reprogrammed. Thus, we include a separate RTC! The RTC chip is a specialized chip that
just keeps track of time. It can count leap-years and knows how many days are in a month,
but it doesn't take care of Daylight Savings Time (because it changes from place to place)
This image shows a computer motherboard with a Real Time Clock called the
© Adafruit Industries https://learn.adafruit.com/adafruit-data-logger-shield Page 33 of 85