What are the timing requirements around pin sleep on the S2C Xbee modules?

If I have an S2C that has joined a network as an end device, and it’s parent has buffered data waiting to transmit, how long do I need to de-assert the ‘SLEEP_REQ’ line to give the S2C time to wake up and complete a single poll back to the parent?

I’m monitoring the CTS line as well, so I could also start my timer once CTS is de-asserted and the S2C is awake, but again I don’t know how long it needs.

If I hold the SLEEP_REQ pin for 250ms every 5s, I can always retrieve a transmitted message in < 5s (on the first polling attempt).

If I hold the SLEEP_REQ pin for 25ms every 5s, I typically don’t retrieve a transmitted message for 10-20s (it doesn’t seem to be grabbing the message on the first polling attempt). It does seem to always get the message eventually (as long as we don’t hit the buffering timeout at 1.2SP)

In our application I really need to reliably know if a new message arrived sometime in the last sleep cycle when we spend the power to wake up. At the same time, I don’t want to stay awake polling longer then I need to because power consumption is a concern.


That is dependent on your Poll Rate (PO) command value. The default is 100ms. So I would recommend at least 150ms.