Particle Boron clock question

Hi,

Does the particle boron set it’s time using the cellular system time via AT command, or over the internet?

https://docs.particle.io/reference/device-os/firmware/boron/#time reports:
“The device synchronizes time with the Particle Device Cloud during the handshake.”

If this is over the internet, is there a way to call the clock AT command (section 5.7 in https://www.u-blox.com/en/docs/UBX-17003787) to set the time instead?

I’m looking at an application where I need to synchronize time precisely across multiple devices, and I’d rather not have to include a GPS receiver just to get a clock reference that isn’t subject to internet latency, or find a different option than particle.

All devices synchronize the time over their cloud connection, CoAP over DTLS for cellular devices. The time is only approximate, and does not take into account connection latency.

If you need a high-accuracy real-time clock you’ll need to add an external one, because the real-time counter on the nRF52 is not particularly accurate.

Thanks!

I was planning on adding a separate RTC anyways.

Is there a way to call the clock AT command so I can get time from the phone system?

Yes, you can use Cellular.command() to get the time from the cellular tower by sending the AT+CCLK command to the modem. That also is not latency adjusted, and only has a resolution of 1 second.

You also could use NTP (network time protocol) over UDP which does take into account packet latency to get to a few millisecond resolution.

does the time you get with the AT command take into account the local time zone or is it UTC only?

It’s local time with a timezone offset in 15 minute increments, so the timezone is a weird -96 to +96 value but it can easily be mapped to something more common, or UTC.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.