A look inside the DS3231 real-time clock

Dallas Semiconductor, now owned by Maxim Integrated, is well known for making some excellent real-time clocks (RTCs). Take, for example, the DS1307: it’s simple, works with essentially any cheap 32,768 Hz watch crystal, is easily accessible over I2C, and is extremely power efficient (500nA current when running the oscillator on battery power).

As great as it is, the DS1307 has a major drawback: it relies on an external crystal and lacks any sort of temperature compensation. Thus, any change in temperature will cause the clock to drift. A 20ppm error in the frequency of the crystal adds up to about a minute of error per month. Not so great.

Fortunately, Maxim also offers the DS3231, which is advertised as an “Extremely Accurate I2C-Integrated RTC/TCXO/Crystal”. This chip has the 32kHz crystal integrated into the package itself and uses a built-in temperature sensor to periodically measure the temperature of the crystal and, by switching different internal capacitors in and out of the crystal circuit, can precisely adjust its frequency so it remains constant. It’s specified to keep time within 2ppm from 0°C to +40°C, and 3.5ppm from -40°C to +85°C, which means the clock would only drift 63 and 110 seconds per year, respectively. Very cool.

The one (very minor) downside is that it draws about twice the current, a bit less than 1 μA, than the DS1307. Still, a common 220mAh CR2032 battery could power the chip for at least a decade with no problem. Such a circuit would be mostly limited by the CR2032’s self-discharge rate anyway.

In my case, I wanted to use such RTCs on several of my Raspberry Pis that are not regularly (read: almost never) connected to the internet, and so cannot always get their time from NTP servers.

Some clever person designed a very simple board that fits on the Raspberry Pi’s pin headers for power, ground, and I2C and has the DS3231 chip, pull-up resistors for the I2C bus, and a decoupling capacitor. It even has pads for a backup battery (not included, but adding a battery holder and coin cell is straightforward). Chinese vendors on eBay sell the board for about $1.50, with free shipping. Perfect.

Here’s the board I’m using on one of my Pis, along with the backup battery and holder I added.

The RTC module installed on one of my Raspberry Pis.
The RTC module installed on one of my Raspberry Pis.

Considering that the DS3231 is not a cheap chip, costing ~$3.80 USD per chip in minimum quantities of 1000 from Digi-Key, it’s a bit surprising that complete board only costs $1.50 per board. Like Edward Mallon, I wondered if these were counterfeit chips that were pin and function compatible, QC rejects, or somehow otherwise illegitimate chips.

For science, I ordered a few extra boards and tested them over the last year, where “tested” means “set the time on the chips with a Pi that was NTP synchronized to a GPS timing receiver, disconnected them from the Pi, and left them on the shelf running on battery power for a year”. The chips would be in direct sunlight in the mornings, and the temperature in the room would range between about 15°C and 30°C throughout the year. Not extreme, but not precisely regulated either. I did not adjust the “aging register” in the chip to trim the oscillator before this test, and the register was set to its default value of “0”. After a year, the chip with the largest drift was only 16 seconds off, which is about 0.5 ppm. That’s well within spec, so I’m happy. If these chips were counterfeit, they were at least good counterfeits that worked as advertised.

However, I wanted to look closer so I sacrificed one of the chips for science. Thanks to my friend Jesse for reminding me that I can just snip off the legs of the chip rather than trying to de-solder it. That made things a lot easier.

Here’s the top of the package. It claims to be an SN model, which means it is specced for the full -40°C to +85°C temperature range. The date code says it was made in week 33 of 2011, as part of lot 917AC. The # mark means it’s RoHS compliant.

The laser markings seemed a bit dodgy and not like the normal high-quality laser markings I see on other Maxim chips. I contacted Maxim, explained the situation, and sent photos of the package and die (see below). After checking their records, they say the style of the markings, the date code, and lot number are all consistent with that particular lot made in 2011, which strongly suggests the chips are legitimate. They also reminded me that they do not warrant or guarantee any products purchased from unauthorized resellers. Good to know, and not unexpected.

The exterior of the chip's package. It has the markings "DS3231SN" on the first line, "1133A4" on the second, "917AC" on the third, and a "#" sign on the fourth.
The exterior of the chip’s package.

I zoomed in with my USB microscope to examine the markings in more detail. It’s a bit hard to see in this close-up, but you should be able to see the digits “31”. Compare these markings to those on the Maxim MAX3232 chip I investigated earlier and you can see why I was a bit skeptical as to their legitimacy at first. Obviously, Maxim must have different types of laser marking equipment on their different production lines.

