Not responding XBee 868 SX after bad profile applied

I use XBee 868 SX.

During a modification to a saved profile, I think I broke something because if I apply this profile to some modules, they stop to answer.
XCTU don’t see them anymore.

The popup saying “reset in progress” appears, then asking me to push reset button.
As soon as I press it, the popup disappears and the “device not found” appears. So there’s something that detected my press.

Also, the recovery tool works and new firmware can be flashed successfully.
However, I still can not connect.

When I follow this procedure with legacy X-CTU :
I get the error “Unable to programm module. Incompatible function set selected for current module”.

How to unbrick my module ?


I would suggest forcing command mode by holding the DI line low and reset the module. Then release the DI line. You will see an OK. At the OK, issue an ATRE, WR, CN. That will restore it to defaults, write it to flash and exit command mode.


I later noticed that the DIO line passing was working a few seconds after the reset.
Serial communication didn’t worked in either direction.

So the module was not completely bricked.

I also tried to force DI line low during reset, but I didn’t managed to get it work : it has exactly the same behavior as if DIN was not pulled down (only IO line passing worked a few seconds).

However, I’ve found the problem : my modification to the profile was to replace all internal pull-ups by pull-downs.

This caused the module to enter SPI mode rather than UART. And the module seems to freeze after a few seconds if DIO17/SPI_SSEL is continuously held low.

However, the module worked fine if SPI_SSEL was held high during bootup. Thanks to this, I could reconfigure it.

In a nutshell, don’t activate pull-down on SPI lines !