time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] Portable Time Standard

PT
Petr Titěra
Fri, Feb 15, 2019 7:51 PM

Hello,

sorry to reopen this old thread but it took me some time to measure. As
I've said I have one RTC module sitting right on my desk in my room
where temperatures can go anywhere between 3C and 20C.

Using naive method of comparison of time difference between system time
and RTC module I get time difference only about 4.487869e-02 seconds in
22 days.

Petr Titera

Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a):

Hello Petr,

I have not found a low power RTC chip that will keep 1 second a month with
changes in temperature.  This clock will be used to synchronize a portable
communications system.

Thank you,
Joe

On 1/13/2019 2:23 PM, Petr Titěra wrote:

I will probably sound dumb but did you consider cheap RTC chips? I have
one based on DS3231 currently on my table and although its is specified
to have precision +/-2PPM my seems to be in range about 0.5PPM right
from package with possibility to do some corrections.

Petr Titera

Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a):

I need a relatively lightweight, self powered, portable clock accurate to 1
second per month.  Temperatures may range from 10 to 35 C; altitude from 1000 to
7000 feet.  Although expensive, some of the marine quartz chronometers appear to
meet this requirement. ~0.3 PPM.

Does anyone have any experience with these devices?

If so, has anyone tried to detect the probably weak magnetic field generated by
the clock mechanism for time comparison purposes?

Thanks,
Joe, W7LUX


This email has been checked for viruses by AVG.
https://www.avg.com


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Hello, sorry to reopen this old thread but it took me some time to measure. As I've said I have one RTC module sitting right on my desk in my room where temperatures can go anywhere between 3C and 20C. Using naive method of comparison of time difference between system time and RTC module I get time difference only about 4.487869e-02 seconds in 22 days. Petr Titera Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a): > Hello Petr, > > I have not found a low power RTC chip that will keep 1 second a month with > changes in temperature. This clock will be used to synchronize a portable > communications system. > > Thank you, > Joe > > > On 1/13/2019 2:23 PM, Petr Titěra wrote: >> I will probably sound dumb but did you consider cheap RTC chips? I have >> one based on DS3231 currently on my table and although its is specified >> to have precision +/-2PPM my seems to be in range about 0.5PPM right >> from package with possibility to do some corrections. >> >> Petr Titera >> >> Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a): >>> I need a relatively lightweight, self powered, portable clock accurate to 1 >>> second per month. Temperatures may range from 10 to 35 C; altitude from 1000 to >>> 7000 feet. Although expensive, some of the marine quartz chronometers appear to >>> meet this requirement. ~0.3 PPM. >>> >>> Does anyone have any experience with these devices? >>> >>> If so, has anyone tried to detect the probably weak magnetic field generated by >>> the clock mechanism for time comparison purposes? >>> >>> Thanks, >>> Joe, W7LUX >>> >>> --- >>> This email has been checked for viruses by AVG. >>> https://www.avg.com >>> >>> >>> _______________________________________________ >>> time-nuts mailing list -- time-nuts@lists.febo.com >>> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com >>> and follow the instructions there. >>> >>
JH
Joe Hobart
Sun, Feb 17, 2019 6:00 PM

Hello Petr,

Your accuracy results are impressive.  I have questions:

What manufacture or brand DS3231 do you have?

What do you use to communicate with the DS3231 and display time?

How long has your DS3231 been running?

Have you changed the crystal aging offset register(s) to compensate for
crystal aging?

Thank you,
Joe

On 2/15/2019 12:51 PM, Petr Titěra wrote:

Hello,

sorry to reopen this old thread but it took me some time to measure. As
I've said I have one RTC module sitting right on my desk in my room
where temperatures can go anywhere between 3C and 20C.

Using naive method of comparison of time difference between system time
and RTC module I get time difference only about 4.487869e-02 seconds in
22 days.

Petr Titera

Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a):

Hello Petr,

I have not found a low power RTC chip that will keep 1 second a month with
changes in temperature.  This clock will be used to synchronize a portable
communications system.

Thank you,
Joe

On 1/13/2019 2:23 PM, Petr Titěra wrote:

I will probably sound dumb but did you consider cheap RTC chips? I have
one based on DS3231 currently on my table and although its is specified
to have precision +/-2PPM my seems to be in range about 0.5PPM right
from package with possibility to do some corrections.

Petr Titera

Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a):

I need a relatively lightweight, self powered, portable clock accurate to 1
second per month.  Temperatures may range from 10 to 35 C; altitude from 1000 to
7000 feet.  Although expensive, some of the marine quartz chronometers appear to
meet this requirement. ~0.3 PPM.

Does anyone have any experience with these devices?

If so, has anyone tried to detect the probably weak magnetic field generated by
the clock mechanism for time comparison purposes?

Thanks,
Joe, W7LUX