A close-up of the chip's markings. The digits "31" are barely visible.
A close-up of the chip’s markings.

I normally would digest the epoxy packaging of the chip in acid at work, butI was at home that day and didn’t have access to the chemicals and safety equipment I have in the lab at work, plus I didn’t want to dissolve the integrated crystal and its metal can. Instead, I embrittled the packaging by heating it in the flame of a common Bic lighter for several seconds and then quenching it in a glass of cool water. I repeated this process several times.

Next, I sanded down the back of the ship (assuming that the interesting parts of the die would face upwards, which they were — if they hadn’t been on the top, I’d sacrifice another chip and sand the top down) with fine sandpaper until I hit metal.

It turns out I was a bit too vigorous in my sanding, and accidentally sanded through the crystal’s metal housing and broke one of the forks of the tuning fork oscillating element. Oops.

In the photos below, the notch on the chip is to the left, so pin 1 is to the top left. The main die is behind the large copper pad to the left. The fuzzy “hair” at the bottom are strands of the epoxy package that I didn’t clean up.

The underside of the chip's interior. Several large copper pads are visible, as is the internal 32,768 Hz crystal which has been cross-sectioned due to excessive sanding.
The underside of the chip’s interior.
A close-up of the base of the crystal, showing its connections and the broken fork.
The interior of the hermetically sealed metal can containing the crystal. It has been cross-sectioned by excessive sanding and one of the tines of the crystal tuning fork has been broken. The solder joints connecting the crystal to the exterior of the can are visible, as is some metal shavings from the sanding process.
A detailed look at the tuning fork crystal.
A close-up of the crystal tuning fork. One of the tines has been broken off.
A close-up of the crystal tuning fork.
A close-up of the base of the tuning fork, showing the electrical connections and solder joints.
The base of the tuning fork.

This was interesting, but even after Maxim said the packing and exterior markings looked legitimate, I was curious if the die itself was an actual Dallas/Maxim die or if it was a fake. Using tweezers and a fine, sharp knife I was able to crumble away more of the epoxy package and remove the die. Unfortunately, the bond wires were still embedded in the package and so broke off when I removed the die. I also slightly scratched part of the die and cracked off part of the top-right corner. Clearly, acid digestion is the way to go.

Here’s the first look at the die itself. I had washed it with isopropanol and both the chip and the microscope slide are a bit wet. The die measures ~3.6 x 2.3 mm, and the images below were taken with my USB microscope.

The whole DS3231 die. The die is still wet with isopropanol and bits of the epoxy package are still stuck to the outer edges of the die. Scratches appear on the several parts of the complex circuit laid out on the die.
The DS3231 die.

First, I wanted to check to see if the die was actually made by Maxim or if it was a fake. The die clearly says “DALLAS SEMICONDUCTOR”, as well as “©2004 (M) MAXIM”. Looks legit. That’s refreshing.

The manufacturer's markings on the die. The words "DALLAS SEMICONDUCTOR" are written in all-caps vertically, while the copyright sign, the year 2004, an "M" in a circle (for Maxim?), and the word "MAXIM" is written horizontally off to the side. There are additional markings that appear to say "14A3" and "16A3", but are slightly blurry due to the very small size of the markings and the limitations of the microscope.
The manufacturer’s markings on the die.

Here’s some more photos of the die.

Another photo of the die showing the complex circuitry it contains.
Another photo of the die.
A different region of the chip showing different types of circuitry. The marking "DS3231" is clearly visible in the bottom-center, though there is an unknown marking between the "32" and "32".
The marking “DS32B31” is clearly visible in the bottom-center, though the “B” in the center of the text is hard to make out in this image. It’s unclear what the “B” means.
A different region of the chip, to the left of the "DS3231" marking mentioned earlier. Two bonding pads are visible, one with a bit of the gold bond wire remaining attached, while the other has had the wire removed.
Another region of the chip. Two bonding pads are clearly visible.
A photo showing the whole die. Ten bonding pads are visible, several still with the remains of gold wires still attached. A small area in the upper-right of the die has been snapped off while removing the chip from the packaging, and small pieces of packaging are still stuck to the outer edges of the die. Several distinctly different regions of the chip are visible, clearly with different functions.
An overview of the whole die. Note a small bit broken off in the top-right and some of the packaging still stuck to it.

In addition to my cheap USB microscope at home, I was later able to take the die into the lab at work and use the (very expensive) Zeiss microscope to take more pictures. I was also able to clean it more thoroughly using the ultrasonic cleaner so the images came out considerably better.

