Xbee Modules - Reprogramming a series 2.5 to a series ZB

Introduction

Xbee modules are wonderful things, but the communication standard they use differs. Series 2.5 (or Series 2), as it's sometime called, is currently the most popular version that we sell, but a newer version is series ZB.

Series ZB has a number of very small advantages over series 2.5 including that they're often more compatible with Zigbee modules from other manufacturers.

The good news is that excluding the antenna type, which doesn't really matter, the hardware of a series 2.5 module is exactly the same as the hardware for a series ZB module. This means that anyone can easily reprogram the firmware on one to become the other. It takes about 5 minutes (or less) and is pretty easy. The following tutorial shows you how.

What You'll Need

  • A copy of the X-CTU software from the manufacturers, Digi.
  • A series 2.5 or series ZB Xbee module that you'd like to change over
  • A Xbee USB Explorer
  • A USB A to mini B cable
  • A PC (not MAC)

Let's Do It.

First, install X-CTU.

This is a doddle on most computers and you shouldn't have a problem with it. Accept all of the default directory choices and tick any agreement boxes. Once the software has been installed it may say that some of its profiles are out of date and that it needs to connect to the internet to update them. Allow it to do this - if you don't it may not recognise certain Xbee module types. Once you're up to date, close X-CTU down.

  • Now plug the Xbee module into your Xbee USB Explorer. Plug the USB cable into the mini connector on the end of the board, and plug the other end of the USB cable into a spare USB port on your PC. Your PC needs to load some drivers to get the Xbee Explorer board to work. The first time you plug your board into the PC, this will take 1-2 minutes. If you see an error message, unplug your USB cable, download the drivers from FDTI here, and try again.
  • Now start up X-CTU. On the very first screen you'll see a choice of COM ports to chose from. Your Xbee Explorer board would probably have been installed to the COM port with the highest number, so try that one first. Any easy way to check that everything is okay, is to press the 'Test/Query' button. If you've connected to the correct COM port and your module is working okay, then you'll see a box pop up to say that communications were successful.
  • One further thing to try is to switch to the 'Modem Configuration' tab (where we'll be doing most of the work) and press the 'Read' button at the top left. This will do a full read of all module parameters stored. Once you've pressed the 'Read' button you'll see the lights on your Xbee Explorer flickering and the settings in the main window should become populated with data.
  • Now we're in business! Your Xbee module is connected, you're talking to it with you PC, and everything is good!
  • Finally, we'll carry out the operation that will transform your Xbee module from one series to another. We need to change 2 drop down box settings, tick a box and press 'Write' - that's it!
  • Okay - so lets assume we're changing a series 2 module into a Series ZB module. At the top left of the 'Modem Configuration' Screen there's a drop-down box with the title 'Modem'. Let's change this from XB24 to XB24-ZB. On the drop-down box marked 'Function Set' choose 'Zigbee End Device AT' or 'Zigbee Coordinator AT'. DO NOT mistakenly or otherwise chose any of the settings with 'API' at the end.
  • Finally, tick the box that says 'Always Update Firmware' and press 'Write'.
  • The ensuing process takes about a minute, but at the end X-CTU should report success, and that's it!
  • Problems

    Unfortunately, life sometimes isn't that simple. X-CTU is not a particularly well written piece of software and there are bugs and little issues that can drive you mad. In addition, XBee modules themselves can sometimes be quite temperamental if they're not factory fresh, or even sometimes if they are. When we carry out this process at Cool Components, we generally have 'issues' with about one module in 10.

    Most of these issues can be solved by doing the standard - restarting X-CTU, unplugging and replugging the XBee USB Explorer board, even restarting your computer. All can quite often solve the perplexing problems you're having.

    One of the most common problems is that somehow, X-CTU finds it impossible to talk to the Xbee module at the correct baud rate. This can lead to the program being unable to reset the module. When this happens, a box will pop-up telling you about this problem and requesting you to restart the module itself. But how to do this when there isn't a reset button on the Xbee Explorer? Simple - turn the Xbee Explorer board over. On the back you'll see two rows of labelled holes. With a wire, briefly connect GND to RST (not RES or RTS). By briefly, we mean for less than half a second - it's not crucial, but you really shouldn't need to connect for longer.

    There are many other problems that can happen, but if you're using a factory fresh module and you follow our instructions **in the order** that we've written them, there shouldn't be any major issues.