Start a new topic

Internal Real Time Clock (RTC) it's very inaccurate

Nextion Real Time Clock (RTC) is very inaccurate. I tested for 2 days and the clock was 5.3 seconds behind the correct time (using https://www.time.gov/ as the reference), compare to the DS3231 module (with arduino) that was only 0.2 second ahead. Both devices were kept side by side, in a closet where the temperature was very constant between 26.7°C and 27.4°C.

 

I did the test in two different occasions: one leaving both devices running only with a fresh coin battery on each device, and a second time leaving the devices powered ON the entire test (plus the coin battery). Both results were the same.

That’s 16 minutes per year, more or less depending on the temperature. Don’t you guys think is pretty bad? How much would it cost to put a decent RTC with temperature compensation?

Or do you think I got a defective unit?


RTC is an unsolvable issue, Even a DS3231 lacks precision.

This debate is already more than 3 decades old.


So when you link into a timer server such as time.gov

The RTC is then only a slave device

Even time.gov and atomic clocks have their issues (hence leap seconds).


So if syncing your device, how much it CAN BE off over a year is irrelevant

as you being the programmer can sync Nextion in user defined intervals.

Therefore never off for more than 1 second at any interval.


Because for all intense purposes, it eventually becomes a slave device

there is no need to jack the cost and hence the price for the unnecessary.


Those who want will already have such on their MCU side where it matters.

Transmissions over slow 115200 baud already corrupts accuracy.

So the discussions really become moot.


But a good learning experience by doing such experiment

 - paying attention to observations helps learn expected behaviours.

Even your Nano's oscillator of lesser quality becomes a contributor.


The pursuit of perfect time is an age old pursuit

I'd say not achievable.

"Even a DS3231 lacks precision" but 0.2 seconds ahead in 2 days it's way better than 5 seconds.


I never linked the display or arduino to any website or service. I presume most people use their RTC as a normal clock were you set the time manually.


And about perfection... no-one ask for perfection. The discussion would be how imperfect the different RTCs are. I think 16 minutes per year "imperfect" is too much, compare to a 36 seconds per year "imperfect" of the DS3231.

No it isn't.


When I sync every 5 minutes each are near negligible.

And will again be negligible in another 5 minutes.


But your imperial data: 5 minute sync

Nextion drift ~ -9.20ms

DS3231 drift ~ +0.35ms


No one is going to care about this.


Even for your more expensive DS3231 you will need adjustments

and at the moment of synchronization it too becomes a mere slave.


So standard slave or premium slave is still a slave.


When you don't sync, you have created your own time bubble

Authority of Time for yourself and perhaps those around you

But this authority is not recognized by any official time source.

ie time.gov.


And yes, every time piece is adjusted (manual, sync - still adjusted)

Precisely why the set functions are included in any RTC lib


See if you can convince the community to accept paying more for their Nextion

Perhaps 4 of the members have expressed any concerns about it in 2 years.

But not to the point where they wanted to pay additional


So it makes for fun to chat about, as long as it doesn't cost them.

Regarding the discussions of how imperfect RTCs are

   (or any time source for that matter)

This has been an ongoing discussion for decades now.


The discussion really hasn't changed over 30 years

 - you obviously are just making your discovery now

But what you discovered is far from a Eureka moment

That Eureka moment was 40 odd years ago.


Inaccuracy and adjustment of time can go back to at least 1583

when the Gregorian Calendar replaced the Julian Calendar

as the Julian was deemed to be "off" to the seasons


Yet adoption of a new standard took centuries

Greece didn't adopt the Gregorian until 1923.


Since then we have the leap year, and we have had leap seconds ever since.


The fight for a DS3231 to be the new "official RTC" will be a hard

uphill battle - especially in light of it only finally becoming a slave device

to what is deemed any "official time"


And "official time" is only regional - not recognized by another region.


So as soon as you ship your product cross regional borders, they will

deem your project inaccurate to their standard. 


Further, the Guy in Kenya doesn't really care about time

 - rather he would devote his time to enjoy his day rather than debate.


(especially about an accuracy drift of 9.2ms)

In a project where you are going to sync the time very often to the internet, your point makes perfect sense. But that was not my intention, and I doubt that most people that are going to build a clock with the display are thinking about connecting the display to arduino (or any other micro controller) and connecting to wifi so they can sync the time periodically. Most clock around us (in your home) are accurate enough that we can set the time manually ones every 1 or 2 years without a problem. I was thinking about doing that with the nextion display too. Obviously impossible, now that I know how inaccurate it is.


Auto-syncing with the internet to have a more accurate time is ideal, of course. But from what you are telling me is that is a forced/obligate thing to do if you want to use the internal RTC of the nextion display.


And about cost, I suppose it would be about for how much more quantity we are talking about. If I would pay US $2 more for a DS3231-like accuracy on the display? Yes. But US $10 more? Hmm that might be too high to justify it.


I don't agree that time is not universal. As far I know the entire world, or at least almost all, all agree on the universal GreenwichTime, that is what we use as reference. Or there are other universal times I didn't heard about?

Here is the thing.


I won't argue that a DS3231 may have less drift.

But you have to argue to the community the need to raise their cost for Nextions.


1000 DS3231 chips from one supplier already states $4.02.

Then there would be the ++ added, SH&H, taxes, blah-blah-blah.

So it is never the $4.02 is it.


But you create your own time bubble when you don't synchronize?

At this point your project is not UTC, or anyone that then sets their device according to you device.

Such as the kitchen clock, the VCR, or a Mother setting her watch before heading out.


Some members when they want will pay Adafruit the $15 + Shipping and add it into their project when required

Most members will tell you this is a requirement of your project and

   they would resent the cost of all their Nextions increasing because of your project.


But indeed in the end someone has to finally pay for.


You have a DS3231 attached to your Nano

 - so you can indeed send Nextion commands that bring it in sync with your DS3231.

So already you can adjust your project to your tastes.


The other members, will like to make their own design decisions and keep costs lower.


ALSO to note:

  When the quantity of the purchase is high enough then Itead will even discuss customizations.

But indeed not for a few units.  China's definition of "bulk" is not a dozen.


So the route is not impossible, but when someone finally has to face the costs

 - that is usually where the conversations end.

Both time deviations, the one of your Nextion and the one on your DS3231, have absolutely no argumentative value in a fact based scientific debate! You’d have to test several thousands of each to find valid average and standard deviation values. It might theoretically be that if I order a DS3231 module on Amazon and I take one of my Nextion from the shelf, that specific Nextion is more accurate than that specific DS3231 - both have production tolerances. And nobody hinders you from trimming your Nextion’s Xtal with a 8pF variable capacitor to achieve better precision.

You also have to fight with the simplicity of onboard manual adjustments


image


Such manual adjustments leave the user in control of when
   they like to adjust their RTC to what source.

And a bit of code being in the cost range of FREE
   will always oppose an increase in cost.


US $4 for each DS3231? Strange. I just searched on ebay and the lowest price is US $1.19 (from China) for the entire module, free shipping to the US. Plus taxes and extra things, it should not be as high as you mention. But in that I admit I am not sure. I don't own a factory or anything like that to know the cost of this things in bulk plus shipping, and the "blah blah blah".


Who wants to pay more for more or better features? Well, we do. We all buy the enhanced version, and pay the extra US $5, for the extra things that the basic version doesn't have. As long as there is the basic version and the enhanced version, people can choice which to buy depending on their needs. If someone is going to use the DS3231 module with arduino, they would just buy the basic version of the display to cut cost. Someone that bought the enhanced version obviously paid more for more.


So don't be too sure no-one wants to pay for better things or for more features. The enhanced version itself is the perfect example that people do pay more for better components.

Feature Request link is here.

http://support.iteadstudio.com/support/discussions/topics/11000015384


You say we, when sorry, but you represent only you.

So far 1 vote - yours, and perhaps 4 over the last 2 years.


I'll tell a story that had way more support than this.


Everyone so called cried to get a Capacitive version of Nextion.

But when the time came to show how supported by real dollars


84 supported the project given 2 months to show support.

That was less far less than 1/2 of 1% of the registered forum users.


So, in reality when a significant number of community members upvote

Then it becomes a maybe in considerations.


Sorry, but you will see how few will actually support it.  Give it 6 months.


I pulled the $4 from digikey

https://www.digikey.com/product-detail/en/maxim-integrated/DS3231S-T-R/DS3231S-T-RTR-ND/1197575


I will not play long on this one

Authentic DS3231 vs perhaps not Authentic.


No evidence that the cheapest will hold the same quality.

Thierry's argument 1000's need to be actually tested to find out.


But you just mooted your argument when quality was no longer a factor.


For the sake of unbiased argument

 - Supplier from China may also have had a better price break at 500,000 units

China "bulk" vs American "bulk"

I don't think that 1/2 of 1% of  the registered forum users voting for a change it's something to ignore. Most users are not active. Most active users don't know all features requested. Most people that know, don't care to vote. Most nextion display owners don't even register to the forum.


And how many people did really use the included RTC on the past 2 years, anyway? Most people don't even know how to use it, from what I can tell. Tutorials are hard to find or hard to understand. I searched on the internet and the only example of a clock I could find was a very basic clock that it didn't work well (the numbers didn't cycle, when setting the time). That's something it can be fixed with code, but my point is that the percent of users that use the internal RTC is very low by itself. But I think the reason is the lack of good tutorials and examples, not the lack of interest of using the RTC.


The DS3231 I used for the test cost me $1.74. I actually bought a few of them over the years and all of them are very accurate. Maybe not authentic? Could be, but still many times more accurate than the one on the nextion display.


Don't get me wrong, I love the nextion display. I love the entire nextion project so much that I've done one video tutorial on youtube, that has been quite popular for the past 3 weeks that has been on youtube. Search on youtube for "nextion arduino tutorial" and you are going to see my video on the first few of the result. My point with that is that I am working to make nextion more popular and easier for everybody to use it. I don't only complain; I try to do something to fix it.


I am working on my 2nd and 3rd video tutorial. The 3rd video it's about the RTC and the EEPROM. That's why I tested the RTC on the display. It's sad that I am going to show how to use the RTC, knowing how useless the RTC is by itself. The RTC to be useful, the user would have to connect the display to a micro-controller and a wifi module, and mess with a lot of code so the RTC can sync periodically with the internet.


Having the RTC and EEPROM on the display was suppose to free us from connecting to an external micro-controller, for particular projects that could work with the display alone. I don't see the point of including an RTC that is not useful as a stand alone device.


"Who cares if we include an EEPROM?" is what I bet many people said when arguing against changing the basic version of the display, when you guys created the enhanced version. How many common people/users voted for the EEPROM? How many voted for the RTC? How many, from the ones that voted for the RTC, knew the RTC used would be so inaccurate?