2026-01-21 6:24 AM - last edited on 2026-01-21 7:11 AM by mƎALLEm
Good morning,
I'm developing a device with these requirements:
Ideally, we would like to get our total clock drift under 10 minutes/year (20 ppm) if possible.
I created one prototype using an Abracon 32.768kHz crystal for the LSE, with two C0G 6pF load capacitors. To test the prototype, I routed the LSE to the MCO1 and measured the clock frequency as we swept the temperature from -20°C to 70°C in our temperature chamber. I measured that and compared the ppm deviation to the expected deviation given by abracon (ppm = (T-25°C)^2 * (-0.035ppm)):
| Time [wall clock time] | Ambient Temperature [°C] | measured MCO frequency [kHz] | ppm deviation | Predicted deviation (per abracon datasheet equation) |
| 10:10 | -20.9 | 32.76681 | -36.3 | -73.74 |
| 10:13 | -20.6 | 32.76672 | -39.1 | -72.78 |
| 10:24 | -11.9 | 32.76712 | -26.9 | -47.66 |
| 10:34 | -3.9 | 32.76750 | -15.3 | -29.23 |
| 10:45 | 4.2 | 32.76785 | -4.6 | -15.14 |
| 10:56 | 12.6 | 32.76809 | 2.7 | -5.38 |
| 11:06 | 19.8 | 32.76818 | 5.5 | -0.95 |
| 11:17 | 28.5 | 32.76820 | 6.1 | -0.43 |
| 11:28 | 36.2 | 32.76810 | 3.1 | -4.39 |
| 11:38 | 44.1 | 32.76785 | -4.6 | -12.77 |
| 11:49 | 52.2 | 32.76750 | -15.3 | -25.89 |
| 12:02 | 62.3 | 32.76685 | -35.1 | -48.70 |
| 12:14 | 70.5 | 32.76620 | -54.9 | -72.46 |
| 12:25 | 70.1 | 32.76598 | -61.6 | -71.19 |
| 12:54 | 70 | 32.76590 | -64.1 |
-70.88 |
So, my next steps that I was planning was to:
However after doing some research, I'm a bit less confident about my approach
Is it feasible to tune a RTC like this to achieve 20ppm accuracy over a wide range of temperatures using only software? Or am I better off getting something like a temperature-controlled oscillator?
Thanks!
Solved! Go to Solution.
2026-01-21 6:32 AM - edited 2026-01-21 6:32 AM
From the crystal datasheet, the range in accuracy varies by more than 20ppm over the 20-70 temperature range. Note the delta from the blue and yellow lines.
So that's not a viable solution unless you have the tools and time to calibrate each crystal independently.
You're better off with a TCXO.
2026-01-21 6:32 AM - edited 2026-01-21 6:32 AM
From the crystal datasheet, the range in accuracy varies by more than 20ppm over the 20-70 temperature range. Note the delta from the blue and yellow lines.
So that's not a viable solution unless you have the tools and time to calibrate each crystal independently.
You're better off with a TCXO.
2026-01-21 6:44 AM
In commercial RF transceivers, they used to keep the oscillator section at a constant temperature for this purpose.
And for the ease of control, this was usually a temperature at the higher end of the ambient spectrum.
2026-01-21 6:46 AM - edited 2026-01-21 6:46 AM
Ah, yep. That's a good point, I should have noticed that.
In general, is this a viable strategy, assuming a wider ppm accuracy is acceptable?
Thanks
2026-01-21 6:54 AM
It's an okay strategy if the temperature is stable. It's not going to give you the accuracy of a TXCO though.
Your code will be more complicated, and you will use more power, it will be less accurate (compared to TXCO), but it will be cheaper in parts cost.