Ray, Jeffrey, et al.,

The clock chip supplied with the kit is a DS1307. The DS1307 drift rate of a minute per month works out to 2 seconds per day. That level of error is easily observed toward the end of a 24 hour refresh period from the WWVB chip.

The daily drift of a DS3231SN chip with its temperature-compensated oscillator will be on the order of 50 to 75 milliseconds. Other advantages of the DS3231 are an alarm capability, processor interrupt capability and a 1 PPS output.

The Arduino code need not be changed to upgrade to a DS3231. The register structure of the DS3231 is a super-set of the DS1307.

Regards,
Peter


On 3/14/2021 12:10 PM, rcb...@atcelectronics.com wrote:
Jeffry,

Yes, the sync once per day is due to the Arduino software. The ES100
needs to be told when to start receiving the WWVB signal and when to go
to sleep. You can modify the software to change the time and number of
syncs per day. I would suggest you change it to 2am CA time. The daily
sync is used to update the RTC (DS3231) that is on the board. The clock
gets the time from the DS3231. I really try to avoid Arduino code so I
can't tell you where the code needs to be modified. The 8pm you see
corresponds to midnight UTC. Since DST started today your clock should
update around 7pm tonight depending on WWVB signal strength at your
location.

The sync will happen each time the module is powered up. It usually
takes about 3 minutes at my location in Phoenix.

In the Arduino .ino file the interrupt count is updated every time the
ES100 generates an interrupt. The interrupt code also makes an
adjustment to the milliseconds variable value.

There is a millis() function somewhere that updates the milliseconds
value. I have looked and can't find that function in any of the code
supplied with the kit. It may be in the Time library but I haven't
looked there. The milliseconds value is used to calculate the time when
a valid data string is received from the ES100.

There is a note in the ES100.h file that says this: "// This hold the
millis() when the interrupt occured, will be useful in the user code to
handle the second boundary. New valid data should be handled within
65536 milli seconds, after that the variable will overflow and the user
won't be able to calculate the right second boundary."

Daylight savings time started at 2 AM this morning. The "NDST 11/07
02:00" means daylight savings time ends at 2am on 11/07, first Sunday in
November. "(N)o (D)aylight (S)avings (T)ime".

Ray, AB7HE

_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe send an 
email to time-nuts-le...@lists.febo.com
To unsubscribe, go to and follow the instructions there.

Reply via email to