XBEE module compatibility - Chip/antenna version

Hi all.

I have bought 2 XBEE modules from Sparkfun. Reading the exemples, everything looks very simple (serial connection without ZIGBEE specific configuration). But I do not manage do make them communicating.

I have read that if there are differences in module versions, the module may not be able to communicate.

I am using Arduino2009 + XBEEShield + XBEE module.
The modules I use are the 1mW chip and 1mW wire antenna :

I use default settings (restore options with XCTU). PAN ID is 3332 for both.

With XCTU, I notice that the “serie” is the same (XB24 and 802.15.4 thus serie 1 module) but the version is not the same (10E6 and 1084).

Can you confirm me that these modules are able to communicate without specific configuration or firmware update ?
Even with the simple “L” / “H” physical pixel test (arduino xbee topic) ?

Thanks for your help.


Digikey says that the XBees can communicate out-of-the-box. I’ve not found that to be true.

The XBees need to be configured to be able to work. Select an address for each XBee. Say 0x12 for one and 0x56 for the other. The actual value is not that important, unless there are a lot of XBees in the area. Select a PAN id, say 0x2345.

Configure one XBee. Set the PAN id to the value you have chosen. Set the MY value to one of the addresses you chose, and DL to the other address (MY=0x12; DL=0x56). Save the configuration.

Configure the other XBee. Set the PAN id. Set the MY value to the DL value assigned to the first one. Set the DL value to the MY value assigned to the first one (MY=0x56; DL=0x12). Save the configuration.

The XBees should now be able to communicate with each other.

The firmware version difference is due to the different antenna types, I think.

If both are Series 1 XBees they will be able to communicate with each other. The firmware difference won't be a problem, but as Paul pointed out, you need to make sure that the MY and DL and PANID are properly set. All of the XBees I've ever received had PANID set at 3332, so unless my experience has been weird, you shouldn't need to change that.

As for the firmware, all of the modules I've received came with an old firmware version (like your 1084 module), and I've updated them all to 10CD.


Thanks both. I have set the PAN ID properly (3332 both) and now it works. Thanks Pauls for the MY and DL explanation. Very clear.

The connection "out of the box" is now OK.

A last question to sylvie369 : How did you updated firmwares ? I remember I tried to set the 1084 to 10E6 and click on XCTU "write" button without success.



I do updates with XCTU - I don't know that there are any other ways to do it. You need to click the "Download New Versions" button first to get the firmware on your computer, and then wait a few minutes while it downloads. Then you need to do a "Read" on your XBee module, and then pick the version you want to use, and click "Write". But you do need to have some extra connections to the XBee that aren't provided by all adapter boards. Per the manual,

"Minimum connections for updating firmware: VCC, GND, DIN, DOUT, RTS & DTR".

I have no idea whether or not the XBee shields provide all of the required connections. You might want to ask that separately.

At first, I wired up a connector that had all of the required connections, going through a DB9 connector to my serial port. However, a few weeks ago Parallax.com came out with a nice little $25 XBee USB adapter board


that has all of the required connections. As far as I know, this is the easiest way to update the firmware. It's a really nice little board, powering the XBee directly from USB. I use it for firmware updates, quick changes to the XBee settings, and simply as a "base station" to send data to a terminal window.

I believe that the Sparkfun XBee USB Explorer (also $25) may be essentially the same thing, but I haven't used one, so no guarantees here.


Yes, the Sparkfun XBee USB Explorer can be used to update the firmware. (I just did it today, in fact.)