Xbee/Zigbee notes
I’ve been using the XBee and the XBee Pro over the last couple of weeks and I’d thought I would share my notes on them:
1. The maximum “recommended” baud rate is 115200 baud. The specifications says that the max baud rate is 250000, but that is for RF transmission. You can set nonstandard baud rates and even go higher than 115200 using the API or AT commands, but it could lead to corrupt data and lost packets.
2. Hardware “Flow Control” is a MUST. Always check the CTS (Cear to Send) line to see if the XBee is even ready to send a new packet. If you don’t, the Xbee’s send buffer will fill up quickly and packets will be lost.
3. You can actually use two different baud rates on both sides. Lets say you have a device (such as a USART camera) that communicates at 9600 baud. You can configure the Xbee to run at 9600bps , and send it to another Xbee that is configured to say 38400 baud. Sending to a device with a higher baud rate is usually not a problem, but sending to a lower baud rate device can lead to packet loss if you don’t use flow control.
4. 1 and 2mW Xbees sometimes are just not good enough indoors.. They work, but you really need to be in line-of-sight. If you cant see the other XBee module, you probably will have some problems. Because of this limitation, I now use 50mW xBee Pro modules for almost everything. The difference is awesome – from across the room to across the street.
5. The wire whip antennae is pretty fragile. Don’t be surprised if it pops off. (It did within the first 10 minutes of owning one with a wire whip.) The simple solution was to simply solder it back on. I’m not sure if this can affect the signal strength, but I’ve seen no problems.
6. Use the chip antenna only if you need a lower profile. I’ve had some weird problems where my chip antennae xbee wouldn’t receive unless I pointed the top of the antennae towards the source. No problems with the wire whip.
7. Xbee’s are half duplex. This means it can either send or receive at any given point, and not at the same time. If you need a full duplex device, check into other wireless technologies.
8. If you are having “lag” even though there is a good connection, then check how you are sending data and receive data from the Xbee. I was using Java and kept writing directly to the stream when I noticed a significant lag in sending and receiving data. I thought it was the Xbee until I wrote to the stream’s buffer instead of directly to the stream output.
9. Xbees can generate quite a bit of noise in your power supply, so always use with a good low pass filter on VCC and ground.
Hope this helps whenever you are choosing the right Xbee module for your next project. Hit up the comments if you have any questions!

Nice writeup on the intricacies of Zigbee – I’ve been interested in it from a home automation perspective for a while now since there’s a Zigbee profile dedicated for this, but haven’t seen much progress on this front.
I’m curious, what are you using the Xbee for?
Nice wrap up.
I have been ‘playing’ with these on and off over last year and a bit and they are really easy to get up and running.
Your tips above are a good pointer to those just starting out.
Cheers,
Dale
Thanks.
I have a fascination with LED lighting and I made a wireless “wall washer” using Xbee to individually control 8 high power LEDs. I’ll be putting up documentation on the project sometime soon with the details on that.
I am definitely continuing work with the Xbee modules, especially in home automation. I am working on possibly starting up a company to do Xbee related kits. Stay tuned.
Andrew
Hello,
Can you tell me more about what you mean by ” I was using C# and kept writing directly to the stream when I noticed a significant lag in sending and receiving data. I thought it was the Xbee until I wrote to the stream’s buffer instead of directly to the stream output.”
I too am communicating with one side of my Xbee’s using C# code. What is the difference and how do you write to the buffer instead of the output?
Thanks!
Justin