Help to buy Xbee module

I am trying to create a network of XBee with sensors at end nodes that send back data to coordinator Xbee periodically. I wish to set the Xbee modules in API mode and I learned from the internet how to do the same from online tutorials, etc.

However, now when I want to buy the Xbee modules I am completely confused. I want a series 2 Xbee ( Not PRO ). My confusion is -
Is the Xbee ZB same as XBee S2C?
what are the versions of Xbee available currently; I am confused as I see S2B, S2C, S2D, ZB and so much more. Please help me decide on an XBee
I see Digi has released the new programmable Xbee’s. Can I use them like the old Xbees with an Arduino hooked to it? Which is preferable?

Anything at all is helpful. Thanks

What you have listed are ALL Zigbee enabled modules. The main difference is the Processor used and what options are available.

The first Zigbee enabled Production version was listed as the XBee ZB product. This was the hardware version number 2. So XBee S2 for Series 2. Now the series function was designed only for the internal hardware engineering to keep track of what the hardware was but end users caught on to it very fast. Must faster than the term Digi wanted which was XBee ZB.

From there, there has been three versions of the XBee Zigbee Product produced in both a low power version (XBee ZB) and a high power version or PRO (XBP-ZB). These are distinguished between the S2, S2B, S2C and S2D with the S2D having a processor that is Zigbee Thread.

The S2C hardware version is the most current version that covers the standard Zigbee (ZB) options most customers are looking for and what Digi shows as Current hardware at

1 Like

Thanks a lot. I have been stuck with this question for almost two weeks now.
I think I will buy a couple of S2C modules.
Do you know if the programmable S2C’s can be used without its inboard programming and instead by using a separate Arduino?

Thanks again, for taking the time to reply.

To add to what user mvut described - The programmable XBees are a special breed of modules that come included with a HCS08 CPU on the module. It allows you to write custom logic directly on the module without the need of an Arduino attached to it. Because the price difference is around 2-3€ between the standard and programmable versions - they offer a much more cost effective solution for driving sensor logic than an Arduino connected to an Xbee. Especially if you need more than one such device.

If you want to use a programmable version of XBees as a standard XBee hooked to an Arduino, you can do so. However, you need to load an example application on the CPU that puts the XBee into a bypass mode whenever the module is powered on - this way it operates exactly like the standard XBee module.

I’ve written more about Programmable XBees and working with them in Linux/MacOS/*BSD in my blog - check it out if you are interested:

I would strongly advise not trying to go that rout. That is purchased the Programmable and use an Arduino instead. If you are going to do your code on an Arduino, then simply get the Non Programmable versions of the XBee. The reason for that is that in order to talk to the RF processor on the programmable versions, you must first write and port over an application via a BDM programmer that basically bypasses the Freescale processor. IE, the modules DI and DO lines go to say the Freescales COM 1 and you would have to direct that data to the Freescales COM 2 which connects to the RF processor. Without this kind of application written and installed, you can’t get to the RF processor on the Programmable modules.

Yes, additional steps are required to operate them as normal modules. However, you don’t need a BDM programmer to do that. All programmable XBees are shipped with a working bootloader that accept reprogramming via serial XMODEM upload.

That should be noted that ONLY if it was a recent shipment from Digi would it have that bootloader. If your Distributor has had them around for a while, it will not have it.

@mvut, could you add more context to the word “recent”?

I bought my first Programmable module (S2B, through-hole) in 2014 and it came with a working bootloader. I believe it’s safe to say that all the S2C modules have it. no?

XBee SDK v1.5.5 which was released in December 2012 (!) already hints that the modules are shipped with a non debuggable bootloader so it would be interesting to understand when the shift occurred.