Application Notes

Sleepy MeshUltra-low-power Mesh Routing

In many environments it is necessary for the nodes to be powered by batteries, in which case power consumption can be a significant problem. If a node is constantly active ("talking" and "listening"), two AA batteries will be capable of powering it for only a couple of days.

This is simply not acceptable in terms of resource requirements (someone changing the batteries) and expense (batteries aren't cheap) for the vast majority of installations, especially in the case of networks involving hundreds or thousands of wireless nodes.

The solution is for the nodes to alternate between being "awake" for a short amount of time and then entering a "sleep" mode in which they consume dramatically less power. First consider a SNAP network in its "wide-awake" mode (Figure 1).

Figure 1. A SNAP "sleepy mesh" in its "wide awake" mode.(This is a simplified view - a SNAP network can comprise thousands of nodes.)

Observe that Synapse SNAP End Devices support peer-to-peer communication, which means that they form the mesh network themselves without requiring special Router nodes.

Now, traditional mesh networks find it difficult to fully-implement a network-wide sleep scenario. By comparison, the nodes forming a SNAP network can easily be configured to implement a "sleepy mesh" in which all of the nodes go to sleep at the same time (Figure 2).

Figure 2. A SNAP "sleepy mesh" in its sleep mode.

The power savings provided by sleepy nodes in a sleepy mesh can be truly amazing - in fact, each node's battery life can be extended up to the shelf life of the battery!

Developing Sleepy Mesh... Applications: The Sleepy Template

An application note has been added to the Synapse Customer Forum that expands upon topics covered in this article. We provide guidelines and samples to aid you in creating your own custom Sleepy Mesh...applications. The full SNAPpy and Python source code to all the example scripts is included as an Appendix, and is also available in the companion ZIP file.