This email has been checked for viruses by AVG.
https://www.avg.com


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Hello Petr, Your accuracy results are impressive. I have questions: What manufacture or brand DS3231 do you have? What do you use to communicate with the DS3231 and display time? How long has your DS3231 been running? Have you changed the crystal aging offset register(s) to compensate for crystal aging? Thank you, Joe On 2/15/2019 12:51 PM, Petr Titěra wrote: > Hello, > > sorry to reopen this old thread but it took me some time to measure. As > I've said I have one RTC module sitting right on my desk in my room > where temperatures can go anywhere between 3C and 20C. > > Using naive method of comparison of time difference between system time > and RTC module I get time difference only about 4.487869e-02 seconds in > 22 days. > > Petr Titera > > Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a): >> Hello Petr, >> >> I have not found a low power RTC chip that will keep 1 second a month with >> changes in temperature. This clock will be used to synchronize a portable >> communications system. >> >> Thank you, >> Joe >> >> >> On 1/13/2019 2:23 PM, Petr Titěra wrote: >>> I will probably sound dumb but did you consider cheap RTC chips? I have >>> one based on DS3231 currently on my table and although its is specified >>> to have precision +/-2PPM my seems to be in range about 0.5PPM right >>> from package with possibility to do some corrections. >>> >>> Petr Titera >>> >>> Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a): >>>> I need a relatively lightweight, self powered, portable clock accurate to 1 >>>> second per month. Temperatures may range from 10 to 35 C; altitude from 1000 to >>>> 7000 feet. Although expensive, some of the marine quartz chronometers appear to >>>> meet this requirement. ~0.3 PPM. >>>> >>>> Does anyone have any experience with these devices? >>>> >>>> If so, has anyone tried to detect the probably weak magnetic field generated by >>>> the clock mechanism for time comparison purposes? >>>> >>>> Thanks, >>>> Joe, W7LUX >>>> >>>> --- >>>> This email has been checked for viruses by AVG. >>>> https://www.avg.com >>>> >>>> >>>> _______________________________________________ >>>> time-nuts mailing list -- time-nuts@lists.febo.com >>>> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com >>>> and follow the instructions there. >>>> >>> >
PT
Petr Titěra
Sun, Feb 17, 2019 10:46 PM

Hello,

as I've said these are quite new, cheap RTC modules. There is DS3231SN
on them. Based on markings they were manufactured somewhere in 2008 but
I've bought them recently.

I have two those modules. Both connected using I2C.

First module is connected to Orange Pi sitting on my table. Pi is
running NTP and is controlled by NEO-6M GPS module (not timing, I know
butat this level accuracy of PPS signal should be enough).

I measure in 10 seconds intervals difference between system time (which
I consider stable in long term) and time reported by RTC chip as
reported by adjtimex in compare mode.

This is a little bit naive setup because timing from RTC is noisy but in
long run (its running for 25 days now) it should give me reasonable results.

I did modify offset register. Again using naive approach. I've let run
unmodified module for one day and from that I did compute offset required.

For second module I'm meassuring just now I don't care about time
reported and meassure only interval between rising edge of its PPS
pulses and PPS pulses from another GPS. Again for this measurement I
consider GPS PPS signal as stable.

This second one is a little bit worse (or may be wrongly calibrated) but
I still get about 0.3PPM from my measurements.

Petr Titera

Dne 17. 2. 2019 v 19:00 Joe Hobart napsal(a):

Hello Petr,

Your accuracy results are impressive.  I have questions:

What manufacture or brand DS3231 do you have?

What do you use to communicate with the DS3231 and display time?

How long has your DS3231 been running?

Have you changed the crystal aging offset register(s) to compensate for

crystal aging?

Thank you,
Joe

On 2/15/2019 12:51 PM, Petr Titěra wrote:

Hello,

sorry to reopen this old thread but it took me some time to measure. As
I've said I have one RTC module sitting right on my desk in my room
where temperatures can go anywhere between 3C and 20C.

Using naive method of comparison of time difference between system time
and RTC module I get time difference only about 4.487869e-02 seconds in
22 days.

Petr Titera

Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a):

Hello Petr,

I have not found a low power RTC chip that will keep 1 second a month with
changes in temperature.  This clock will be used to synchronize a portable
communications system.

Thank you,
Joe

On 1/13/2019 2:23 PM, Petr Titěra wrote:

I will probably sound dumb but did you consider cheap RTC chips? I have
one based on DS3231 currently on my table and although its is specified
to have precision +/-2PPM my seems to be in range about 0.5PPM right
from package with possibility to do some corrections.

Petr Titera

Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a):

I need a relatively lightweight, self powered, portable clock accurate to 1
second per month.  Temperatures may range from 10 to 35 C; altitude from 1000 to
7000 feet.  Although expensive, some of the marine quartz chronometers appear to
meet this requirement. ~0.3 PPM.

Does anyone have any experience with these devices?

If so, has anyone tried to detect the probably weak magnetic field generated by
the clock mechanism for time comparison purposes?

Thanks,
Joe, W7LUX


