Oscillator Drift Calculator

Crystal/oscillator drift in Hz and time error over a period.

Calculator Electronics Updated Apr 18, 2026
How to Use
  1. Enter nominal f₀ and tolerance in ppm.
  2. Δf = f₀·ppm·1e-6. Time error = ppm·1e-6 per second.
Input
ppm
days
Presets
Drift
Δf
Time error
f range
Grade

Show Work

Enter values.

Notes

Δf
f₀ · ppm · 1e-6
Max freq error.
Time error
ppm · seconds · 1e-6
Clock drift.
Quartz XO
±20–100 ppm
Standard.
TCXO
±0.5–2 ppm
Temp compensated.
OCXO
±0.01 ppm
Oven controlled.
Aging
±1–5 ppm/year
Separate from initial tolerance.

History of Quartz Oscillators

The piezoelectric effect was discovered by Jacques and Pierre Curie in 1880, but it took until 1921 for W.G. Cady at Wesleyan University to build the first quartz crystal oscillator. George Washington Pierce's 1923 "Pierce oscillator" circuit — a transistor (originally vacuum tube) with a crystal between gate and drain plus two capacitors — remains the dominant topology in every MCU and radio chip today, roughly a century later.

The 32.768 kHz "watch crystal" was standardized in the 1960s for Swiss-made wristwatches: it's 2^15 Hz, so a 15-stage binary counter produces exactly 1 Hz. Standard tolerance is ±20 ppm, giving about ±10.5 minutes per year in a $5 quartz watch — far better than any mechanical movement. Tuning-fork cut crystals for this frequency have a negative parabolic temperature coefficient centered at 25°C, which is why watches drift faster in hot or cold environments.

For higher stability, temperature-compensated crystal oscillators (TCXO, ±0.5-2 ppm) use a thermistor network to correct the crystal's temperature curve in real time; oven-controlled (OCXO, ±0.001-0.1 ppm) keep the crystal at a constant elevated temperature (typically 75°C) to remove temperature variation entirely. Rubidium and cesium atomic references (10⁻¹² long-term stability) appear in GPS satellites, cellular base stations, and national time standards — each step in stability costs roughly 10× more.

About This Calculator

Enter nominal oscillator frequency, tolerance in ppm (parts per million: 1 ppm = 1 Hz per MHz), and duration of interest. The tool returns maximum frequency error Δf = f₀ · ppm · 10⁻⁶, cumulative time error over the duration (ppm × seconds × 10⁻⁶), and the corresponding frequency range.

Common grades: USB needs ≤ ±500 ppm; UART needs ≤ ±2.5% per side (±25,000 ppm); GPS receivers need ≤ ±1 ppm; cellular basebands need ≤ ±0.05 ppm. Remember to budget separately for initial tolerance (±ppm at 25°C), temperature variation (±ppm over operating range), load capacitance pulling (±ppm from spec Cload), and aging (±1-5 ppm/year cumulative). Everything runs client-side; no values leave your browser.

Frequently Asked Questions

ppm?

Parts per million — 10 ppm = 0.001%.

TCXO?

Temperature-compensated, ~0.5–2 ppm over −40 to +85°C.

Common Use Cases

USB

±500 ppm allowed.

GPS

Needs <1 ppm.

Clock

32.768 kHz, ±20 ppm → ±10.5 min/year.

Last updated: