RTC Drift Calculator
Convert a crystal or RTC's ppm accuracy into real clock drift per day, month, and year, or work backward from a drift you measured to find the implied ppm.
Typical oscillator accuracy by type
Approximate figures gathered from common datasheets and manufacturer comparisons. Actual accuracy for any specific part depends on its datasheet, operating temperature, and age.
| Oscillator type | Typical accuracy | Approx. drift |
|---|---|---|
| MCU internal RC oscillator | ~10,000–20,000 ppm (1–2%) | tens of sec/day |
| Standard 32.768 kHz crystal | ~10–50 ppm | ~1–4 sec/day |
| TCXO (e.g. DS3231-class RTC) | ~2–5 ppm | ~0.2–0.4 sec/day |
| OCXO | ~0.01 ppm | ~1 ms/day |
The DS3231 real-time clock is a commonly cited example of a low-cost TCXO-based RTC, specified around 2 ppm from 0 to 40 degrees C and about 3.5 ppm across its full -40 to 85 degree C range, which its datasheet describes as within about 2 minutes per year.
Why a few ppm matters over time
A part-per-million error sounds negligible, but it compounds continuously. A crystal that is 20 ppm off does not just lose 20 millionths of a second once, it loses 20 millionths of every second that passes, which adds up to roughly a minute and a half every three months.
Why many MCUs use an external crystal for timekeeping
A microcontroller's built-in RC oscillator is convenient and needs no external parts, but its accuracy is usually measured in percent rather than ppm, which is 10,000 times worse. Any application that needs to keep real time accurately, rather than just generate approximately correct delays, needs an external crystal or a dedicated RTC chip.
What this calculator does not model
Real oscillators are not perfectly constant: temperature swings, aging, and supply voltage all shift the effective ppm over time. A single ppm figure from a datasheet is usually a worst-case bound across a temperature range, not a fixed instantaneous value, so treat the drift figures here as an estimate built on that bound.
FAQ
What does ppm mean for a clock or crystal?
Parts per million, meaning the oscillator's actual frequency differs from its nominal frequency by that many millionths. A 20 ppm crystal can run fast or slow by up to 20 microseconds for every second that passes.
How much does a typical 32.768 kHz crystal drift per day?
A common 20 ppm crystal drifts by roughly 1.7 seconds per day, which adds up to under a minute per month and around 10 minutes per year if the error stays constant.
Why is a dedicated RTC chip like the DS3231 more accurate than a plain crystal?
It integrates a temperature-compensated crystal oscillator that continuously adjusts its own timing based on an internal temperature sensor, correcting for the main source of drift in an uncompensated crystal instead of just specifying a tighter but still temperature-sensitive tolerance.
How do I find the ppm accuracy of a clock I already have?
Compare it against a known-accurate reference over a fixed period, note the drift in seconds, and switch this calculator to measured-drift mode with that drift and elapsed time. The result is the implied ppm accuracy of your specific device under your conditions.
Does temperature affect these ppm figures?
Yes. A ppm figure from a datasheet is usually specified across a temperature range, and actual drift at a fixed temperature can be tighter or looser than that figure depending on where the oscillator's turnover point falls relative to its operating temperature.