Pages

Tuesday, November 13, 2012

XBee Obituaries: XBee Returns from the Grave!

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
-USB or Serial Interface board (available from Digi or Sparkfun)
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.

  1. Connect the interface board to the computer via appropriate cable (USB or Serial) (If using Serial, connect power as well)
  2. Make sure the XBee module is NOT plugged into the interface board
  3. Open the X-CTU program and select the proper COM port.
  4. 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.
  5. Navigate to the Modem Configuration tab
  6. 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.
  7. Click on the Show Defaults button and put a check in the "Always update firmware" check box.
  8. 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.
  9. 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.
  10. Go back to the PC Settings tab and change the baud rate back to 9600 and uncheck the "No baud change" check box.
  11. 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:








57 comments:

  1. Hey,

    Guess what? It actually works!

    Thanks a lot!

    ReplyDelete
  2. This method works man...thank you very much !!

    ReplyDelete
  3. no this method doesnt worked for me...
    i m using a digi's serial madule...

    ReplyDelete
  4. it doesn't worked for me using a Sparkfun FT232R

    ReplyDelete
  5. Great job man.. this works for me ;)

    ReplyDelete
  6. YES! WORKS! You are rocking genius boy you are.

    ReplyDelete
  7. worked for me too. thnx a lot.

    ReplyDelete
  8. Soooo many thanks! I thought I killed them.

    ReplyDelete
  9. Good work man, ... thank you

    ReplyDelete
  10. didnt work for me... series 1 ... dectected baud rate difference....AAAAAAHHHH

    ReplyDelete
  11. This worked really well for me.
    Thanks so much!

    ReplyDelete
  12. dude 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?

    ReplyDelete
    Replies
    1. That would be a damaged module that is not recoverable.

      Delete
  13. works with a DiyDrones XtreemeBee serial adaptor, just short pins 5& 10 to acheive a reset

    ReplyDelete
  14. perfect! modules works again, many thanks!!

    ReplyDelete
  15. If 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
    rf-experts@digi.com

    ReplyDelete
  16. Did not work on uno with xbee shield

    ReplyDelete
  17. Is there anyway to perform this method if you are using an XBEE USB interface board that does not have a reset button?
    I have the the sparkfun board ft232r, which does not have a reset :/
    Thank you much, in advance :)

    ReplyDelete
  18. 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
  19. "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."

    Where 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?

    ReplyDelete
  20. 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?

    ReplyDelete
    Replies
    1. The module is most likely defective and will need to be replaced.

      Delete
  21. Once i place the xbee module back onto the board, the action message does not seem to go away... any ideas?

    ReplyDelete
  22. A 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?

    ReplyDelete
    Replies
    1. Normally these modules are pretty robust. They handle static very well and the most common problem is the "programming voodoo" that you refer to.

      Delete
  23. Thank 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.

    ReplyDelete
    Replies
    1. I 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.

      Delete
  24. Muito bom..... voce é o melhor!!!! obrigado

    ReplyDelete
  25. Thanks for giving such a nice post for understanding XBee and getting started with Xbee. I am doing work with XBee in lInux.

    ReplyDelete
    Replies
    1. Have you tried X-CTU in conjunction with WINE? If so, did it work properly?

      Delete
  26. worked 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.

    ReplyDelete
  27. Removed Xbee and connected Explorer and fixed baud rate as you said when clicking on "write" it is
    Still showing : "Unable to open com port"
    Is it a problem of my Explorer board or what else it can be?
    Really Need Your Help.

    ReplyDelete
  28. Thanks for giving such a nice post for understanding XBee and getting started with Xbee.

    ReplyDelete
  29. It finally works !! Thx .
    At 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.

    ReplyDelete
  30. How about an XStick that has no reset button?

    ReplyDelete
    Replies
    1. Hello. Here is a photo that shows how to modify the XStick to include a reset button.

      http://www.flickr.com/photos/23198946@N04/8758306196/in/photostream/

      Cheers.

      Delete
  31. 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...

    Huge thanx!
    I

    ReplyDelete
    Replies
    1. Forgot to give this link: http://www.digi.com/support/kbase/kbaseresultdetl?id=3402
      A really good complement to this guide.

      Delete
  32. Dear All,
    This 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

    ReplyDelete
  33. 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?

    ReplyDelete
  34. XBEE Saved Thanks!!!
    ...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.

    ReplyDelete
  35. 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..?!

    ReplyDelete
    Replies
    1. I have the same problem! I followed the instructions exactly, but the second box doesn't go away. Any help would be great

      Delete
    2. There is a good chance that your modules are dead at this point.
      However, 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

      Delete
  36. To all of those that are having issue with this method. I had the same issue, and here is how it works.:

    1- 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

    ReplyDelete
  37. i am able to write but when i read the modem, i still get the same problem

    ReplyDelete
    Replies
    1. Which 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.

      Try this: http://www.digi.com/support/kbase/kbaseresultdetl?id=3418

      Delete
  38. 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...

    ReplyDelete
  39. You Sir (or Lady) are a hero. May your pillow forever hold its cool side at an optimum temperature.

    ReplyDelete
    Replies
    1. You are most kind. That is the greatest compliment anyone has ever given me.
      May your pillow also forever hold its cool side at an optimum temperature.

      Delete
  40. Great Tutorial!!!
    It really works,!!

    ReplyDelete
  41. xbee kai antkar main pravesh kar kai bhi jatan kar liye hain....is kai vishal vishvdant main 5v pravaha kar rahay hain....

    ReplyDelete
  42. I 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.

    ReplyDelete
  43. 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.
    Good luck!

    ReplyDelete