Important: Changing or upgrading the XBee firmware is a delicate process that may harm permanently the XBee module. Only advanced users should use this application. Libelium supplies the XBee transceivers with the desired firmware version (802.15.4, ZigBee, 868, 900, Digimesh 2.4GHz, Digimesh 900MHz) and is not responsible for the XBee modules damage when changing or upgrading firmware. For more information read the “General Conditions of Sale and Use of Libelium” document in technical service section.
This guide shows the main steps to upgrade XBee firmware, using an XBee 802.15.4 PRO OEM module. If another XBee module wants to be upgraded, the process is similar but selecting the appropriate firmware version.
To upgrade XBee firmwares, X-CTU application needs to be used. This software allows to change the firmware version and some other features. It only runs on Windows and it has been developed by Digi. Please, check the X-CTU introduction tutorial in order to learn how to use it.
1 – Communicating with the module
1.1 – Once we have checked the communication with the module, we can read the module and upgrade its firmware.
1.2 – We have to change from ‘PC Settings’ tab to ‘Modem configuration’ tab. This general tab has a button ‘Read’ that will have to be pressed to get the parameters from the XBee module. The results after pressing this button are shown in the figure below:
2 – Upgrading the firmware
2.1 – Once we have been able to read the parameters from the XBee module, we can upgrade the firmware. First, we have to select the desired firmware version to upgrade to. After this, we have to press the button ‘Write’ and the upgrading will start.
2.2 – After pressing the ‘Write’ button, the upgrading will start showing its state in X-CTU window. In the following figure we can see the X-CTU window while upgrading.
2.3 – When the upgrading has finished, a successful message is shown as we can see below:
2.4 – Once the upgrading has been completed successfully, we can press the ‘Read’ button again and the parameters will be read. In the following figure, we can see the parameters read from the XBee module with the new firmware version.
2.5 – As we can see, if we press the ‘Test/Query’ button in the ‘PC Settings’ general tab, the XBee module appears with the new firmware version.
2.6 – After this process, your XBee module will be upgraded.
3 – Reset required
3.1 – Sometimes while upgrading or changing the firmware version, a reset is needed to complete the process. We can see the message that will be shown when this reset is required.
3.2 – To reset the XBee module, Waspmote Gateway provides a button to reset XBees. This button has to be pressed for 2-3 seconds and then release it. After doing it, this window should disappear and the process should go on.
4 – Problems while changing firmware
During some upgradings, the XBee modules get into a state that they look like if they were damaged. However, there is a recovery process from this state.
If there is no way of communicating with an XBee module after having tested all baud rates and configuration options, the process to follow is exposed next.
4.1 – Connect Waspmote Gateway to the computer without the XBee module.
4.2 – Select the correct speed and configuration options (COM port, using API or not, etc).
4.3 – Press the desired action in X-CTU.
4.4 – After some seconds a message like the following will be shown.
4.5 – Press the reset button in Waspmote Gateway.
4.6 – Without releasing the reset button, connect the XBee module in Waspmote Gateway.
4.7 – After 2-3 seconds, release reset button.
4.8 – The window should disappear and we will be able to communicate with the XBee module.