XBee: Deceased......or so I thought
You spent hours configuring these modules to work together, trying to get data from sensors or
other I/O devices back to your computer and parsed out as useful information. You decide you don't like the current XBee modules firmware and have seen other versions available that are newer and offer more functionality. You download the new version and then go to flash it to the XBee and BAM!, the module dies.....or so you thought.
Good news. The module can be recovered.....well, most the time. There are cases when the module really is dead.
But let's look a look at a few methods used to recover a "DEAD" module.
Required Hardware and Software
Software:
-X-CTU Version 5.2.7.5(Make sure you choose the option to check the website for updates. This will make sure you have the latest versions of the firmware available for you to write to the modules)
-Applicable USB drivers (if using a USB interface board)
(Drivers can be found on at the following web page: XStream USB drivers)
Hardware:
-"Dead" XBee module
note: Digi interface boards are more expensive, but take out the X-factor due to the "known to work" status. I would suggest the USB interface board from Digi. It was the easiest to work with. It's part number is XBIB-U and can be purchased from distributors such as DigiKey, Mouser and directly from Digi, which requires you to call a sales rep.
-USB or Serial Cable
Module Recovery
At this point, you should have all the hardware ready to go. The software should be installed and up-to-date.
- Connect the interface board to the computer via appropriate cable (USB or Serial) (If using Serial, connect power as well)
- Make sure the XBee module is NOT plugged into the interface board
- Open the X-CTU program and select the proper COM port.
- The first screen you see in on the PC Settings tab. On this tab please change the baud rate to 38400 and put a check in the "No Baud Change" check box.
- Navigate to the Modem Configuration tab
- Select the proper modem type, function set and firmware version from the 3 drop down menus located about 1/3 of the way from the top of the window.
- Click on the Show Defaults button and put a check in the "Always update firmware" check box.
- Click on Write. (Yes, the module is NOT plugged in) An Action Required box will appear. This is good. When this happens, hold in the config/reset switch on the interface board and CAREFULLY plug in the module and then release the config/reset button.
- You should now see that box disappear and a progress bar will appear along the bottom of the window. You will see the bar progress and then the box will appear again. This is good. Just hold in the reset switch on the interface board for about 1-2 seconds and then release. The box will disappear and the status at the bottom of the window will show that the write was complete.
- Go back to the PC Settings tab and change the baud rate back to 9600 and uncheck the "No baud change" check box.
- Click the "Test/Query" button. You should get a clean bill of health.
*Note: There may be times when this process fails. Sometimes simply using a different computer with the afore mentioned tools yields success.
Personally, I have found this process to be the most successful at recovering modules.
Please let me know if any of you have had other experience with recovering modules. This is a blog all about using and understanding these radios that can be quite useful.
**If you are trying to recover an XStick, you will need to make a modification. This will void the warranty, however.
You can add a reset button as shown in the picture below:
**If you are trying to recover an XStick, you will need to make a modification. This will void the warranty, however.
You can add a reset button as shown in the picture below:
Hey,
ReplyDeleteGuess what? It actually works!
Thanks a lot!
This method works man...thank you very much !!
ReplyDeleteno this method doesnt worked for me...
ReplyDeletei m using a digi's serial madule...
it doesn't worked for me using a Sparkfun FT232R
ReplyDeleteGreat job man.. this works for me ;)
ReplyDeleteYES! WORKS! You are rocking genius boy you are.
ReplyDeleteworked for me too. thnx a lot.
ReplyDeleteSoooo many thanks! I thought I killed them.
ReplyDeleteGood work man, ... thank you
ReplyDeletedidnt work for me... series 1 ... dectected baud rate difference....AAAAAAHHHH
ReplyDeleteThis worked really well for me.
ReplyDeleteThanks so much!
This really worked! Thanks!
ReplyDeletedude i follow each n every steps...everthing is good till i plug the module n box disappeard. den after dat Xbee module keep heating up n der is no progress in bar and Xctu SW got hang..but the Rx led keep on blinking tru the time.. how much time it taks to complete write.. and why Xbee module heating up so much?
ReplyDeleteThat would be a damaged module that is not recoverable.
Deleteworks with a DiyDrones XtreemeBee serial adaptor, just short pins 5& 10 to acheive a reset
ReplyDeleteperfect! modules works again, many thanks!!
ReplyDeleteIf the modules are heating up, this isn't going to fix that. That is a hardware problem and you should probably contact Digi tech support
ReplyDeleterf-experts@digi.com
Did not work on uno with xbee shield
ReplyDeleteIs there anyway to perform this method if you are using an XBEE USB interface board that does not have a reset button?
ReplyDeleteI have the the sparkfun board ft232r, which does not have a reset :/
Thank you much, in advance :)
Yes. You can tie the reset pin of the XBee radio (Pin 5) to ground for at least 200ms it will issue the reset.
ReplyDelete"Click on Write. (Yes, the module is NOT plugged in) An Action Required box will appear. This is good. When this happens, hold in the config/reset switch on the interface board and CAREFULLY plug in the module and then release the config/reset button."
ReplyDeleteWhere is the config/reset switch on the interface board? Is this on the APM and if so which of the two buttons is the right 1?
When i insert the XBee-PRO RF Module Whip Antenna S1 (http://www.buildyourowndrone.co.uk/XBee-PRO-RF-Module-Whip-Antenna-S1-p/xbee-whip.htm) on to the XtreamBee USB Adapter Board (http://www.buildyourowndrone.co.uk/XtreamBee-USB-Adapter-p/tel-xbeeusb.htm), the USB XtreamBee OVERHEATS. Also despite that i reset the board the 'Action Required' Dialog Box doesn't close. What may be the problem?
ReplyDeleteThe module is most likely defective and will need to be replaced.
DeleteOnce i place the xbee module back onto the board, the action message does not seem to go away... any ideas?
ReplyDeleteIt sounds like a dead module.
DeleteA colleague used the technique to recover a couple modules. Thanks. I am concerned that these modules can become ZomBees at all. I would have expected some very rigorous self protection. Can they be relied upon when in normal operation? Do they succumb only to reprogramming voodoo?
ReplyDeleteNormally these modules are pretty robust. They handle static very well and the most common problem is the "programming voodoo" that you refer to.
DeleteThank you! This set of instructions worked perfectly for me. Other similar instructions on the Internet for resetting XBee firmware have missed some of the details listed here. I am using XBee Series 2 (modem type: XB24-B; Zigbee Mesh) bought from SparkFun.
ReplyDeleteI should also mention that I am using an Adafruit XBee adapter board. I soldered a push-button switch onto the RST & GND lines to make the above work.
DeleteMuito bom..... voce é o melhor!!!! obrigado
ReplyDeleteThanks for giving such a nice post for understanding XBee and getting started with Xbee. I am doing work with XBee in lInux.
ReplyDeleteHave you tried X-CTU in conjunction with WINE? If so, did it work properly?
Deleteworked for one of two modules. 50% is better then none. I do agree though that there should be a better solution to this problem. I the last thing that I did before they went down was set it to router sensor under the function set. It would be nice if there was restore defaults pin.
ReplyDeleteRemoved Xbee and connected Explorer and fixed baud rate as you said when clicking on "write" it is
ReplyDeleteStill showing : "Unable to open com port"
Is it a problem of my Explorer board or what else it can be?
Really Need Your Help.
Thanks for giving such a nice post for understanding XBee and getting started with Xbee.
ReplyDeleteIt finally works !! Thx .
ReplyDeleteAt first, we tried this instruction in win7 and it freezed after the second popup window. However, it works in win xp !!!!!! You are right. Sometimes, changing the pc really helps. Keep in mind that install different xcpu version for winXP.
How about an XStick that has no reset button?
ReplyDeleteHello. Here is a photo that shows how to modify the XStick to include a reset button.
Deletehttp://www.flickr.com/photos/23198946@N04/8758306196/in/photostream/
Cheers.
What a miracle! Following this guide after 'optimizing' my serial port settings brought two bricked, brand new, Xbee series1 back to life. They got bricked during a simple firmware update and I've been struggling for two days trying almost every trick on the net...
ReplyDeleteHuge thanx!
I
Forgot to give this link: http://www.digi.com/support/kbase/kbaseresultdetl?id=3402
DeleteA really good complement to this guide.
Dear All,
ReplyDeleteThis guide works.
I have a Sparkfun USB Explorer (where I have applied a reset button) + XBEE PRO S1.
I have done many tries on my machine with Windows Server 2008 without success (I guess same results on Windows 7).
I tried on XP machine and now I have recovered my XBEE ( I wasted much time but the important it's now ok).
Thanks to all.
AM
Hi. I've got a a pair of brand new xbees and a xtream bee usb board. One of them is working perfectly, but when I plug in the other one the red led comes on and stays. No way to communicate with pc. I tried everything to fix but no luck. Does anyone have an idea?
ReplyDeleteXBEE Saved Thanks!!!
ReplyDelete...after many tries and just about to send an RMA request. History:
1. No Modem connection in X-CTU/PC-Settings
2. Tried other fixes but only could get to errors:
Getting modem type....Programming modem...Flash checksum error failed
Found bootloader active reprogramming firmware.
Write Parameters...Failed
3. Wrote but didn't send an RMA request.
4. Found your procedure and restored all defaults. WOW!
Used an XBEE Explorer with pins soldered to GND and RES. Used a female to female jumper to short the pins. The firmware loaded but not the values after 2 sec shorting. So I loaded the stored default profile that I fortunately saved and tried a write. This worked fine and the XBEE was restored.
I did all the steps and it works until I saw the progress bar and the box appeared again....then I pushed the reset button from 1 to 2 seconds but the box doesn't disappear..?!
ReplyDeleteI have the same problem! I followed the instructions exactly, but the second box doesn't go away. Any help would be great
DeleteThere is a good chance that your modules are dead at this point.
DeleteHowever, if you are using an FTDI USB to Serial converter, you might try the following method 1st, then the recovery method.
http://www.digi.com/support/kbase/kbaseresultdetl?id=3418
To all of those that are having issue with this method. I had the same issue, and here is how it works.:
ReplyDelete1- Change Baud rate back to default (9600)
2-check "Enable API"
3-check "No Baud Change"
4- then follow the instruction above, and reset the box, it should work
The reason is in some of the versions, if the firmware is curropted it'll flag the device as API, if your device is an API and you don't check the Enable API option, by default you'll miss the comm port
i am able to write but when i read the modem, i still get the same problem
ReplyDeleteWhich radio do you have? Some of the newer XBee radios have a new micro that can be a bit tempermental when dealing with FTDI chips. The solution to this is to change some FTDI driver settings.
DeleteTry this: http://www.digi.com/support/kbase/kbaseresultdetl?id=3418
That FTDI settings thing is absolutely key - I tried various the other procedure on the net but for me (Win7, XB24, Sparkfun USB board and a bit of wire to reset the XBee) ONLY setting the FTDI driver as indicated and then doing this recovery procedure worked. I'm never going to update the XBee firmware ever again...
ReplyDeleteYou Sir (or Lady) are a hero. May your pillow forever hold its cool side at an optimum temperature.
ReplyDeleteYou are most kind. That is the greatest compliment anyone has ever given me.
DeleteMay your pillow also forever hold its cool side at an optimum temperature.
Great Tutorial!!!
ReplyDeleteIt really works,!!
xbee kai antkar main pravesh kar kai bhi jatan kar liye hain....is kai vishal vishvdant main 5v pravaha kar rahay hain....
ReplyDeleteI am using Xbee Pro S2B and I get the same error 'unable to connect to the modem'. I followed these steps but they didn't work. Please help me.
ReplyDeleteyipie work for me
ReplyDeletegreat job
I tried so many times to no avail. But then I tried "Enable SPI" advised by a previous reader and it works! Also not that it did not work on my PC, but works on my laptop, so if you fail, you may want to change to another computer. I am using the Funduino board that doesn't have a reset button, so I solder 2 pieces of wire to pin 5 & 10 of the xbee, and connect them to have the effect of pressing the Reset button.
ReplyDeleteGood luck!