Alas, compatibility issues between the camera mounted on the microscope and my computer prevented me from using the camera to get high-quality photos at this time. I’ve ordered an adapter so I can get better photos, but it will be several weeks. At that time I will either update this post or link to a new one. I plan on creating large composite images of the die at various levels of zoom, and with different optical filters. In the interim, here are a few photos I took using my smartphone aimed through the eyepiece of the lab microscope. They are nowhere near as clear or stunning in appearance as they are when viewed directly through the eyepiece or via the on-scope camera.

A close-up of the die's manufacturer markings prior to ultrasonic cleaning. The text "(C) 2004 (M) MAXIM" is visible, as are several large pieces of dust.
A close-up of the die’s manufacturer markings prior to ultrasonic cleaning. Large specks of dust are visible.
A close-up of the DS32B31 marking in the bottom-center of the die. It's unclear what the "B" stands for. Several large pieces of dust are visible.
A close-up of the DS32B31 marking in the bottom-center of the die prior to ultrasonic cleaning. It’s unclear what the “B” stands for.
A picture of the die using reflected differential interference contrast (DIC). The colors appear different (mostly blue and gold) but the contrast between the elements of the chip are greatly enhanced.
A picture of the die using reflected differential interference contrast (DIC) after ultrasonic cleaning. The colors appear different, but the contrast between the elements of the chip are greatly enhanced.

Addendum 2017-07-29: I’ve been able to get the camera on the microscope to cooperate and have gotten several high-quality photos. As the microscope has an extremely short depth of focus, particularly at high magnification, some images have been “focus stacked” by combining several images at different focus depths. Similarly, the large composite images are made from several individual images that may be focused slightly differently from each other. These processes may cause visual artifacts to be present.

In general, images with green and red colored layers use standard reflected microscopy with no filters, while images with blue and gold layers use reflected differential interference contrast (DIC).

A high-quality image of the Maxim logo on the chip.
A high-quality image of the Maxim logo on the chip.
A DIC image showing the "Maxim" brand markings.
A DIC image showing the “Maxim” brand markings.
Several markings (A1, 02A3, 08A1, 14A3, 15A3, 16A3, and 17A3) are made of different material and differ in color.
These look like they’re identifying different layers of material laid on the silicon: each section of text requires a different depth of focus and appears to be made of different material.
A DIC image showing markings (A1, 02A3, 08A1, 14A3, 15A3, 16A3, and 17A3) are made of different material and differ in color.
The same image as before, this time imaged using DIC.
The edge of the chip with many human-readable markings (e.g. Dallas Semiconductor, Maxim, etc.).
Most of the human-readable markings on the chip are found here, as are a bunch of scratches the die suffered when I removed it from the package.
A high-resolution composite image of the entire die.
A high-resolution composite image of the entire die.
A high-resolution composite DIC image showing the entire die.
A high-resolution composite DIC image showing the entire die.
A focus stacked image showing several circle-in-square circuit elements of two sizes.
A focus stacked image showing some interesting circuitry in the top-left corner of the die. Based on a discussion on the time-nuts mailing list, it appears likely that these are the capacitor arrays used for adjusting the frequency of the crystal.
A focus stacked DIC image showing several circle-in-square circuit elements of two sizes.
A focus stacked DIC image showing some interesting circuitry in the top-left corner of the die. Based on a discussion on the time-nuts mailing list, it appears likely that these are the capacitor arrays used for adjusting the frequency of the crystal.

That’s all the photos for now. I hope you found this as interesting as I did.