This email has been checked for viruses by AVG.
https://www.avg.com


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Hello, as I've said these are quite new, cheap RTC modules. There is DS3231SN on them. Based on markings they were manufactured somewhere in 2008 but I've bought them recently. I have two those modules. Both connected using I2C. First module is connected to Orange Pi sitting on my table. Pi is running NTP and is controlled by NEO-6M GPS module (not timing, I know butat this level accuracy of PPS signal should be enough). I measure in 10 seconds intervals difference between system time (which I consider stable in long term) and time reported by RTC chip as reported by adjtimex in compare mode. This is a little bit naive setup because timing from RTC is noisy but in long run (its running for 25 days now) it should give me reasonable results. I did modify offset register. Again using naive approach. I've let run unmodified module for one day and from that I did compute offset required. For second module I'm meassuring just now I don't care about time reported and meassure only interval between rising edge of its PPS pulses and PPS pulses from another GPS. Again for this measurement I consider GPS PPS signal as stable. This second one is a little bit worse (or may be wrongly calibrated) but I still get about 0.3PPM from my measurements. Petr Titera Dne 17. 2. 2019 v 19:00 Joe Hobart napsal(a): > Hello Petr, > > Your accuracy results are impressive. I have questions: > > What manufacture or brand DS3231 do you have? > > What do you use to communicate with the DS3231 and display time? > > How long has your DS3231 been running? > > Have you changed the crystal aging offset register(s) to compensate for > crystal aging? > > Thank you, > Joe > > > On 2/15/2019 12:51 PM, Petr Titěra wrote: >> Hello, >> >> sorry to reopen this old thread but it took me some time to measure. As >> I've said I have one RTC module sitting right on my desk in my room >> where temperatures can go anywhere between 3C and 20C. >> >> Using naive method of comparison of time difference between system time >> and RTC module I get time difference only about 4.487869e-02 seconds in >> 22 days. >> >> Petr Titera >> >> Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a): >>> Hello Petr, >>> >>> I have not found a low power RTC chip that will keep 1 second a month with >>> changes in temperature. This clock will be used to synchronize a portable >>> communications system. >>> >>> Thank you, >>> Joe >>> >>> >>> On 1/13/2019 2:23 PM, Petr Titěra wrote: >>>> I will probably sound dumb but did you consider cheap RTC chips? I have >>>> one based on DS3231 currently on my table and although its is specified >>>> to have precision +/-2PPM my seems to be in range about 0.5PPM right >>>> from package with possibility to do some corrections. >>>> >>>> Petr Titera >>>> >>>> Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a): >>>>> I need a relatively lightweight, self powered, portable clock accurate to 1 >>>>> second per month. Temperatures may range from 10 to 35 C; altitude from 1000 to >>>>> 7000 feet. Although expensive, some of the marine quartz chronometers appear to >>>>> meet this requirement. ~0.3 PPM. >>>>> >>>>> Does anyone have any experience with these devices? >>>>> >>>>> If so, has anyone tried to detect the probably weak magnetic field generated by >>>>> the clock mechanism for time comparison purposes? >>>>> >>>>> Thanks, >>>>> Joe, W7LUX >>>>> >>>>> --- >>>>> This email has been checked for viruses by AVG. >>>>> https://www.avg.com >>>>> >>>>> >>>>> _______________________________________________ >>>>> time-nuts mailing list -- time-nuts@lists.febo.com >>>>> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com >>>>> and follow the instructions there. >>>>> >>>> >>
AG
Achim Gratz
Mon, Feb 18, 2019 6:12 PM

Joe Hobart writes:

Your accuracy results are impressive.  I have questions:

What manufacture or brand DS3231 do you have?

There are two modules you can get easily from the usual places, prices
and delivery times vary wildly.  The first and larger variant used to be
called ZS-042, but now generally has "DS3231" in inverse print in that
spot on the PCB.  These usually have the "SN" variant of the chip, but
there are reports of random replacements with the "M" variant (which is
a bit different when it comes to temperature compensation and has some
errata to be aware of in the first revision of the chip).

You should almost surely not use this variant as its shipped: they
typically come with CR2032 coin cell that is not rechargeable, so you
need to disable the charging circuit that is there for use with LiR2032.
The charging circuit itself probably doesn't safely work with a LiR2032
either if you run with VCC at 5V (Arduino or something similar).  Then
there's a power indicator that is most often uselessly pulling current
and pullup resistors for the I²C lines that get in the way when your bus
already is terminated (most often directly by the µC these days) or you
want to cascade devices on the bus, which is easy since this module has
the bus lines looped through to an extra row of pads.

https://components101.com/modules/ds3231-rtc-module-pinout-circuit-datasheet
http://woodsgood.ca/projects/2014/10/21/the-right-rtc-battery/

The other variant can be directly plugged onto a rasPi:

https://www.raspberrypi.org/forums/viewtopic.php?t=161133

I have not used these, but you can find some comments that the cell on
these might need to be replaced more often than you'd like.

Regards
Achim.

+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

Joe Hobart writes: > Your accuracy results are impressive. I have questions: > > What manufacture or brand DS3231 do you have? There are two modules you can get easily from the usual places, prices and delivery times vary wildly. The first and larger variant used to be called ZS-042, but now generally has "DS3231" in inverse print in that spot on the PCB. These usually have the "SN" variant of the chip, but there are reports of random replacements with the "M" variant (which is a bit different when it comes to temperature compensation and has some errata to be aware of in the first revision of the chip). You should almost surely not use this variant as its shipped: they typically come with CR2032 coin cell that is not rechargeable, so you need to disable the charging circuit that is there for use with LiR2032. The charging circuit itself probably doesn't safely work with a LiR2032 either if you run with VCC at 5V (Arduino or something similar). Then there's a power indicator that is most often uselessly pulling current and pullup resistors for the I²C lines that get in the way when your bus already is terminated (most often directly by the µC these days) or you want to cascade devices on the bus, which is easy since this module has the bus lines looped through to an extra row of pads. https://components101.com/modules/ds3231-rtc-module-pinout-circuit-datasheet http://woodsgood.ca/projects/2014/10/21/the-right-rtc-battery/ The other variant can be directly plugged onto a rasPi: https://www.raspberrypi.org/forums/viewtopic.php?t=161133 I have not used these, but you can find some comments that the cell on these might need to be replaced more often than you'd like. Regards Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
DJ
Didier Juges
Tue, Feb 19, 2019 1:01 AM

