Time Synchronization, How to Orchestrate with RIIM?

Out of all the cool features we can discuss about RIIM today, we have chosen to present one of the most requested (hence beneficial) features in RIIM, Time Synchronization!

Assume you are in charge of a smart irrigation network, and because you have been listening closely to Radiocrafts’ webinars, you chose to implement a mesh network, let’s say, RIIM. Now, let’s assume that in your network, it is crucial that irrigation starts at a certain time in a specific part of the field (Challenge number 1). It is also very important that it simultaneously ends at another part of the field, to avoid water-pressure dropping the pipes (challenge number 2).

Challenge number 1, how to send a “start irrigation” command at an exact time? You can of course do it manually, which might mean you have to be awake at unpleasant times of the day, like the time when the sun rises in summer for example, that’s usually a good time to start irrigation. You can also add an MCU to your deployed smart irrigation device and implement some sort of intelligence there to be aware of the time. But the question is, are you sure you want to add more battery-consuming circuitry in your battery-operated devices?

Another possible solution would be to send the command from the server/control node at that desired time, but still, with mesh networks there might be some delays especially with nodes far away from the gateway/border router. Let’s think more, maybe there is another solution! For example, can we add a GPS module next to the RIIM RF module? Well, yes, we can, but are you sure you want to add €5 extra on each node?

The only good solution I can see here, is that the RIIM nodes themselves should be aware of the time. This way, through our ICI interface, you can use a few lines of C-code to implement events which are triggered at certain pre-set times! I can hear you saying, “But how would RIIM nodes get time information??” Good question! In RIIM’s new SDK 1.3, a RIIM node will be able to receive timing information from any server you choose!


How it works is that the Border Router receives timing information, then through the inherent synchronization of TSCH, it passes on this timing information to all child nodes. The real power of orchestration here, comes from the fact that RIIM nodes will not only be synchronized with the Border Router, they will also be synchronized with themselves! Which solves challenge 2 from the problem above, how can I ensure that irrigation stops in a certain part before it starts at another.

All you have to do to test this time sync functionality is to go to www.digikey.com or to your local distributor, order a development kit, upload the “Clock Example” ICI application, and feel the power of orchestration yourself!

Leave a Comment