20 thoughts on “A look inside the DS3231 real-time clock”

    1. Thank you.

      I’ve been generally quite satisfied with this one from Plugable. It’s basically a webcam with a macro lens, but it does reasonably well if you have a solid stand.

      1. Quick follow-up: keep in mind that I bought that microscope a few years ago and haven’t looked into the USB microscope since then. It’s quite possible that there’s much better ones available now.

        My work’s Zeiss microscope is outstanding, but not inexpensive. I seem to recall it costing as much as a decent car. Probably outside of the typical home budget.

  1. Maxim probably doesn’t package their own chips but outsources it. Dallas Semiconductor didn’t when I worked there. The wafers were sent off shore to be ground down, sliced and packaged, then sent back to DFW area for testing. Wafer test was right next to package test since we used the same test equipment and engineers.

    Components are expensive for hobbyist, since most chips sell in lots of 10,000 and there’s overhead in shipping and handling singles.

    1. Having an outside company do the packaging doesn’t surprise me at all.

      That said, I’m not entirely clear on one of your statements: you say that the wafer test and package testing was right next to each other. To be clear, does this mean you did wafer testing prior to sending the wafers off for processing and packaging?

      I’m curious, because people have asked me if the chips in these Chinese modules are likely to be “ghost shifts” or QC rejects, but if Dallas/Maxim does the testing prior to the wafers leaving their own controlled fab, it’d be hard for such things to take place.

      And yes, I know that bulk sales get discounts on the cost per chip, but Digi-Key sells them for $4.51 in quantities of 1,000. Perhaps one could get a bigger discount at even larger volumes, but I have no way of knowing.

      One other thing stood out to me: the date codes on the chips used on these Chinese modules typically range from 2008 to 2011. It seems a bit odd to think they’d keep chips lying around on shelves for 9 years only to sell them on cheap modules. Still, I don’t see any obvious evidence of having been de-soldered from some other installation and being re-used. Very strange. Any ideas?

      1. Yes, wafers are tested prior to shipping. A “prober” puts the wafer on a chunk and moves it to a stationary probe card with test leads, “probes” that touch the bond pads of each die. A pass/fail/bin map is made for each wafer in the lot and bad die may be marked with ink. The probes are hooked to a tester which test the die. The same type tester may be used on the finished package. Chucks can be heated or not and special baths may be used to calibrate oscillators or temperature sensors. Lasers can blow fuses for various purposes or serial numbers. More secure chips get extra layers of metal and oxide to obstruct reverse engineering.

        Date codes may not be related to package date, but the lot date in the fab. (Wafers can sit for years before packaging…) But with the Chinese, who knows?

        1. Interesting, thank you for the details. I didn’t know that wafers might sit around for a while until being packaged, but that makes sense. It sounds like it’d be hard for rejects to make it out into the wild in any reasonable quantity, so that lends credence to all these chips on the market being legit, though of “gray market” origins.

  2. The main market for these chips are utility meters made in China. The price that a contract assembler pays in China is much less than a dollar, the actual prices are a highly guarded secret.. These parts are “grey” marketed out of a contract assembler into the hobbyist market. They’re new prime parts but could have reel ends, drops or misfeeds or just surplus to their needs.

    1. Fascinating! Do you happen to have any links to more information about that? I know a few people in the time-nut community that would be interested in more details, as they’re skeptical of the sources for these chips.

      Also, any insight as to why most of the chips are relatively old (e.g. 2008-2011 vintage) even on items purchased in 2017? I can’t imagine the manufacturer would keep a big warehouse of old chips lying around gathering dust until they decide to surplus them out, but I’m a physicist, not an electronics engineer.

      1. One thing to keep in mind is that chips have an expiration date. If the lots are too old, they’ll be rejected for use on “real” product. What you may have is a batch of old Maxim parts that someone found mis-stocked in the warehouse, too old for current customers to use. They run out a batch of board for the grey and hobby markets, and don’t fret the fall out.

        With age, the packages absorb water and the tinning on the leads begin to oxidize a/o crystallize. The results are exploding packages during reflow, and bad solder joints.

        1. Interesting. The tinning on the leads looks fine, and the solder joints look properly wetted, so I don’t think I should worry too much about them. Am I correct in assuming that since the joints look good and the packages haven’t exploded, things are pretty good (in terms of hobby-type reliability, not for any sort of critical system)?

  3. Excellent investigation, including some nice info on the photography and lighting. As a clock fan, I found the article particularly appealing, although 16 seconds in a year is not even close to the performance of the best mechanical clocks (1 second in 100 days is the current ‘standard’ to aim for). On the other hand; for a cheap chip, the results are impressive in terms of accuracy v. cost.

    1. Thank you!

      What sort of mechanical clocks are you referring to? I wasn’t aware that precision mechanical clocks were even still being made these days, and that even the more demanding roles (e.g. marine navigation) had been replaced with electronic clocks. I’d love to know more.

      Also, keep in mind that I had not adjusted the aging register in the chip, and it is operating within the published specifications (which is pretty good for a quartz crystal) of +/- 2ppm. I’m currently setting up a test rig for measuring several modules at once but, in the interim, have used my oscilloscope, stopwatch, and GPS disciplined oscillator as a reference to measure the time needed for the DS3231 to drift a certain number of cycles over time. Right now, the five I have tested are all around 0.5ppm, which is in line with the one I left on the shelf for over a year for testing — that’s about a factor of 5 worse than your 1-second-in-100-days mechanical clocks.

      However, by tuning the aging register in the DS3231 I can increase the stability quite a bit more: I’ve had a few running at <10ppb for at least several hours (then the baby woke up and I had to feed him) with a bit of tuning and luck. Due to that adjusting the capacitance on the crystal, things get a bit nonlinear at temperature extremes according to the datasheet, but at the temperatures encountered in this room it's not really an issue.

      Honestly, I was a bit surprised that such a simple, cheap, and low-power device can regulate the frequency of the crystal as well as it can.

      1. Mechanical cloks are full of surprises. For me, the first noteworthy clock capable of precise timekeeping was probably the Littlemore clock: http://www.hsn161.com/HSN/hsn_article.php
        and some interesting observations at: http://www.cleyet.org/Pendula,%20Horological%20and%20Otherwise/The%20Littlemore%20clock%202.pdf
        where Littlemore was said to be disappointed his clock would not detect the changing tides!
        The observatory clocks by Fedchenko and by Reiffler and by Short were all impressively accurate. Woodward’s clock, and the subsequent remakes, especially DW5 by David Walters (a real beauty), could be made by mere mortals, and exceed an accuracy of 1 second in 100 days.
        I recently visited the Royal Observatory in Greenwich, Uk, where the Burgess ‘B’ has been on test and has been declared the most accurate mechanical clock ever made, with an error of less than 1 second in 100 days. There’s a useful collection of information about that clock, here: http://leapsecond.com/pend/clockb/
        One interesting difference between these pendulum clocks and the quartz mechanisms is that the pendulum reacts to variations in temperature and atmospheric pressure (when the pendulum is not enclosed in a vacuum), and, more intriguingly, gravity, and the tides. The quartz movement is not influenced by all of those factors, as far as I know. Temperature; yes – but gravity and the tides: – I don’t think those cause a measurable deviation in rate.
        It’s an interesting field. Oh yes; let’s not forget magnetic fields.
        The aging register is useful, and is calibrated in the more precise QMs, but I wonder whether it can be tweaked more than once, as time goes on and the crystal ages further.

        1. Thanks! I know what I’ll be reading over the next day or two once the kids are asleep.

          In regards to the aging register in the DS3231, it absolutely is re-tweakable. It’s just a one-byte value in RAM, and one can read/write it over I2C just like any of the other registers on the chip. The new value is used for the next automatic temperature conversion (either automatically triggered on schedule, or manually triggered by setting the appropriate bit). The only caveat is that a non-zero aging value causes non-linearity in the frequency corrections at the temperature extremes (that is, it acts more like a regular crystal rather than a TCXO). If the chip is, as many are, in a reasonably stable environment it’s not really a problem.

          Based on some quick tests at home, if the temperature in the room stays reasonably stable (e.g. standard residential temperature variations) and aging over one year is negligible, the chip will remain within +/- 1 second/year once I tune the aging register for maximum stability. That’s pretty good.

          One other neat thing: the DS3231’s register layout is a superset of the DS1307. This makes it easy to do a drop-in replacement of the DS1307 with the DS3231 without having to change any other aspects of a system (so long as one is only concerned about the time itself, and not things like the temperature sensor and the like).

          1. Fascinating stuff! Can you describe your procedure for tuning the aging register? Are you just trimming it until you find the best accuracy fit compared to a reference clock over some time period at ambient temp? Thanks!

          2. In short, yes. I’m using a method similar to the analog method from here to do the tuning, with a few minor variations:

            – The reference signal is a 1pps signal from my Trimble Thunderbolt GPSDO, which has an accuracy of +/- 20ns or so. This is fed into my oscilloscope as the trigger signal.

            – The 32.768 kHz signal from the DS3231 is connected to a Schmitt trigger to clean up the rising edge (the module I have has a 4.7 kOhm pull-up, so the rising edge is a bit slow), the output of which goes into one of the channels on the oscilloscope.

            I set the oscilloscope to 1-2 microseconds per division, then watch the pulses drift left or right over time. I start a timer when one of the pulses reaches one of the marks on the graticule and time how long it takes for the pulses to drift such that a different pulse reaches the graticule. Usually, it takes a minute or two with the un-trimmed oscillator, which corresponds to 0.25-0.50 ppm.

            The DS3231 is connected to an Arduino running a sketch I write to read and write the aging register. Input and output goes over serial to the computer. This is all at room temperature.

            I’ve been meaning to test things at different temperatures (e.g. in the freezer), but life has been a bit busy as of late, so I haven’t had time.

    1. A $35 USB microscope for the earlier ones, and a $VERY_EXPENSIVE Zeiss petrographic microscope for the latter ones. The Zeiss one cost as much as a decent car. Probably out of the hobbyist budget!

Leave a Reply

Your email address will not be published. Required fields are marked *