Digi International offers a convenient tools for Xbee module programming - X-CTU. With this software , the user be able to upgrade the firmware , update the parameters , perform communication testing easily. The basic operations are listed below , make sure you read through and try them.
In X-CTU , click on TAB "Modem Configuration" and you will get this. The user interface for firmware downloading and upgrading. Before you rush into update the firmware and crack the XBee , you may wanna have a look about what does these sub-sections and buttons for. So you don't have to trying errors , waste time , and crack the XBee by accident.
1. Modem Parameters and Firmware
After connect to an XBee , you can "Read" the parameters include Baud Rate and the firmware information (Modem Type , version , and its Function Sets for different purposes) from here. You can also "Write" parameter and firmware into the connected XBee after done all the setting. You don't need to check off "Aways update firmware" if you just wanna try different parameters for your XBee. One more thing is , if you cracked your XBee by updating the wrong firmware , the "Restore" button can not restore it. Check out "How to recover a bricked XBee" for this case.
"Download new versions..." downloads the latest version for all the modem types from internet. It takes quite a while for updating the firmware database.
3. Parameter View
"Clear Screen" clean the information in parameter window. "Show Defaults" shows the default parameters of a modem type and its function set.
It is useful when you wanna try a different parameter setting for your XBee. You can load a saved profile for your XBee after you found problems with the new one. Except all the parameters , it also stores the information of modem type , function set , and its version.
5. Modem , Function Set , and Version
Pick up the right modem type which your XBee belongs to , then select the proper function set for your particular usage. You may also pick up the older version for a modem type. If you pick up the wrong one and write it to the XBee , then the XBee might not response to Test / Query in the PC Settings tab.
[ Update Xbee Firmware ]
They update the new version of firmware once a while , I would say quite often. It takes quite a long time to download the new version of firmware. You don't have to download the latest version every day unless it is necessary and you know what it is for.
Do this with caution , an absent mind may cause trouble. Fortunately , for my experience , everything will be fine at the end if you play with this function. However , you have to know how to get them back to normal , check the link of "How To Recover A Bricked XBee".
Get and confirm these information before you upgrade the firmware :
Click Here to See "What is API Mode?"
If you already have problem with talking to a XBee module , click here "How To Recover A Bricked XBee".
The procedure for upgrading firmware :
After done , you should see this message. It also reminds you the baud rate setting of PC and XBee should match each other for Test / Query. If everything is right , you should be able to Test / Query the XBee. You may need to reboot the XBee manually to make it response to the Test / Query. Sometimes , it is sleeping and you have to knock his door for waking him up.
After modifying the firmware and the parameters , you can always save these setting to a profile file "xxx.pro" by click on "Save". You can fine tune and play with these parameters to get the best performance for your usage. After you saved a best profile for your application , you can load it anytime.
I'll have an example of updating firmware for you in the next section.
If you have two Xbee modules , after setup , the Zigbee communication can be tested by section "Terminal" and "Range Test". Click Here if you do not know how to setup a working Zigbee Communication.
X-CTU is a convenient tool for function test , modify XBee parameters or update its firmware. However , it is not the tool using for application. Such as , using a PC to remote control / monitor your Home Automation Electronics System through XBee , you can not use X-CTU for this purpose.
However , if you know a little bit about C/C++ programming , you may consider about writing your own program for serial port communication , just like what the X-CTU did. It is quite simple , the tutorial and sample source code for C/C++ Windows Serial Port Programming is here.