DS3231 Precision RTC Real Time Clock Memory Module
New Original High-Accuracy I2C RTC for Arduino
The DS3231 is the most accurate RTC module available, featuring a builtin temperaturecompensated crystal oscillator (TCXO). It maintains ±2ppm accuracy, keeping precise time across temperature changes for Arduino projects.
Extreme Accuracy ±2ppm over 40°C to +85°C range
Builtin TCXO Temperature compensation for stable timekeeping
Operating voltage is 2.3V to 5.5V - works with both 3.3V and 5V systems
Use standard RTClib library for easy integration
Do not exceed 5.5V on any pin
Technical Specifications
| Parameter | Value |
|---|
| Supply Voltage | 2.3V to 5.5V |
| Accuracy | ±2ppm (max) |
| Temperature Range | -40°C to +85°C |
| I2C Interface | 2-Wire (400kHz max) |
| Memory | 256 Bytes EEPROM |
| Alarms | 2 programmable |
| Temperature Sensor | ±3°C accuracy |
| Time Format | 12/24 Hour |
= Key Features =
+Extreme Accuracy - ±2ppm over full temperature range
+Builtin TCXO No external crystal needed
+Two Alarm Interrupts - Programmable for events
+Digital Temperature Sensor - Integrated sensing
+32.768kHz Output - Square wave for other devices
+Battery Backup - Maintains time during power loss
= Applications =
- High-precision data logging
- Professional time-stamping
- HVAC control systems
- Medical monitoring equipment
- GPS time synchronization
- Industrial automation
Most Accurate RTC - Beats DS1307 and PCF8563 significantly
No Temperature Drift - Stable across all environments
√ CR2032 battery holder included
√ I2C pull-up resistors onboard
√ Temperature sensing built-in
Connection Guide
Module to Arduino:
- VCC: 3.3V or 5V
- GND: Ground
- SDA: A4 (Uno/Nano) / SDA pin
- SCL: A5 (Uno/Nano) / SCL pin
Other boards:
- Mega: SDAD20, SCLD21
- ESP32: GPIO21 (SDA), GPIO22 (SCL)
- 32.768kHz output: SQW pin
Use 4.7kΩ pull-up resistors on I2C lines
Connect 32kHz output for clock signals
32kHz output is 3.3V - use level shifting for 5V
Programming Instructions
Install RTClib library via Arduino IDE Library Manager:
Basic functions:
- rtc.begin() - Initialize module
- rtc.adjust() - Set time/date
- rtc.now() - Read current time
- rtc.setAlarm1() - Set alarm
- rtc.setAlarm2() - Set second alarm
Time format:
- DateTime(year, month, day, hour, min, sec)
- Reading returns all date/time fields
Easy Integration - RTClib supports DS3231 fully
Precise Timekeeping - Always accurate
Loses only seconds per month
Used in professional equipment
Troubleshooting
Module not responding:
- Check I2C connections
- Verify power supply
- Avoid loose wiring
Time drift:
- Verify temperature compensation
- Check battery voltage
- Avoid extreme temperatures