ChronoDot - Ultra-precise Real Time Clock - v3

Product ID: 255
$17.50
Qty Discount
1-9 $17.50
10-99 $15.75
100+ $14.00

Description

The ChronoDot V3 is the latest version of macetech’s popular ChronoDot line of products. Designed during the Great Chip Shortage, it uses the newly-released MAX31328 temperature-compensated real-time clock chip. However, it remains pin- and code-compatible with the older DS3231-based ChronoDots, and has the same clock accuracy and drift specifications. The MAX31328 chip is also in a smaller package, which allowed a few additional enhancements to the design.

First of all, an often-requested feature is better compatibility with solderless breadboards. The dimensions of the ChronoDot V3 are now slimmed down to more easily allow wires to be inserted next to the pins when it’s plugged into a breadboard, but the pinout and pin spacing has not changed, so the ChronoDot V3 is still compatible with other boards that have headers for it, such as the EMSL BulbDial or Alpha Clock Five.

Second, the previous ChronoDot versions have a simple metal slide-in battery holder, which works fine but might be difficult to access when the ChronoDot is installed in a project. The ChronoDot V3 now has a snap-in top access battery holder that makes it much easier to change the battery…though it should be years before that is necessary.

Third, since the chip itself is much smaller, they were able to add an EEPROM chip. This provides 2 kilobytes of memory that will be preserved through a power outage, which is convenient when using microcontrollers without built-in EEPROM such as STM32 and ESP32. It can also be used to transport configuration information between devices, or register a unique ID to a datalogging device… how you end up using it is up to you!

Finally… this isn’t a feature of the ChronoDot V3 itself, but still pretty exciting. This is the first macetech product to be designed completely with open-source software. macetech used KiCad instead of Eagle and intends to use KiCad exclusively moving forward. It’s made remarkable progress in recent years, and they encourage all to check it out!

Play video: #NewProducts 12/26/22 feat. Adafruit Feather RP2040 SCORPIO - 8 Channel NeoPixel Driver!

Play video: Lithium Battery Shipping Restrictions

Technical Details

Documentation:

Specifications:

  • Controller: Maxim MAX31328
  • Function: Temperature-compensated RTC
  • Accuracy:  ± 3.5ppm at -40C to +85C (~1 minute per year)
  • Power Supply: 2.3 to 5.5 V DC
  • Current: 200uA (active), 820nA (timekeeping)
  • PCB Size: 1.2 x 1.0 inches (30.5 x 25.8 mm)
  • Pin Spacing: 0.1 inches
  • Header Spacing: 0.9 inches

Arduino Examples:
Very simple Arduino code to read and print the hours, minutes, and seconds from the ChronoDot:

#include <Wire.h>
 
void setup()
{
  Wire.begin();
  Serial.begin(9600);
 
  // clear /EOSC bit
  // Sometimes necessary to ensure that the clock
  // keeps running on just battery power. Once set,
  // it shouldn't need to be reset but it's a good
  // idea to make sure.
  Wire.beginTransmission(0x68);
  Wire.write(0x0E); // select register
  Wire.write(0b00011100); // write register bitmap, bit 7 is /EOSC
  Wire.endTransmission();
}
 
void loop()
{
  // send request to receive data starting at register 0
  Wire.beginTransmission(0x68); // 0x68 is DS3231 device address
  Wire.write((byte)0); // start at register 0
  Wire.endTransmission();
  Wire.requestFrom(0x68, 3); // request three bytes (seconds, minutes, hours)
 
  while(Wire.available())
  { 
    int seconds = Wire.read(); // get seconds
    int minutes = Wire.read(); // get minutes
    int hours = Wire.read();   // get hours
 
    seconds = (((seconds & 0b11110000)>>4)*10 + (seconds & 0b00001111)); // convert BCD to decimal
    minutes = (((minutes & 0b11110000)>>4)*10 + (minutes & 0b00001111)); // convert BCD to decimal
    hours = (((hours & 0b00100000)>>5)*20 + ((hours & 0b00010000)>>4)*10 + (hours & 0b00001111)); // convert BCD to decimal (assume 24 hour mode)
 
    Serial.print(hours); Serial.print(":"); Serial.print(minutes); Serial.print(":"); Serial.println(seconds);
  }
 
  delay(1000);
}

 

RoHS 2 2011 65 EU Compliant
RoHS 2 2015 863 EU Compliant

Learn

Build your own clock that sets itself with an Arduino, LED display, and GPS receiver!
Keep time at all times with a real time clock
Real time clock mini-breakout board
See All Guides