XBee®/XBee‐PRO® ZB SMT RF Modules
Programming XBee Modules
Firmware on the XBee modules can be updated serially.
Serial Firmware Updates
Serial firmware updates make use of the XBee custom bootloader which ships in all units. This modified
bootloader is based on Ember's standalone bootloader, but with a modified entry mechanism. The modified
entry mechanism uses module pins 4, 10, and 29 (DIN, DTR, and RTS respectively).
The X-CTU program can update firmware serially on the XBee. Contact Digi support for details.
If an application requires custom firmware to update the XBee firmware serially, the following steps are
required.
Invoke XBee Bootloader
See the "XBee Bootloader" section above for steps to invoke the bootloader using RS-232 signals. The
bootloader may also be invoked by issuing a command via X-CTU. Then the application makes an explicit call to
the bootloader, which does not return.
If there is no valid application, the bootloader will always run.
Send Firmware Image
After invoking the bootloader, the Ember bootloader will send the bootloader menu characters out the serial
port, which may be the UART at 115200 bps or the SPI, where the attached SPI master provides the clock rate.
The application should do the following to upload a firmware image.
1. Look for the bootloader prompt "BL >" to ensure the bootloader is active
2. Send an ASCII "1" character to initiate a firmware update
3. After sending a "1", the EM357 waits for an XModem CRC upload of an .ebl image over the serial line at
115200 bps. The .ebl file must be sent to the EM357 in order.
If the firmware image is successfully loaded, the bootloader will output a “complete” string. Then the newly
loaded firmware can be invoked by sending a ‘2’ to the module.
If the firmware image is not successfully loaded, the bootloader will output an “aborted” string. Then it will
return to the main bootloader menu. Some causes for failure are:
• Over 1 minute passes after the command to send the firmware image and the first block of the image has
not yet been sent.
• A power cycle or reset event occurs during the firmware load.
• A file error or a flash error occurs during the firmware load.
Writing Custom Firmware
The XBee module can be used as a hardware development platform for the EM357. Custom firmware images can be
developed around the EmberZNet 4.2.xx mesh stacks (for the EM357) and uploaded to the XBee.
Warning: If programming firmware through the JTAG interface, please be aware that doing so can potentially
erase the XBee bootloader. If this occurs, serial firmware updates will not work.
Regulatory Compliance
XBee modules are FCC and ETSI certified for operation on all 16 channels. The EM357 output power can be
configured up to 8 dBm with boost mode enabled.
XBee-PRO modules are certified for operation on 15 of the 16 band channels (channels 11 - 25). The scan
channels mask of XBee-PRO devices must be set in the application to disable the upper channel (e.g.
0x03FFF800). The XBee-PRO contains a power compensation method to adjust the output power near 18 dBm.
For best results, the EM357 should be configured with an output power level of -4 dBm with Boost mode is
enabled. The end product is responsible to adhere to these requirements.
© 2010 Digi International, Inc.
138