Unreachable after END DEVICE DIGITAL IO configuration

after switching two Xbee Pro S2B from mode
to mode
both devices are out of reach i.e. I cannot configurate them with my sparkfun FTDI board. Same is for my Arduino Rev.3 board (328 removed so the Xbee is routed directly to the USB/Serial converter (prior to that incident both USB/serial-Converter worked fine with the bees). I see the Associate LED blinking (5s off/2s on). I already tried to do this bootloader reflashing thing but no success. I’m wondering what’s going on here. During the configuration to END DEVICE DIGITAL IO all seems correct - no abort while programming.
Any idea and how to fix it?

Correct - the DIO firmware has no serial port!

It disables it, treating those pins as I/O. You would ONLY use that firmware in a Digi Xbee DIO Adapter hardware.

To just use an Xbee as I/O, use the normal AT/API router or end-device firmware.

To recover the Xbee, you will need to use the ‘bootloader’ mode - see:

(The bootloader thing works … but you have to do it very carefully. I have used it dozens of times - especially with AIO and DIO firmware since that is the ONLY way to recover them.)


It argued about the same case here.
Please refer to it.


Hello lynnl,
thanks a lot for your help with my messy zigbees. I really was in dispair but your tip with doing the bootloader sequence “very carefully” bailed me out.
Now they both are working fine.


Hi Lynnl,

I followed the sequence and it didn’t work. When I enter a B in the terminal window all I get is a “B.” echo’d back to me. An no, my device is not broken. I tried the same thing on another zigbee pro s2b which still works (firmware = END DEVICE AT).

Is there a way to hard reset the zigbee pro s2b?

When you go to the terminal for the first time, before you assert break en press the reset button, should you be in bypass mode or not?


And anther thing, the procedure says to “Hit the /RESET button on the XBee development board”. The reset button on my board only resets the freescale chip. It does nothing to the EM250 radio chip. There is however a pin where the reset pin of the EM250 is brought out. What will happen if I reset it there?
Which chip is it that you need to reset?

Something like this would make more sense to me:

-In the terminal window, hit “enter” to enter the freescale chip’s bootloader.

-Change the baud to 115200.

-Check the DTR and BREAK blocks in the terminal.

-Reset the EM250 chip (hardware)

-Uncheck the break block.

-In the terminal window, hit a “B” and “enter” to enter the EM250’s bootloader.

I’m not saying this is correct, I’m just looking for a possible solution to my problem???


If you have a freescale chip (aka: a Programmable XBee), then all bets are off - or rather, I have no idea what works. On the normal S2B, the EM250 is the only processor and owns the serial port. On the Programmable XBee, the Freescale chip owns the serial port and the EM250 links to the Freescale chip via serial.

You probably need to use the debugger to restore a valid bootloader to the freescale ‘co-processor’. You may want to post on the Programmable Xbee forum as I doubt the people who understand that look at this forum.

Thanx Lynnl, I didn’t realize there is another forum. I figured it out though.

I followed the steps described in the link, except for these steps which I added:

-before doing anything, go to the terminal window and bypass the freescale chip’s bootloader. You can just hit enter a few times untill the bootloader menu comes up and then hit “b”.

-now continue with all the steps described in the link except instead of pressing the reset button on the board (this button resets the freescale chip), reset the EM250 chip with a peice of wire between the reset pin and ground. Check the xbee board layout to see where to access the EM250’s reset pin.