Sleeping Xbee Rx/Tx problem


I have one xbee digimesh with a sensor sending data to another Xbee digimesh every 5 minutes in cyclic sleep mode. Everything is working ok, the xbees wake up, the 1st grabs a measure from ADC, send it to the 2nd xbee and all get back to sleep. I have a led attached to pin 13 so i can see the sleep/wake process.

Next, i have made a modification on the 1st xbee: i attached the sensor to arduino, wired TX/Rx from arduino to xbee Rx/Tx and send data using serialdata(). I use a 15K/10K voltage divider to safely connect pins between arduino (5V) and xbee (3,3V).
First i disabled sleep mode and the messages from the 1st xbee are sent to the 2nd xbee, so everything ok. Then i enabled cyclic sleep, but instead of sleep/wake every 5 minutes, the sleep/wake led turns on and off randomly, about 10 seconds every time, and i cannot receive any message on the second xbee.

After several attempts, i discovered if i disconnect th Rx wire from the xbee, the xbee sleeps 5 minutes… it seems that Rx pin is waking the xbee every 10 seconds, is that possible?


No that is not possible. But it may have taken a while for them to Sync back up.

Hum… i don’t think is a sync problem, because as soon as i remove Rx pin it sleeps ok, if i put Rx pin back, sleep stops working.
Could it be any kind of protection that keeps rebooting the xbee board?


The XBee goes to sleep once it has completed its current task. If there’s somehow incoming data on the XBee’s Rx pin (that is, if your Arduino transmits some data via its Tx pin, or if the connection to the XBee’s Rx pin is noisy), maybe the XBee thinks there’s an incoming frame that needs handling and therefore doesn’t enter sleep mode. The frame may be invalid, but the XBee doesn’t know that to begin with.