You remind me that it is not difficult to implement digital frequency correction in a microcontroller. With this technique, a 32kHz kHz xtal (or any crystal frequency) can be used to generate an accurate real time clock without adjusting the actual xtal frequency. Consider that about 20 bits are required attain 1PPM accuracy (1 part in 2^20). Instead of adding 1 to a counter at each real time tic, you add 1 plus a 20 bit signed fraction to the counter. Only the least significant 8 bits of the fraction are adjusted. The range of the fraction is (-128 to +127)/ 1048576, about +-121 ppm. So instead of 1, you are adding a number from 0.999879 to 1.000121 to the counter. This counter may be seconds, tenths of a second, 1/32 second or whatever you desire. You can increase the number of bits for more precision. The adjustment may be stored in one byte of eeprom. Here's an attempt at a PIC solution: correction res 1 ;signed byte applied to accum1 accum1 res 1 ;bits 0-7 of fraction accum2 res 1 ;bits 8-15 of fraction accum3 res 1 ;bits 16-20 of fraction, a '1' in bit 4 is one tic update_real_time movfw correction ; get the fractional correction addwf accum1,f ; update the LSB of the fraction ; the remainder of this code sign extends the LSB fraction to the rest of the fraction movlw 0 ; assume positive correction btfsc correction,7 ; skip if correction is positive sign movlw -1 ; correction is negative btfsc STATUS,C addlw 1 ;add in the carry addwf accum2,f ;update bits 8-15 ; movlw 0 ; assume positive correction btfsc correction,7 ; skip if correction is positive sign movlw -1 ; correction is negative btfsc STATUS,C addlw 1 ; add in the carry addwf accum3,f ; update bits 16-20 ; ; Check the overflow bit for a "calibrated" real time tic. btfss accum3,4 ; has a tic occured? goto dontupdate ; don't update the real time counters... bcf accum3,4 ; clear the tic keeping the fraction remainder goto update ; update the real time clock counters... Barry King Wrote: Our data loggers use watch crystals and calibrate them by tweaking the load capacitance when needed to get to +/- 1ppm. ST Microelectronics makes a real-time-clock chip with cool digital frequency correction. (The chip will skip or double pulses to correct for crystal initial tolerance if you calibrate it.) If temperature is not varying wildly, they work very well.