Achim,

Thanks a lot for the tip. I have several of these modules for an upcoming
project, good thing they have not been plugged very much if at all yet.
I can't believe that eBay's ubiquitous far East vendors would provide
inaccurate documentation. Who can you trust nowadays...

Didier KO4BB

On Mon, Feb 18, 2019, 4:01 PM Achim Gratz Stromeko@nexgo.de wrote:

Joe Hobart writes:

Your accuracy results are impressive.  I have questions:

What manufacture or brand DS3231 do you have?

There are two modules you can get easily from the usual places, prices
and delivery times vary wildly.  The first and larger variant used to be
called ZS-042, but now generally has "DS3231" in inverse print in that
spot on the PCB.  These usually have the "SN" variant of the chip, but
there are reports of random replacements with the "M" variant (which is
a bit different when it comes to temperature compensation and has some
errata to be aware of in the first revision of the chip).

You should almost surely not use this variant as its shipped: they
typically come with CR2032 coin cell that is not rechargeable, so you
need to disable the charging circuit that is there for use with LiR2032.
The charging circuit itself probably doesn't safely work with a LiR2032
either if you run with VCC at 5V (Arduino or something similar).  Then
there's a power indicator that is most often uselessly pulling current
and pullup resistors for the I²C lines that get in the way when your bus
already is terminated (most often directly by the µC these days) or you
want to cascade devices on the bus, which is easy since this module has
the bus lines looped through to an extra row of pads.

https://components101.com/modules/ds3231-rtc-module-pinout-circuit-datasheet
http://woodsgood.ca/projects/2014/10/21/the-right-rtc-battery/

The other variant can be directly plugged onto a rasPi:

https://www.raspberrypi.org/forums/viewtopic.php?t=161133

I have not used these, but you can find some comments that the cell on
these might need to be replaced more often than you'd like.

Regards
Achim.

+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Achim, Thanks a lot for the tip. I have several of these modules for an upcoming project, good thing they have not been plugged very much if at all yet. I can't believe that eBay's ubiquitous far East vendors would provide inaccurate documentation. Who can you trust nowadays... Didier KO4BB On Mon, Feb 18, 2019, 4:01 PM Achim Gratz <Stromeko@nexgo.de> wrote: > Joe Hobart writes: > > Your accuracy results are impressive. I have questions: > > > > What manufacture or brand DS3231 do you have? > > There are two modules you can get easily from the usual places, prices > and delivery times vary wildly. The first and larger variant used to be > called ZS-042, but now generally has "DS3231" in inverse print in that > spot on the PCB. These usually have the "SN" variant of the chip, but > there are reports of random replacements with the "M" variant (which is > a bit different when it comes to temperature compensation and has some > errata to be aware of in the first revision of the chip). > > You should almost surely not use this variant as its shipped: they > typically come with CR2032 coin cell that is not rechargeable, so you > need to disable the charging circuit that is there for use with LiR2032. > The charging circuit itself probably doesn't safely work with a LiR2032 > either if you run with VCC at 5V (Arduino or something similar). Then > there's a power indicator that is most often uselessly pulling current > and pullup resistors for the I²C lines that get in the way when your bus > already is terminated (most often directly by the µC these days) or you > want to cascade devices on the bus, which is easy since this module has > the bus lines looped through to an extra row of pads. > > > https://components101.com/modules/ds3231-rtc-module-pinout-circuit-datasheet > http://woodsgood.ca/projects/2014/10/21/the-right-rtc-battery/ > > The other variant can be directly plugged onto a rasPi: > > https://www.raspberrypi.org/forums/viewtopic.php?t=161133 > > I have not used these, but you can find some comments that the cell on > these might need to be replaced more often than you'd like. > > > Regards > Achim. > -- > +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ > > Factory and User Sound Singles for Waldorf Q+, Q and microQ: > http://Synth.Stromeko.net/Downloads.html#WaldorfSounds > > _______________________________________________ > time-nuts mailing list -- time-nuts@lists.febo.com > To unsubscribe, go to > http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > and follow the instructions there. >
JH
Joe Hobart
Thu, Mar 7, 2019 12:46 AM

Hello Petr and others,

Thank you for the suggestions.  I have several DS3231 modules running.  I was
able to adjust one to 0.04 PPM fast, which is more than good enough for my
requirement of one second a month (this is at a constant temperature, but these
RTC chips are supposed to be temperature compensated).

I can read and write the DS3231 registers with a Raspberry Pi.  Unfortunately,
the RPi kernel sends time to the RTC every 11 1/2 minutes.  This time is usually
moderately accurate, but I have measured errors of up to 0.264 second, which is
unacceptable.

Does anyone have suggestions for a very low power controller and display for
this RTC integrated circuit?  The DS3231 has a 1 Hz square wave output that
could signal the controller to read and display the time and date from the
DS3231.  The controller could sleep between updates, which would conserve batteries.

Thanks again for all the suggestions,
Joe

By the way, the manufacturer of the high accuracy marine chronometer I was
considering will not send specifications for other than 22 +/- 1 degree C.

These DS3231 modules are a complete clock

