Can the association maintained during pin sleep mode of longer than ~5sec?

I’m working on a project that transmits measured temperature and humidity wirelessly through a pair of Xbee’s.

Xbee S2 C is connected to PC as a coordinator.
Xbee S2 E is connected to ATMEGA328P as an end device. ATMEGA328P samples the temperature and humidity and send the data through Xbee E.

Xbee E, ATMEGA328P, and the sensor will be running on a battery, so I want to minimize the quiescent power consumption.

After Xbee E transmits the data one time, it goes into pin sleep mode (SM=1) by asserting sleep request pin from ATMEGA328P.

The problem starts here.
If I wake Xbee E in about less than 5 seconds, the network is still alive and the data can be sent right after the wake-up (seems like 13.2ms wake-up time is right as per the user manual). However, if I wake Xbee E after sleep of longer than 5 seconds, the network association seems to be lost and Xbee E tries the association from the beginning, which takes 10-15 seconds. This is too long for battery-based operation.

I tried to change related controls (SC, SD, …), but couldn’t see any change.
I would appreciate any advice.
Thank you.

No that is correct. That is part of long sleep times is having to deal with re-association on a zigbee network.

If this is a simple point to multi-point or point to point network, try using the XBee 802.15.4 modules and related code instead. Since there is no association needed, it works well in long sleep cycle applications.

1 Like

Thanks for your clear answer. I would try 802.15.4 modules.

You need to check the SP and SN parameters on the Coordinator.

SP on the Coordinator needs to be as long as the sleep time on the End Device. If the parent does not receive communication from the child device within SP amount of time, it will remove the child device from its network table.

1 Like

Thanks, DystopianFerret.
Changing SP works great. (It should be SP in the coordinator indeed.)
Actually the association time can be extended up to 21.2 hours by setting SP=0xAF0, SN=0xFFFF! (maximum)