XBee 3 locks up when xbee.transmit() is called

I have a prototype using an XBee3 (zigbee function set) which frequently locks up when xbee.transmit() is called.

We’ve been able to see the problem while the MicroPython terminal is connected, and xbee.transmit() just never returns. We’ve waited 10+ minutes, even though the docs say there should always be a timeout of some sort. After restarting at the terminal, the XBee immediately receives packets that were sent while it was frozen.

Is there a way to force xbee.transmit() to always have a timeout?

The xbee.transmit function is a blocking function. Try putting it into a loop where the AI is checked.

I got access to the problem device again today, and found that the bug went away after updating to the latest FW from Digi. Another lesson in keeping things updated…