On 2/17/2019 3:46 PM, Petr Titěra wrote:

Hello,

as I've said these are quite new, cheap RTC modules. There is DS3231SN
on them. Based on markings they were manufactured somewhere in 2008 but
I've bought them recently.

I have two those modules. Both connected using I2C.

First module is connected to Orange Pi sitting on my table. Pi is
running NTP and is controlled by NEO-6M GPS module (not timing, I know
butat this level accuracy of PPS signal should be enough).

I measure in 10 seconds intervals difference between system time (which
I consider stable in long term) and time reported by RTC chip as
reported by adjtimex in compare mode.

This is a little bit naive setup because timing from RTC is noisy but in
long run (its running for 25 days now) it should give me reasonable results.

I did modify offset register. Again using naive approach. I've let run
unmodified module for one day and from that I did compute offset required.

For second module I'm meassuring just now I don't care about time
reported and meassure only interval between rising edge of its PPS
pulses and PPS pulses from another GPS. Again for this measurement I
consider GPS PPS signal as stable.

This second one is a little bit worse (or may be wrongly calibrated) but
I still get about 0.3PPM from my measurements.

Petr Titera

Dne 17. 2. 2019 v 19:00 Joe Hobart napsal(a):

Hello Petr,

Your accuracy results are impressive.  I have questions:

What manufacture or brand DS3231 do you have?

What do you use to communicate with the DS3231 and display time?

How long has your DS3231 been running?

Have you changed the crystal aging offset register(s) to compensate for

crystal aging?

Thank you,
Joe

On 2/15/2019 12:51 PM, Petr Titěra wrote:

Hello,

sorry to reopen this old thread but it took me some time to measure. As
I've said I have one RTC module sitting right on my desk in my room
where temperatures can go anywhere between 3C and 20C.

Using naive method of comparison of time difference between system time
and RTC module I get time difference only about 4.487869e-02 seconds in
22 days.

Petr Titera

Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a):

Hello Petr,

I have not found a low power RTC chip that will keep 1 second a month with
changes in temperature.  This clock will be used to synchronize a portable
communications system.

Thank you,
Joe

On 1/13/2019 2:23 PM, Petr Titěra wrote:

I will probably sound dumb but did you consider cheap RTC chips? I have
one based on DS3231 currently on my table and although its is specified
to have precision +/-2PPM my seems to be in range about 0.5PPM right
from package with possibility to do some corrections.

Petr Titera

Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a):

I need a relatively lightweight, self powered, portable clock accurate to 1
second per month.  Temperatures may range from 10 to 35 C; altitude from 1000 to
7000 feet.  Although expensive, some of the marine quartz chronometers appear to
meet this requirement. ~0.3 PPM.

Does anyone have any experience with these devices?

If so, has anyone tried to detect the probably weak magnetic field generated by
the clock mechanism for time comparison purposes?

Thanks,
Joe, W7LUX


This email has been checked for viruses by AVG.
https://www.avg.com

Hello Petr and others, Thank you for the suggestions. I have several DS3231 modules running. I was able to adjust one to 0.04 PPM fast, which is more than good enough for my requirement of one second a month (this is at a constant temperature, but these RTC chips are supposed to be temperature compensated). I can read and write the DS3231 registers with a Raspberry Pi. Unfortunately, the RPi kernel sends time to the RTC every 11 1/2 minutes. This time is usually moderately accurate, but I have measured errors of up to 0.264 second, which is unacceptable. Does anyone have suggestions for a very low power controller and display for this RTC integrated circuit? The DS3231 has a 1 Hz square wave output that could signal the controller to read and display the time and date from the DS3231. The controller could sleep between updates, which would conserve batteries. Thanks again for all the suggestions, Joe By the way, the manufacturer of the high accuracy marine chronometer I was considering will not send specifications for other than 22 +/- 1 degree C. These DS3231 modules are a complete clock On 2/17/2019 3:46 PM, Petr Titěra wrote: > Hello, > > as I've said these are quite new, cheap RTC modules. There is DS3231SN > on them. Based on markings they were manufactured somewhere in 2008 but > I've bought them recently. > > I have two those modules. Both connected using I2C. > > First module is connected to Orange Pi sitting on my table. Pi is > running NTP and is controlled by NEO-6M GPS module (not timing, I know > butat this level accuracy of PPS signal should be enough). > > I measure in 10 seconds intervals difference between system time (which > I consider stable in long term) and time reported by RTC chip as > reported by adjtimex in compare mode. > > This is a little bit naive setup because timing from RTC is noisy but in > long run (its running for 25 days now) it should give me reasonable results. > > I did modify offset register. Again using naive approach. I've let run > unmodified module for one day and from that I did compute offset required. > > For second module I'm meassuring just now I don't care about time > reported and meassure only interval between rising edge of its PPS > pulses and PPS pulses from another GPS. Again for this measurement I > consider GPS PPS signal as stable. > > This second one is a little bit worse (or may be wrongly calibrated) but > I still get about 0.3PPM from my measurements. > > Petr Titera > > > > > Dne 17. 2. 2019 v 19:00 Joe Hobart napsal(a): >> Hello Petr, >> >> Your accuracy results are impressive. I have questions: >> >> What manufacture or brand DS3231 do you have? >> >> What do you use to communicate with the DS3231 and display time? >> >> How long has your DS3231 been running? >> >> Have you changed the crystal aging offset register(s) to compensate for >> crystal aging? >> >> Thank you, >> Joe >> >> >> On 2/15/2019 12:51 PM, Petr Titěra wrote: >>> Hello, >>> >>> sorry to reopen this old thread but it took me some time to measure. As >>> I've said I have one RTC module sitting right on my desk in my room >>> where temperatures can go anywhere between 3C and 20C. >>> >>> Using naive method of comparison of time difference between system time >>> and RTC module I get time difference only about 4.487869e-02 seconds in >>> 22 days. >>> >>> Petr Titera >>> >>> Dne 14. 1. 2019 v 16:11 Joe Hobart napsal(a): >>>> Hello Petr, >>>> >>>> I have not found a low power RTC chip that will keep 1 second a month with >>>> changes in temperature. This clock will be used to synchronize a portable >>>> communications system. >>>> >>>> Thank you, >>>> Joe >>>> >>>> >>>> On 1/13/2019 2:23 PM, Petr Titěra wrote: >>>>> I will probably sound dumb but did you consider cheap RTC chips? I have >>>>> one based on DS3231 currently on my table and although its is specified >>>>> to have precision +/-2PPM my seems to be in range about 0.5PPM right >>>>> from package with possibility to do some corrections. >>>>> >>>>> Petr Titera >>>>> >>>>> Dne 11. 1. 2019 v 20:57 Joe Hobart napsal(a): >>>>>> I need a relatively lightweight, self powered, portable clock accurate to 1 >>>>>> second per month. Temperatures may range from 10 to 35 C; altitude from 1000 to >>>>>> 7000 feet. Although expensive, some of the marine quartz chronometers appear to >>>>>> meet this requirement. ~0.3 PPM. >>>>>> >>>>>> Does anyone have any experience with these devices? >>>>>> >>>>>> If so, has anyone tried to detect the probably weak magnetic field generated by >>>>>> the clock mechanism for time comparison purposes? >>>>>> >>>>>> Thanks, >>>>>> Joe, W7LUX >>>>>> --- This email has been checked for viruses by AVG. https://www.avg.com
JH
Jim Harman
Thu, Mar 7, 2019 1:14 PM

