Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Yet another X-CTU replacement

Project Description



xbcfg is a yet another X-CTU replacement for Linux machines,
which currently supports XBee Series 2 modules.
The XBeeConfig class wraps AT commands, getting into the bootloader and
flashing the firmware for XBee Series 2 modules.
If you're interested in adding support for other similar modules,
feel free to mail me a unit.


End users should rely on pip::

sudo pip install xbcfg


With the utility you may fetch information about the XBee module::

localhost ~ # xbcfg status
Module status
Association indication: Successfully formed or joined a network
Channel: 0x10 (2.430 GHz)
Supply voltage: 3344 mV (2100-3600mV ok)

Module configuration
Network idenfitier: 0x3332
Node idenfier: XB-0013A2004079C29E
Packetization timeout: 3 sec
Node discover timeout: 4.00 sec
Baud rate: 9600
Encryption enabled: False
Power level: 2.00 dBm
Destination address: 0x0013a200408b1a4a

Module information
Serial number: 0x0013a2004079c29e
Maximum payload: 84 bytes
Hardware version: 0x194a
Module type: XBee
Revision: 74
Firmware version: 0x20a7
Variant: ZigBee compatible
Operation: Coordinator, transparent operation
Version: 10
Revision: 7

Reset configuration::

localhost ~ # xbcfg reset --destination-address 0x000000000000ffff
Restoring defaults ...
Restarting firmware ...

The list of available configuratoin options::

localhost ~ # xbcfg reset -h
usage: xbcfg reset [-h] [--verbosity LEVEL] [--device DEVICE] [--baud BAUD]
[--destination-address ADDRESS] [--channel CHANNEL]
[--node-identifier ID] [--network-identifier 0x3332]
[--enable-encryption] [--encryption-key 0xDEADC0DE]
[--node-discover-timeout SECONDS]

XBee configuration and flashing utility

optional arguments:
-h, --help show this help message and exit
--verbosity LEVEL, -v LEVEL
Set verbosity (info, debug)
--device DEVICE, -d DEVICE
Serial port
--baud BAUD, -b BAUD Initial baudrate for serial connection
--destination-address ADDRESS, -da ADDRESS
Destination address (64-bit integer), defaults to
--channel CHANNEL, -ch CHANNEL
Channel (11-26)
--node-identifier ID, -ni ID
Node identifier (20-character ASCII string)
--network-identifier 0x3332, -id 0x3332
Network identifier (16-bit integer)
--enable-encryption, -ee
Enable encryption
--encryption-key 0xDEADC0DE, -psk 0xDEADC0DE
Encryption key (32-bit integer)
--node-discover-timeout SECONDS, -nd SECONDS

And the final cherry on the top - firmware flashing capability::

localhost ~ # xbcfg flash --operation end-device
You're about to flash: ~/.xbee/ebl_files/XB24-ZB_28A7.ebl
Press Enter to continue or Ctrl-C to bail out like a wimp!
Successful flash, restarting firmware


Thanks to everyone who made this utility possible:

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(25.3 kB) Copy SHA256 Hash SHA256
Source None Oct 24, 2013

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting