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.
XBee Series I modules support DigiMesh firmware with no hardware modification.
This guide will show the main steps to change the firmware version from 802.15.4 to DigiMesh, using an XBee 802.15.4 PRO OEM module. To change from DigiMesh to 802.15.4, the process is the same but changing the firmware version to upgrade to.
To upgrade XBee firmware, 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 parameters from the XBee module. The results after pressing this button are shown in the figure below:
2 – Changing the firmware to DigiMesh
2.1 – Once we have been able to read the parameters from the XBee module, we can change the firmware version to DigiMesh. First, we have to select the desired firmware version to change. After this, we have to press the button ‘Write’ and the upgrading will start.
2.2 – After pressing ‘Write’ button, the upgrading will start showing its state in X-CTU window. In the following figure we can see 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
Sometimes while upgrading or changing firmware version, a reset is needed to complete the process. We can see the message that will be shown when this reset is required.
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, 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 reset button in Waspmote Gateway.
4.6 – Without releasing 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.