For ease of programming and reasonably low power consumption I would look
into an Arduino.

There are libraries available to control the DS3231 and your choice of
displays. The Chronodot is a nice prototyping package for the 3231.
https://www.adafruit.com/product/255

On Wed, Mar 6, 2019 at 8:02 PM Joe Hobart nova@npgcable.com wrote:

Hello Petr and others,

Thank you for the suggestions.  I have several DS3231 modules running.  I
was
able to adjust one to 0.04 PPM fast, which is more than good enough for my
requirement of one second a month (this is at a constant temperature, but
these
RTC chips are supposed to be temperature compensated).

I can read and write the DS3231 registers with a Raspberry Pi.
Unfortunately,
the RPi kernel sends time to the RTC every 11 1/2 minutes.  This time is
usually
moderately accurate, but I have measured errors of up to 0.264 second,
which is
unacceptable.

Does anyone have suggestions for a very low power controller and display
for
this RTC integrated circuit?  The DS3231 has a 1 Hz square wave output that
could signal the controller to read and display the time and date from the
DS3231.  The controller could sleep between updates, which would conserve
batteries.

Thanks again for all the suggestions,
Joe

By the way, the manufacturer of the high accuracy marine chronometer I was
considering will not send specifications for other than 22 +/- 1 degree C.

These DS3231 modules are a complete clock

--

--Jim Harman

For ease of programming and reasonably low power consumption I would look into an Arduino. There are libraries available to control the DS3231 and your choice of displays. The Chronodot is a nice prototyping package for the 3231. https://www.adafruit.com/product/255 On Wed, Mar 6, 2019 at 8:02 PM Joe Hobart <nova@npgcable.com> wrote: > Hello Petr and others, > > Thank you for the suggestions. I have several DS3231 modules running. I > was > able to adjust one to 0.04 PPM fast, which is more than good enough for my > requirement of one second a month (this is at a constant temperature, but > these > RTC chips are supposed to be temperature compensated). > > I can read and write the DS3231 registers with a Raspberry Pi. > Unfortunately, > the RPi kernel sends time to the RTC every 11 1/2 minutes. This time is > usually > moderately accurate, but I have measured errors of up to 0.264 second, > which is > unacceptable. > > Does anyone have suggestions for a very low power controller and display > for > this RTC integrated circuit? The DS3231 has a 1 Hz square wave output that > could signal the controller to read and display the time and date from the > DS3231. The controller could sleep between updates, which would conserve > batteries. > > Thanks again for all the suggestions, > Joe > > By the way, the manufacturer of the high accuracy marine chronometer I was > considering will not send specifications for other than 22 +/- 1 degree C. > > > These DS3231 modules are a complete clock > > > > -- --Jim Harman
JH
Jim Harman
Thu, Mar 7, 2019 2:09 PM

Here is an example Arduino sketch that controls the DS3231, blinks the
Arduino's LED, and displays the current time and temperature on the
controlling PC, using the Arduino Wire and Chronodot libraries. For even
better precision, you would want to run the PPS line to an interrupt and
use an ISR to control real-time operations.

This does not power down the processor between updates.

// Date, time and temperature functions using
// a Chronodot RTC connected via I2C and Wire lib

