This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE Mesh Time Synchronization

My goal is to synchronize the clocks of several nodes in a mesh network. I would like the client node to distribute the current time to all the server nodes in the network. Would broadcasting a time-stamp from the client be a solution? The client should afterwards expect an acknowledge from all servers within a given time-frame. I realize this will probably be a very poor form of synchronization, but I don't know exactly how awful it is.

Is there any functionality for this purpose in the 0.10-alpha SDK or elsewhere? I would assume something performing the synchronization at a lower layer in the stack.

Parents
  • Hi,

    We do not have a global clock implemented but it is on the roadmap.

    You can implement the time synchronization the way you suggest. Be aware that the clock will drift and you should set a new global time with some regular interval depending on the desired accuracy. The drift of the 32MHz crystal is typically 20ppm.

    We recommend that you only broadcast your time to the closest neighbours as relaying the time can lead to lost accuracy.

    Ketil

Reply
  • Hi,

    We do not have a global clock implemented but it is on the roadmap.

    You can implement the time synchronization the way you suggest. Be aware that the clock will drift and you should set a new global time with some regular interval depending on the desired accuracy. The drift of the 32MHz crystal is typically 20ppm.

    We recommend that you only broadcast your time to the closest neighbours as relaying the time can lead to lost accuracy.

    Ketil

Children
Related