Typical accuracy
| Source | Accuracy | Drift per day |
|---|---|---|
| MCU internal RC oscillator | ±1% – ±5% | — |
| Ceramic resonator | ±0.5% | — |
| Crystal (XO, untrimmed) | ±20 – ±50 ppm | ~1 ppm |
| Crystal (trimmed) | ±10 ppm | ~1 ppm |
| TCXO (temp compensated) | ±0.5 – ±2 ppm | ~0.1 ppm |
| OCXO (oven) | ±0.01 – ±0.1 ppm | 1 – 10 ppb/day |
| GPS disciplined | ~1 × 10⁻¹¹ | Tracks GPS |
| Rubidium atomic | ~5 × 10⁻¹¹ | ~1 × 10⁻¹¹/month |
| Cesium atomic | ~1 × 10⁻¹² | ~1 × 10⁻¹⁴ |
| Optical atomic clock (lab) | ~10⁻¹⁸ | Research |
Useful conversions
| 1 ppm at 32.768 kHz | 0.0328 Hz → ~2.6 seconds/month drift |
|---|---|
| 20 ppm at 16 MHz | 320 Hz — enough to break serial at high baud rates |
| For UART at 115200 | Need < 2.5% error — any decent crystal works; RC oscillator too loose |
Error sources
- Temperature: XO parabolic curve around 25 °C; TCXO compensates via varactor + thermistor.
- Aging: crystals drift ~1–5 ppm in the first year, slower after.
- Voltage: VCC variation pulls frequency slightly.
- Load capacitance: mismatched board capacitance shifts frequency from datasheet spec.
- Mechanical shock: large crystals can fracture; MEMS resonators are more robust.
Was this article helpful?