#include <Wire.h>
#include "Chronodot.h"

Chronodot RTC;
byte led = 13;      //LED pin
char offset = 11;    //value for aging register

void setup () {
Serial.begin(9600);
Serial.println("Initializing Chronodot.");

Wire.begin();
RTC.begin();

pinMode(led, OUTPUT);

if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
}
//coarse adjustment - set to compile time
//RTC.adjust(DateTime(DATE, TIME));

//setup square wave output for 1 Hz
Wire.beginTransmission(0x68);
Wire.write((byte)0x0E);
Wire.write((byte)0);
Wire.endTransmission();

//setup drift offset approx 0.1 ppm/count
Wire.beginTransmission(0x68);
Wire.write((byte)0x10);
Wire.write(offset);
Wire.endTransmission();

Serial.println("Enter adjustment in seconds");

}

void loop () {
DateTime now = RTC.now();

//blink the LED on the minute
digitalWrite(led, now.second() == 0);

if(now.second() % 5 == 0) {
  Serial.print(now.year(), DEC);
  Serial.print('/');
  if(now.month() < 10) Serial.print("0");
  Serial.print(now.month(), DEC);
  Serial.print('/');
  if(now.day() < 10) Serial.print("0");
  Serial.print(now.day(), DEC);
  Serial.print(' ');
  if(now.hour() < 10) Serial.print("0");
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  if(now.minute() < 10) Serial.print("0");
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  if(now.second() < 10) Serial.print("0");
  Serial.print(now.second(), DEC);
  Serial.println();

  Serial.print(now.tempC(), 1);
  Serial.println(" degrees Celsius");
  Serial.print(now.tempF(), DEC);
  Serial.println(" degrees Farenheit");

  Serial.println();
  delay(1000);

  if(!Serial.available()) return;

  //got an adjustment
  int adj = Serial.parseInt();

  DateTime now = RTC.now();

  //get the current time as an integer
  uint32_t t = now.unixtime();
  t += adj;

  RTC.adjust(t);

  Serial.print("adjustment ");
  Serial.println(adj);


}

}

On Thu, Mar 7, 2019 at 8:14 AM Jim Harman j99harman@gmail.com wrote:

For ease of programming and reasonably low power consumption I would look
into an Arduino.

--

--Jim Harman

Here is an example Arduino sketch that controls the DS3231, blinks the Arduino's LED, and displays the current time and temperature on the controlling PC, using the Arduino Wire and Chronodot libraries. For even better precision, you would want to run the PPS line to an interrupt and use an ISR to control real-time operations. This does not power down the processor between updates. ---------------------------------------------- // Date, time and temperature functions using // a Chronodot RTC connected via I2C and Wire lib #include <Wire.h> #include "Chronodot.h" Chronodot RTC; byte led = 13; //LED pin char offset = 11; //value for aging register void setup () { Serial.begin(9600); Serial.println("Initializing Chronodot."); Wire.begin(); RTC.begin(); pinMode(led, OUTPUT); if (! RTC.isrunning()) { Serial.println("RTC is NOT running!"); } //coarse adjustment - set to compile time //RTC.adjust(DateTime(__DATE__, __TIME__)); //setup square wave output for 1 Hz Wire.beginTransmission(0x68); Wire.write((byte)0x0E); Wire.write((byte)0); Wire.endTransmission(); //setup drift offset approx 0.1 ppm/count Wire.beginTransmission(0x68); Wire.write((byte)0x10); Wire.write(offset); Wire.endTransmission(); Serial.println("Enter adjustment in seconds"); } void loop () { DateTime now = RTC.now(); //blink the LED on the minute digitalWrite(led, now.second() == 0); if(now.second() % 5 == 0) { Serial.print(now.year(), DEC); Serial.print('/'); if(now.month() < 10) Serial.print("0"); Serial.print(now.month(), DEC); Serial.print('/'); if(now.day() < 10) Serial.print("0"); Serial.print(now.day(), DEC); Serial.print(' '); if(now.hour() < 10) Serial.print("0"); Serial.print(now.hour(), DEC); Serial.print(':'); if(now.minute() < 10) Serial.print("0"); Serial.print(now.minute(), DEC); Serial.print(':'); if(now.second() < 10) Serial.print("0"); Serial.print(now.second(), DEC); Serial.println(); Serial.print(now.tempC(), 1); Serial.println(" degrees Celsius"); Serial.print(now.tempF(), DEC); Serial.println(" degrees Farenheit"); Serial.println(); delay(1000); if(!Serial.available()) return; //got an adjustment int adj = Serial.parseInt(); DateTime now = RTC.now(); //get the current time as an integer uint32_t t = now.unixtime(); t += adj; RTC.adjust(t); Serial.print("adjustment "); Serial.println(adj); } } --------------------------------------------------------------------------- On Thu, Mar 7, 2019 at 8:14 AM Jim Harman <j99harman@gmail.com> wrote: > For ease of programming and reasonably low power consumption I would look > into an Arduino. > >> >> -- --Jim Harman
PT
Petr Titěra
Thu, Mar 7, 2019 4:16 PM

On 07.03.2019 14:14, Jim Harman wrote:

For ease of programming and reasonably low power consumption I would look
into an Arduino.

Hello,

I can only agree. Use Ardiuno and you will have complete control about
your environment. You can even put your board into sleep between pulses.

