One way to Restore a bricked xBee

I was able to restore my bricked xBee by following these instructions. Hope this helps!!

Using the sparkfun USB explorer board.
1. Take the module out of the interface board.
2. Connect the interface board to the computer.
3. Open X-CTU make sure Baud Rate is set to 9600
4. Go to "Modem Configuration"
5. Put a check in the "Always update firmware" box
6. Select proper modem from drop down menu,
7. Select proper function set and firmware version
from drop down menus.
8. Click on the "Write" button. After a few seconds of
trying to read the modem, you will get an Info box
that says Action Needed. At this point, CAREFULLY
insert the module into the interface board.
9. You may get the info box again a short while after,
just use the reset button on the interface board.

This should get you back up and running.
It may take more than one try to get it to work, but mine worked the first time.

The original problem was that some how a glitch corrupped the xBee so it wouldn't respond to the "AT" commands.

Let me know if this works for anyone else.


Views: 14941

Comment by DougB on July 17, 2009 at 10:15am
Update: I've now bricked and recovered my xBee three times. The problem occurs when powering up the system with power, ground and signal lines connected to the xBee. If I power up the system with just power and ground then wait a few seconds and connect the signal line everything works fine. I'm running off an ESC so I'm going to try a different ESC and see what happens. Whats nice is being able to recover the xBee, that saves a lot of money, all though I had already ordered a new one. This seems to also mirror Peter's experience.

Comment by Tom in NOVA on July 17, 2009 at 10:19am
Wonder if in the software you can disable the signal line for a few seconds at boot up.

Comment by Thomas J Coyle III on July 17, 2009 at 10:19am

Nice work!

Comment by DougB on July 17, 2009 at 10:37am

On step nine, if you have the sparfun board it does not have a reset button, my mistake, you can accomplish the same by using the reset pin on the xBee, I haven't had to use step nine yet.


Comment by Jordi Muñoz on July 17, 2009 at 11:32am
Doug can you tell exactly what board are you using? Could be any board? I mean i have four 900mhz and 2.4G boards "dead".

Comment by Mark Colwell on July 17, 2009 at 12:23pm
I am using the Sf FTDI with Adafruit's Xbee board and have been successful many times. I just didn't think of this as a"Brick" as it was simple to restore to factory settings, I suspected power before signal issue, but didn't explore it further, the TX & RX pins could be shortened by 2-3 mm so power actives first on longer pins, I heat up solder on these pins and carefully push then deeper in to hole, let the heat do the work, but don't take too long just enough to melt header slightly and release pin. Or just cut off with side cutters, but dress tip with a file or sand paper to remove burrs, your choice.
Comment by Peter Meister on July 17, 2009 at 12:39pm

The steps above are accurate. But you must do the following - no matter how you bricked them.

Follow the above rules, most definately make sure always update firmware is checked.

In the modem settings, no matter what you think your last modem setting was make sure its set to 9600 baud.

Go to the modem configuration, select proper mode, proper function set(should be default one that pops up when you choose modem) then for the firmware version, leave it on the default that comes up. If you try to modify to another firmware the write process will fail. You need to start with the default firmware, then once that succesfully writes. File download the new firmware from Digi, do not attempt a web download of the firmware, that doesnt seem to work. Then click on the file and load in the .zip of the firmware latest version you just downloaded. The X-CTU will add it to the version list for that modem type, then select it, write it using the same defaults. Do not change your baud rates until after you have burned to the latest firmware. You cant successfully burn at a baud rate higher then 9600 for the USB explorer for XBee or the RS232 Explorer for Xbee.

If you follow the steps above + this you have a very high likelihood to recover your xbee. They are very very hard to permanently damage. You would have to push alot of voltage into them to really truly fry them. Trust me I know :)

Marks comments are spot on, the TX and RX should be shortened to allow time for power up before they are connected. This causes many brickings of xbees on initial plug in, but you can easily restore them - that will not permanently damage them.
Comment by DougB on July 17, 2009 at 2:44pm
Jordi - I'm using the xBee 900 pro and adafruit adapter and sparkfun USB explorer.

Peter - Thanks for the catch, Baud must be set to 9600.

Theres also another problem showing up and that is no RC control about 70% of the time after powerup. I'll be doing some more testing.

FYI: I'm not comfortable with the 5v filtering, especially on the adafruit board. I'm going to add more filtering to the Ardupilot and the adafruit board, I'm not saying its inadequate, I just personally would like to see more.

Comment by Jordi Muñoz on July 19, 2009 at 3:58pm
AHHHHHHHHHHHHHHHHHHHHHHHH IT WORKSSS!!! I Love You! I used Adafruits boards and FTDI cable. THANKS!!
Comment by DougB on July 19, 2009 at 4:33pm
Jordi - Now we just need to figure out why the TXo line out of the shield is screwing up the xBees on startup.

I've thought about changing the code to inhibit "Serial.print" untill GPS lock is obtained. I don't know if that will work but might be a starting place.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service