Crystal tolerances and what that means for timer interrupts
Some chips have an internal RC oscillator that is &quot;calibrated&quot; at the factory, and you won't likely do much better without herculean efforts such as individual characterization in a temperature chamber. And even so it may not be all that stable. The target there for the chip suppliers is things like reliable serial communications where +/-1% is more than good enough. A real time clock is specified more likely in tens of ppm (roughly three orders of magnitude more accurate) to be acceptable. +/-20ppm represents 1.7 seconds gained or lost per day, and that's a typical 32kHz crystal spec. Higher frequency crystals can be a bit looser.
So, unless you have an external reference you can talk to (ntp or whatever) you should seriously consider the 2-cent crystal. You can trim the crystal frequency in with a small adjustable capacitor or adjust it digitally to get better than the 20ppm spec, especially if the temperature is relatively stable. There are other options such as resonators but they're not much (maybe 10:1) better than the calibrated RC oscillators, which still leaves 100:1 deficit.