For display I would use some cheap 16x1 display module with parallel
access or I2C module. There are libraries for both. If you would buy
something do not buy that nice looking blue displays. They are not
readable without backlight.

Petr Titera

There are libraries available to control the DS3231 and your choice of
displays. The Chronodot is a nice prototyping package for the 3231.
https://www.adafruit.com/product/255

On Wed, Mar 6, 2019 at 8:02 PM Joe Hobart nova@npgcable.com wrote:

Hello Petr and others,

Thank you for the suggestions.  I have several DS3231 modules running.  I
was
able to adjust one to 0.04 PPM fast, which is more than good enough for my
requirement of one second a month (this is at a constant temperature, but
these
RTC chips are supposed to be temperature compensated).

I can read and write the DS3231 registers with a Raspberry Pi.
Unfortunately,
the RPi kernel sends time to the RTC every 11 1/2 minutes.  This time is
usually
moderately accurate, but I have measured errors of up to 0.264 second,
which is
unacceptable.

Does anyone have suggestions for a very low power controller and display
for
this RTC integrated circuit?  The DS3231 has a 1 Hz square wave output that
could signal the controller to read and display the time and date from the
DS3231.  The controller could sleep between updates, which would conserve
batteries.

Thanks again for all the suggestions,
Joe

By the way, the manufacturer of the high accuracy marine chronometer I was
considering will not send specifications for other than 22 +/- 1 degree C.

These DS3231 modules are a complete clock

--

--Jim Harman


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

On 07.03.2019 14:14, Jim Harman wrote: > For ease of programming and reasonably low power consumption I would look > into an Arduino. Hello, I can only agree. Use Ardiuno and you will have complete control about your environment. You can even put your board into sleep between pulses. For display I would use some cheap 16x1 display module with parallel access or I2C module. There are libraries for both. If you would buy something do not buy that nice looking blue displays. They are not readable without backlight. Petr Titera > > There are libraries available to control the DS3231 and your choice of > displays. The Chronodot is a nice prototyping package for the 3231. > https://www.adafruit.com/product/255 > > On Wed, Mar 6, 2019 at 8:02 PM Joe Hobart <nova@npgcable.com> wrote: > >> Hello Petr and others, >> >> Thank you for the suggestions. I have several DS3231 modules running. I >> was >> able to adjust one to 0.04 PPM fast, which is more than good enough for my >> requirement of one second a month (this is at a constant temperature, but >> these >> RTC chips are supposed to be temperature compensated). >> >> I can read and write the DS3231 registers with a Raspberry Pi. >> Unfortunately, >> the RPi kernel sends time to the RTC every 11 1/2 minutes. This time is >> usually >> moderately accurate, but I have measured errors of up to 0.264 second, >> which is >> unacceptable. >> >> Does anyone have suggestions for a very low power controller and display >> for >> this RTC integrated circuit? The DS3231 has a 1 Hz square wave output that >> could signal the controller to read and display the time and date from the >> DS3231. The controller could sleep between updates, which would conserve >> batteries. >> >> Thanks again for all the suggestions, >> Joe >> >> By the way, the manufacturer of the high accuracy marine chronometer I was >> considering will not send specifications for other than 22 +/- 1 degree C. >> >> >> These DS3231 modules are a complete clock >> >> >> >> -- > > --Jim Harman > _______________________________________________ > time-nuts mailing list -- time-nuts@lists.febo.com > To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > and follow the instructions there. >
AG
Achim Gratz
Thu, Mar 7, 2019 6:31 PM

Joe Hobart writes:

I can read and write the DS3231 registers with a Raspberry Pi.  Unfortunately,
the RPi kernel sends time to the RTC every 11 1/2 minutes.  This time is usually
moderately accurate, but I have measured errors of up to 0.264 second, which is
unacceptable.

That's the "11 minute mode" if you want a search term.  To get rid of it
you'd need to compile your own kernel (it's a compile-time option withz
no run-time parameters).  Only the first RTC found by the kernel should
be affected, although I haven't yet confirmed this myself.  I also don't
know if the rasPi kernel uses the symlink from /dev/rtc (in which case
you could perhaps simply point it to somewhere else) or if it picks the
first RTC device that has the hctosys property set.  This does not
happen if the SYNC flag in the kernel timekeeping code is not set (but
NTP will do that).  Last but not least, if you don't use (or blacklist)
the RTC driver and instead read the chip as a simple I²C device the
kernel will also leave it alone.

Regards,
Achim.

+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables

Joe Hobart writes: > I can read and write the DS3231 registers with a Raspberry Pi. Unfortunately, > the RPi kernel sends time to the RTC every 11 1/2 minutes. This time is usually > moderately accurate, but I have measured errors of up to 0.264 second, which is > unacceptable. That's the "11 minute mode" if you want a search term. To get rid of it you'd need to compile your own kernel (it's a compile-time option withz no run-time parameters). Only the first RTC found by the kernel should be affected, although I haven't yet confirmed this myself. I also don't know if the rasPi kernel uses the symlink from /dev/rtc (in which case you could perhaps simply point it to somewhere else) or if it picks the first RTC device that has the hctosys property set. This does not happen if the SYNC flag in the kernel timekeeping code is not set (but NTP will do that). Last but not least, if you don't use (or blacklist) the RTC driver and instead read the chip as a simple I²C device the kernel will also leave it alone. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables