Say you have a mesh network of sensors that measure something like ambient temperature. The nodes are out of range of the base station; however, there happens to be one intermediate node close enough that can relay their messages to the base. These sensors sample the temperature say every 30min (however they're not in sync) so ideally to conserve energy we'd like to put them in a lower power state the rest of the time. The problem is, if that one intermediate node isn't on then the rest of the nodes messages will either be lost or they'll have to stay on until the intermediate node turns on to sample temperature at which point it could relay other sensors messages if they resend their message before it goes back to sleep.


Is there some way a node could send out a beacon that excites a component, tuned to a certain frequency, on the other sensors (would this be a tuned antenna?) attached to a wake up interrupt line. This would enable an out of range sensor to wake up the intermediate sensor.


2 Answers 2


Here's how I'd do it...

The base station sends out a message at a regular interval. The message is something like: Give me all of your data, and I will send the next message in N minutes.

Once everything is up and running, each node knows when the next message is going to happen and thus can go to sleep until then. Ideally, the node would wake up just before the message is sent, and stay awake until all the nodes have responded.

Of course this causes some issues, especially if a node has not received the first message from the base station. So it works like this... When a node powers up it is always on, waiting for that first message. Once it gets a message it can go to sleep until the next message. If it wakes up and doesn't get a message it will remain powered up until it does. In this way it will always sync up to the base station.

Another issue is that the clock in the base station and the clock in the node will drift. The node needs to predict that and wake up a little bit early. How early depends on how sophisticated you want to be. You could just have it wake up a fixed amount (like 1 minute) early. Or you could have the node measure the drift between the two clocks and calculate the proper amount. I'd start off with a simple fixed amount.

And just to make things more robust, when a node returns the current temperature it should also return the current node status (battery level, etc.) as well as how long it has been on waiting for a message. In this way the base station can spot RF issues with different nodes so they can be addressed.

You'd have to experiment, but it might make sense to change the message rate from 30 minutes to 15 or even 5 minutes. You have to balance the increased power consumption from the more frequent poll rate vs. the power consumption from a node waiting for a full 30 minutes waiting for it's first message.

  • \$\begingroup\$ +1 my understanding is timed sleeping like this is how pagers can run so long on a single AA cell. \$\endgroup\$
    – Theran
    Nov 21, 2011 at 20:09
  • \$\begingroup\$ You will also need to add in some sort of back-off algorithm so that when the base station says "give me all your data" all of your nodes don't respond at the exact same time. \$\endgroup\$
    – Kellenjb
    Nov 21, 2011 at 20:34
  • \$\begingroup\$ @Kellenjb Yes, but that's part of the mesh network protocol. I was only bothering with the part about power savings and wake-up. I guess I should have been a little more clear. \$\endgroup\$
    – user3624
    Nov 21, 2011 at 20:52
  • \$\begingroup\$ @DavidKessner You have a great answer, just wanted to add that bit in to make sure it was clear. \$\endgroup\$
    – Kellenjb
    Nov 21, 2011 at 21:26

The problem with looking at just a single frequency for activity is that you can have other people using the same band as you and could be waking you up a lot. So in order to get around this you have to have some sort of preamble that the receiver can check to see if it matches what you are expecting. The best option I know of to do this is the CC430 which includes built-in WOR.

TI also has a document that explains how the CC430 can be used in a mesh network.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.