Skip to content

adafruit/RTClib

Repository files navigation

RTClib Build StatusDocumentation

This is a fork of JeeLab's fantastic real time clock library for Arduino.

Works great with Adafruit RTC breakouts:

Please note that dayOfTheWeek() ranges from 0 to 6 inclusive with 0 being 'Sunday'.

Compatibility

MCU Tested Works Doesn't Work Not Tested Notes
Atmega328 @ 16MHz X
Atmega328 @ 12MHz X
Atmega32u4 @ 16MHz X Use SDA/SCL on pins D3 & D2
Atmega32u4 @ 8MHz X Use SDA/SCL on pins D3 & D2
ESP8266 X SDA/SCL default to pins 4 & 5 but any two pins can be assigned as SDA/SCL using Wire.begin(SDA,SCL)
Atmega2560 @ 16MHz X Use SDA/SCL on Pins 20 & 21
ATSAM3X8E X Use SDA1 and SCL1
ATSAM21D X
ATtiny85 @ 16MHz X
ATtiny85 @ 8MHz X
Intel Curie @ 32MHz X
STM32F2 X
  • ATmega328 @ 16MHz : Arduino UNO, Adafruit Pro Trinket 5V, Adafruit Metro 328, Adafruit Metro Mini
  • ATmega328 @ 12MHz : Adafruit Pro Trinket 3V
  • ATmega32u4 @ 16MHz : Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 2.0
  • ATmega32u4 @ 8MHz : Adafruit Flora, Bluefruit Micro
  • ESP8266 : Adafruit Huzzah
  • ATmega2560 @ 16MHz : Arduino Mega
  • ATSAM3X8E : Arduino Due
  • ATSAM21D : Arduino Zero, M0 Pro
  • ATtiny85 @ 16MHz : Adafruit Trinket 5V
  • ATtiny85 @ 8MHz : Adafruit Gemma, Arduino Gemma, Adafruit Trinket 3V

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

Dependencies

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.

Documentation and doxygen

For the detailed API documentation, see https://adafruit.github.io/RTClib/html/index.html Documentation is produced by doxygen. Contributions should include documentation for any new code added.

Some examples of how to use doxygen can be found in these guide pages:

https://learn.adafruit.com/the-well-automated-arduino-library/doxygen

https://learn.adafruit.com/the-well-automated-arduino-library/doxygen-tips

Code formatting and clang-format

The code should be formatted according to the LLVM Coding Standards, which is the default of the clang-format tool. The easiest way to ensure conformance is to install clang-format and run

clang-format -i <source_file>

See Formatting with clang-format for details.

Written by JeeLabs MIT license, check license.txt for more information All text above must be included in any redistribution

To install, use the Arduino Library Manager and search for "RTClib" and install the library.