swapping firmware of 802.15.4 modems

I have a pair of Xbee 802.15.4 OEM modules and a single Xbee Pro 802.15.14 OEM Modules. I want to try out the features of the different firmware types - ie digimesh or zigbee. I have read that it is possible to change the firmware of the modules, but I am not having any success with this.

I am connecting to the modules with a custom made USB to serial adapter using an FTDI232 IC, and I can use all the features of X-CTU, except I have trouble with the firmware upgrade.

If I connect my unit and read the configuration, I get a modem type of XBEE (XB24), a function set of XBEE 802.15.4 and a version of 10CD. All the parameters read and write correctly.

I am able to flash the modem with the different versions of the same function set, but I cannot change to a different modem type. I have tried XB24-B, XB24-ZB, and XB24-DM, but none work.

When I try, X-CTU either attempts to read the AT parameters before saying “programming modem…lost communication with modem” or X-CTU simply hangs trying to read the AT parameters. Unplugging the USB lead (thus removing the serial port from the system and resetting the modem) allows X-CTU to recover.

So, Questions I now have:

Is it possible to replace the firmware types on my modems?

Am I going about it the correct way?

Is there any other way, apart from using X-CTU to flash the firmware?

Further to this, as a test while I wrote this post, I tried to change the function set from XBEE 802.15.4 to XBEE 802.15.4 Digital I/O adapter. This worked, but now I cannot communicate with the modem via the serial port - thus X-CTU is unable to read the parameters or change the function set back to the original - can I get it back?


You are able to only change between two modem types and you can use only 802.15.4 or Digimesh for your modules. Zigbee is not an option for the Series 1 Xbees. For the Xbee Pro you can use XBP24 or XBP24-DM. As for the non pro Xbee you can use XB24 or XB24-DM. The reason that you can not use others, such as XB24-B or XB24-ZB, is that those modem types are for the series 2 xbees. I have had some problems with the series 1 Xbees when trying to load new firmware. I have discovered that a few seconds into the upload I have to press the reset button and all seems to work well.

I too have a pair of Series 1 802.15.4 devices.

I too am having an issue with programming the firmware.

I know that, for me, it is related to interconnect, or the programming of the FTDI device, as a year ago I was able to program and update the firmware with the exact hardware that I have now. I just have to find the magic setup once again…

I’m replying here for two purposes:

  1. I have noticed that if the non-X-CTU target unit is being fed data and is transmitting while I am trying to configure a unit, that it SOMETIMES presents some problems with the X-CTU app trying to communicate with the target unit. If I shut down the transmitting unit, cycle power on the target unit, and then re-establish comms with the target via X-CTU, that I am able to configure the device without issue (read configure, not update firmware…).

  2. I have, for a number of reasons, used FTDI’s MProg utility to reprogram my FTDI devices for interface to a number of different units I am working with in my endeavors. I am thinking that it might be beneficial for you to use the MProg app to verify how your USB UART is configured, if you are having issues establishing basic comms with your target unit with X-CTU via the FTDI USB UART. Attached is how my UART is configured.

CAUTION: With the MProg utility, if you have more than one FTDI device enumerated and mounted to your host system, and you reprogram what you think is one FTDI device, you will actually be re-programming ALL of the FTDIs mounted. This is experience talking… :wink:

I am still trying to find the magic config and interconnect required to allow me to successfully flash my XBP Series 1 802.15.4 devices using the FTDI USB UART. The frustrating thing for me is that I was able to do it a year ago with little to no issue. Now I am finding that I am struggling with it, and did not make adequate notes back then. It is simply something simple that I am missing, I am sure.

At any rate, I’ve rambled on long enuf. Hope this helps to peel back and reveal another layer of area requiring focus when using the FTDI UARTS with the XBees and their config tool, X-CTU…

Good luck.

[EDIT]Also, as info, it might be best to save the MProg config that your device is currently at, before making any edits to it, that way, at a minimum, you can get back to where you are currently at. This too is experience, and has cost me a couple of hours of my life that I will never get back…[/EDIT]

At this stage I am just trying to change the firmware of one of the Xbee (non-pro) modems. I have tried the XB24-DM firmware, but I get the problem stated before where X-CTU cannot communicate with the modem when trying to retrieve the AT parameters.

How do I determine series 1 or 2?

At the moment I can’t press the reset button as that pin is hard wired to the power pin of the USB to serial IC. This means that the modem is held in reset until the USB IC is enumerated on the PC - If I have to, I could add a push button to this line on my circuit board, but would prefer not to.

Well, I got my XBP24-A radios updated to the latest firmware - 10CD. I had been using higher data-rates during my development efforts, and I found that if I pushed the interface data-rates back down to 9600, grounded pin 9, and then wrote the new firmware with X-CTU, that the update event went well.

Just in case this might help anyone following this thread…

Good luck. I bid you all Happy Days!