Xbee Shield for Arduino
The Xbee shield allows an Arduino board to communicate
wirelessly using Zigbee. It is based on the Xbee module from MaxStream. The module can communicate up
to 100 feet indoors or 300 feet outdoors (with line-of-sight). It can be used
as a serial/usb replacement or you can put it into a command mode and configure
it for a variety of broadcast and mesh networking options. The shields breaks
out each of the Xbee's pins to a through-hole solder pad. It also provides
female pin headers for use of digital pins 2 to 7 and the analog inputs, which
are covered by the shield (digital pins 8 to 13 are not obstructed by the
shield, so you can use the headers on the board itself).
The Xbee shield was created in collaboration with Libelium, who developed it for use in their SquidBee motes (used for creating sensor networks).
The Xbee shield has two jumpers (the small removable plastic sleeves that each fit onto two of the three pins labelled Xbee/USB). These determine how the Xbee's serial communication connects to the serial communication between the microcontroller (ATmega8 or ATmega168) and FTDI USB-to-serial chip on the Arduino board.
With the jumpers in the Xbee position (i.e. on the two pins towards the interior of the board), the DOUT pin of the Xbee module is connected to the RX pin of the microcontroller; and DIN is connected to TX. Note that the RX and TX pins of the microcontroller are still connected to the TX and RX pins (respectively) of the FTDI chip - data sent from the microcontroller will be transmitted to the computer via USB as well as being sent wirelessly by the Xbee module. The microcontroller, however, will only be able to receive data from the Xbee module, not over USB from the computer.
With the jumpers in the USB position (i.e. on the two pins nearest the edge of the board), the DOUT pin the Xbee module is connected to the RX pin of the FTDI chip, and DIN on the Xbee module is connected to the TX pin of the FTDI chip. This means that the Xbee module can communicate directly with the computer - however, this only works if the microcontroller has been removed from the Arduino board. If the microcontroller is left in the Arduino board, it will be able to talk to the computer normally via USB, but neither the computer nor the microcontroller will be able to talk to the Xbee module.