Using digi-mesh to synchronize nodes

Hello developers,

currently I try to synchronize a mesh consisting of xBee-Series2 Zigbee modules and modified arduino minis. I stuck at the time-synchronization because Zigbee doesn’t provide any algorithm by default.

Now I was thinking about using Series1 modules and DigiMesh. Does anybody now how accuratly the modules are synchronized when synchronized sleep mode is enabled.

I know this all depends on how often the nodes wake up. So lets say I want to wake up the nodes every 28 seconds. How long is the minimum wake-time then?

Does somebody now a good solution to synchronize around 10 nodes in a Outdoor Range of 200 meter to a accuracy of 1-10ms?

Thanks everybody in advance!

I can tell you that you are not going to find anything that is going to have that type of accuracy. I think the closes you can do is 500ms with a shorter sleep time but that is also dependent upon the total number of hops you need as well.

Thanks for your answer. I read multiple articles and found some existing solutions that improve accuracy to below 1ms. However, they all use low level access to timestamp messages. I know that I can’t to this with zigbee…

Did someone measure the sleep offset of synchronized digimesh xbees? I know that they use low level implementation of TPSN, which is very accurate according to couple papers.

500ms would be super easy to acchive, because the transmit time is usually already below that value. However I need better accuracy for my application.

I did some quick testing with a module I have and XCTU. With a 28 second sleep time, the wake time for a 7 hop network would need to be 1000ms or 1 second.

Thanks. 1 second in 28 couldn’t be battery powered for long term. So this is no option for me. However I am still currios how good the xbees wake up at the same time. I’m really interested in the offset.

Hi everyone,

just wanted to update, that I’m able to get a accuracy of 2ms between each hop with xbee zigbee series 2 modules. Synchronization between end-points and Routers is in order of 0.5ms. I did this all in the application layer.

All I need is 2 Routers and 10 end devices. This gives me an accuracy of 2*2ms + 0.5ms = 4.5ms from coordinator to last end device. For my application enough. For better results you need to have a deep insight to the mac-level I guess.