Parts: ChronoDot RTC Module (DS3231)


Macetech’s ChronoDot is a Real Time Clock module for projects requiring highly accurate time keeping and measurement. The ChronoDot uses the DS3231 chip, which features a TCXO to compensate for variations in temperature which affect normal oscillators, like the ones in most microcontrollers. The DS3231 uses simple I2C commands and registers for storing and retrieving time, but also features a variable output that goes all the way down to 1.000 hz for low power, interrupt style timekeeping applications. With the provided watch battery, the ChronoDot can keep time in idle mode for up to 8 years.

Normally the ChronoDot comes mostly assembled, requiring you to only solder on the watch battery. However, due to a manufacturing mistake, Macetech is selling a version with the header pins on the wrong side they call the ChronoDoh. This module is currently nearly half off the regular price of $14.99, which makes it a great low cost addition to a project. Macetech has sent us a couple of these modules to demonstrate how functional they still are.


Because of this mistake, using these parts as a breadboard tool is made a little bit harder, as the silkscreen pin names are only on the “top” side. However, if a project is designed around this part, or if alternate tools such as a wire ribbon or probes were used, this problem would disappear. It would also be possible to desolder the header pins and remount them, but there is always the possibility of lifting the pads, or otherwise causing damage to the parts whenever desoldering is involved.


We set up one of the ChronoDoh modules as demonstrated, and pinned out the I2C connection using a “right side up” ChronoDoh as reference. The Dot must have an external VCC signal to respond to I2C commands, and will only silently keep time when powered by the watch battery. For the ChronoDo(h/t), sample Arduino code and schematics are provided on Macetech’s website, making initial set up and testing a breeze. We used a Teensy++ running the Teensyduino loader to simplify the process. The sample code simply displayed the time reported over I2C by the Dot, which seemed to be the time since the Dot first received 5V power (when it was most likely initialized). The chip reported that the time was 00:01:55, which meant that it was time to update the registers. Unfortunately, this is where the sample code leaves off, though the provided documentation does provide a list of all of the relevant registers (page 11 of the datasheet).


After setting the I2C registers, the ChronoDoh was correctly keeping time, so we decided to test the accuracy. We set up the other module, put it in our freezer for a week, then tested the two against each other. Wonderfully, they both reported identical times. Though unscientific, this is backed up by the ongoing accuracy test by the makers of the DS3231, which claims an accuracy of “± 2ppm at 0C to +40C (~1 minute per year)”.


These breakout boards are a great way to test out this chip, which has tons of applications, on an easy to use breakout board, which is what Macetech does best.

Hack a Day review disclosure: Macetech gave us a couple free ChronoDohs to review for this post.

18 thoughts on “Parts: ChronoDot RTC Module (DS3231)

  1. They’re round so you guys won’t put your eye out. No sharp edges for the Arduino crowd. Seriously though, cool test with the freezer…I hadn’t thought to try that. I dare anyone to do that with a DS1307 module. It just physically could not keep time in there unless you tweaked the capacitor for your specific freezer temperature. Maxim annoys a lot of people with tantalizing chips that are hard to get, but the DS3231 is a winner.

  2. I got some DS3232 chips last time I ordered samples but they are surface mount and I don’t have any way to etch a board. I would’ve liked to add time to some of my projects and it sounds like a nice chip too.

  3. Looks like an easy fix to flip the headers– a minute with an iron and a solder sucker… or, am I missing something? It looks like the header’s black plastic bits will hit the battery though, if they’re reversed. Round PCB in this case doesn’t bother me since it looks like an efficient use of space given the size of the battery. A polarized 2×4 header would be easier to work with for the non-breadboard crowd though.

  4. Hi Akoi,

    That’s exactly the part I’m planning on using for v2.0. It’s got a great low-current stand-by current and has built-in alarms to wake up the microprocessor. Shhh, don’t tell anyone. ;)


  5. therian,
    I think the modules are great for many different reasons. One, we have all these great small company’s around. Two, these board are as much art as convenience. Sure you could replicate it for less than half the cost, but I know my circuits don’t look that good.

  6. Is there any reason the PCB had to be that big even though the components appear to only require about 50% of the board.. oh its a RTC module, so it has to look like a clock, ok that’s a valid design choice I suppose.

  7. If you look at the size of the battery and its terminals, you’ll see the pcb can’t really be appreciably smaller. The battery is round. And the pins, which are the only through-hole component, require a small amount of extra space. Thus the size being slightly larger than the battery. Seems reasonable to me!

  8. Think I remove the bettery and solder two single header pins then i can flip the headers to the battery side without the battery getting in the way and just plug it into my board as a modual and power it from a regulated power supply and backup battery on the board insted

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.