XBee Introduction and Buying Guide
by M-Short | February 24, 2011 | 6 comments
Skill Level:
Beginner
Welcome to the wireless world of XBee. Maybe you've heard of it, maybe you haven't, either way you are in for a fun ride. XBees are tiny blue chips that can communicate wirelessly with each other. They can do simple thing like replacing a couple of wires in serial communication, which is nice when you want to make a remote for your paintball vehicle.
But which of the dozen or so modules do you want? What's the difference between Series 1 and Series 2? Why are there so many antenna? Why are some of them Pro, and does this make the regular models feel inadequate? And most importantly why does Sparkfun have so many boards for XBee and which ones do I need?
There are lots of different types of modules which we are going to go over, but one of the nice things about these is that all the modules regardless of the series or type have similar pinouts. Power, ground, and your TX/RX lines are in the same place making the chips pretty interchangeable for most of the simpler applications. Some of the more advanced features are not always compatible, but for starters its not something to worry about. Now that you are ready to start learning about XBee and what it all means here is a breakdown of the XBee world.
XBee – According to Digi “XBee modules are embedded solutions providing wireless end-point connectivity to devices. These modules use the IEEE 802.15.4 networking protocol for fast point-to-multipoint or peer-to-peer networking. They are designed for high-throughput applications requiring low latency and predictable communication timing.“ So basically XBee is Digi's own Zigbee based protocol. In layman's term they are wicked cool, and fairly easy to use wireless modules.
Zigbee - An alliance and a standard of cost and energy efficient mesh networks. XBee uses the Zigbee standard and adds to it and wraps it up in their own neat little package. http://www.zigbee.org/.
Bumblebee - A tuna company, an insect of the family Apidae and the genus Bombus, or a small yellow Autobot. Which ever definition you choose they are fairly awesome and completely irrelevant to our talk of wireless XBee modules.
XBee Series 1 (also called XBee 802.15.4) - These are the easiest to work with, they don't need to be configured, although they can benefit from it. Because they are easy to work with we recommend these especially if you are just starting out. For point to point communication these modules work as well as the Series 2 but without all the work. A Series 1 module won't say Series 1 on it, but it also won't say Series 2. If it doesn't say then your module is a Series 1. Series 1 and Series 2/2.5/ZB hardware are NOT compatible. Don't try to mix and match, don't even think about it, it won't work, not even close. Nope, stop thinking about it...! Datasheet
XBee Znet 2.5 (Formerly Series 2) Retired- These are the fun ones. Series 2 modules must be configured before they can be used. They can run in a transparent mode or work with API commands, but this all depends on what firmware you configure these with. These also can run in a mesh network making them highly configurable and awesome modules. It also makes them harder to use modules. These modules are in no way compatible with the Series 1 modules so stop thinking about trying! These modules are no longer sold but are being replaced with the mostly compatible ZB modules. Datasheet
ZB (the current Series2ish module) - Basically the Znet2.5 hardware with new firmware. Meaning they can also run in a transparent mode or work with API commands. They can also run in a mesh network making them highly configurable and awesome modules. You can grab the new firmware and upgrade them yourself. The firmware between the two is not compatible (but is easily interchangeable) so you will have to pick which firmware you want to use on your network and stick with it. Download the conversion kit here. These are often call Series 2 modules, so if you hear someone talking about Series 2, they might be talking about these. It may not be the correct term, but it does distinguish these from the Series 1 modules which is usually all people want to know. These modules will not work in any way shape or form with the Series 1 so stop thinking about it. Stop it! Datasheet.
2B(the even more current Series2ish module) - These new modules improve on the hardware of the Series 2 modules improving things like power usage. They run the ZB firmware but because the hardware has been changed they can no longer run the Znet2.5 firmware. So if you are looking to add this to an existing 2.5Znet network beware. Currently some of our boards are 2B and others are ZB
900MHz - Technically not a series but it is a family just like the others. The 900s can run 2 different types of firmware, the DigiMesh firmware and the Point to Multipoint firmware. Digi actually sells both modules, the hardware is the same just with different firmware. Sparkfun only sells the point to multipoint version, but hey, you can change the firmware yourself. These modules should be more or less plug and play but of course can benefit from all the cool features you can configure.
XSC - Basically these are 900 modules that sacrifice data rate for range. The regular 900 modules have a data rate of 156KBps (the others are all around 250Kbps) but the XSC module is only about 10Kbps. On the other hand if you attach a high gain antenna you can get a range of about 15 miles and 6 miles with a regular antenna. These modules do not require configuration out of the box and have some other differences including a different command set so make sure you check out the datasheet.
Chip Antenna – Basically a small chip that acts as an antenna. Quick, easy, cheap, not in the way.
Wire Antenna – Well its a small wire sticking up, a little more of what you think of when you think of antenna.
u.FL Antenna – A tiny connector to connect your own antenna, this is great if your object is in a box and you want your antenna outside the box.
RPSMA Antenna – A bigger connector to connect your own antenna, once again great if your object is in a box and you want your antenna outside the box.
Regular vs Pro - There are a few difference between the regular XBees and the XBee Pros. The Pros are a bit longer, use more power and cost more money. That's pretty much it. The greater power means longer range (1 mile instead of 300ft) so if you need the range or like to spend more money, then use the Pros, otherwise stick with the regular models. You can mix and match these on the same network.
900 vs 2.4 - Most of the Xbee modules operate at 2.4GHz, but there are a few that operate at 900MHz. Basically 900MHz can go a lot farther with a high gain antenna (up to 15miles for the Pro modules and a high gain antenna). Also the lower the frequency the greater penetration the signal has. 900MHz is also not allowed in many countries (although there are 868MHz versions available from Digi that are allowed in many other countries). You can NOT mix and match these on the same network.
This is an incomplete list of our XBee products (not including the module), what they do and why you might or might not need one for your project.
XBee Explorer - Get one! You will need one for the Series 2/2.5/ZB modules to connect them to the computer to install the firmware. They are also useful for changing settings, and allowing you to send and receive info over your computer. It comes in a microB USB version as well as a dongle that plugs right into the USB port.
XBee Explorer Regulated - Great for attaching your XBee to your circuit, basically a breakout board with 3.3V voltage regulation built in.
XBee Shield - Great for attaching your XBee to your Arduino. 3.3V voltage regulation built in. The current version comes with a switch that lets you connect the XBee to the UART pins or to different pins.
XBee Breakout - Sometime you don't care about voltage regulation, sometimes you just want the annoying 2mm spacing of the XBee to turn into nice normal 0.1" spacing of your breadboard. You will still need to get headers but we do sell both the 2mm and the 0.1" ones.
XBee Wireless Retail Kit - basically some stuff to get you going. XBee shield, XBee Explorer, and 2 Series 1 XBees. This is a great place to start if you are looking to add XBee to your Arduino.
Wireless Sensing Kit - a bunch of stuff you will need to do the examples in the Building Wireless Sensor Networks book. Includes XBees, XBee explorer, breadboards, buttons, voltage regulators, resistors, and tons of other stuff. This kit does not include an Arduino though.
X-CTU software - This is what you need to configure the XBee modules. The software in only available on Windows.
XBee Series 1 product page - The product page for the Series 1 module.
XBee ZB product page - The product page for the current Series2ish module.
Government Regulations - Wireless communication has different restrictions in different countries. The ones we sell are all fine for use in the US, but for more information check out Digi's information on what XBees are acceptable where.
Building Wireless Sensor Networks - great book on Series 2ish modules. This is an amazing book on XBees, it covers everything from configuring the modules to using the I/Os and sleep functions. It also has projects throughout the book to help you put to use what you've learned.
Comments 6 comments
To add to the resources for Mac and Linux people, I was able to get X-CTU up and running on CrossOver-Mac (Wine) from CodeWeavers.com. I submitted the app to their repository with a couple of how-to tips.
Ha! first to comment…
Good guide.
Nice quick intro. There is another variant on the 802.15.4 radios – AMTel (and others) sell chips to support it, like the Atmega128RFA1. This is basically an Atmega128 with extra stuff to do radios….. and the Atmega128 is at the heart of many Arduinos.
Now enter Zigduino, an arduino compatible board using the Atmega128RFA1. In addition to the usual arduino outputs, it sports an antenna jack (pads). It came out in summer 2011 and development of both hardware and software is continuing rapidly. Maybe SparkFun will carry them someday!
I’ve read that the xbee’s can do some minor functions, respond to commands, if then statements, or somesuch. I cannot seem to find instructions (a ‘how to’) to program them to do this. Most of what I’ve found explains how to set the ID or baud rate, etc.. Can anyone direct me to a good source for programing instructions?
XBees can not handle logic of any kind. They do have I/O pins and you can get them to directly do a few things with the settings but you can not program them.
Check this book. It’s awesome for beginners: Building Wireless Sensor Networks with ZigBee, XBee, Arduino, and Processing By Robert Faludi
Create distributed sensor systems and intelligent interactive devices using the ZigBee wireless networking protocol and Series 2 XBee radios. By the time you’re halfway through this fast-paced, hands-on guide, you’ll have built a series of useful projects, including a complete ZigBee wireless network that delivers remotely sensed data. This resource- and reference-packed book is ideal for inventors, hackers, crafters, students, hobbyists, and scientists. http://oreilly.com/catalog/9780596807764