The rtc module in CircuitPython is a standardized interface for realtime clock (RTC) devices. While it is possible to use an RTC directly from the instance of an RTC hardware driver, wrapping it with rtc has a couple of advantages:
time.time()andtime.localtime()are backed byrtc, all clock source will be synchronizedrtccorrectly handled thetm_yday(yearday) parameter, which may not be done by the hardware driver libary
Of course, you may not care about either of these, in which case rtc might be overkill and leaving it out can save you a little RAM.
Adafruit has several RTC dev boards you can choose from.
- DS1307 - tried and true, but requires 5v, so you might want to consider on the other options
- PCF8523 - similar to the DS1307, but works with 3v or 5v
- DS3231 - more accurate than the other two modules
I have linked to the STEMMA QT versions of the PCF8523 and DS3231, but they're also available in some other form factors. See the Adafruit clocks category page for more options.