Why Use XBee Communication Modules in R1

A Facebook friend of mine asked me why I chose the XBee modules for the R1 system. I’ll answer here so others might benefit.

There were basically three classes of wireless link technology in the running: Low cost digital radio, XBee and WiFi. I ruled out WiFi without really testing it because I was afraid the robot communications might get bogged down if someone else in the house was watching Netflix or doing a download. I don’t really have any evidence that there would be such a problem but, I didn’t want to put down the money and find out later. That left the choice between radio and XBee.

Pros for XBee

  • No special software is needed on the host computer. The PC “sees” nothing but a standard serial port.
  • No special software needed on the Arduino. Just connect the Tx and Rx pins and it’s off and running.
  • Two way communication. Many of the cheaper radio modules are one-way. R1 needs to “talk” back to the host as well.
  • Error detection and correction. I’ve seen dropped messages but, never an incorrect message.
  • XBee “looks” like a standard serial link so, I can download new Arduino firmware through the wireless link – no need to connect a programming cable. I do, however, need to press the reset button on the Aruduino – there are articles on the internet about how to do it without pressing reset.
  • More than two nodes can be involved in an XBee network. It would be possible to control multiple robots from one host computer.

Cons against XBee

  • Expensive – considering the cost of two XBee modules and two adapter boards, it’s the most expensive “part” of the system.
  • The 1mW “regular” XBee modules are unreliable when the robot is in a different room than the host computer. Several retries are often required when doing a sensor scan because of dropped data. The Pro modules may be better in this regard – I’m not sure.

That’s all. Thank You!

– Ralph