Arduino XBee Shield

XBees are wireless transceivers from Digi that implement the Zigbee protocol. Zigbee is a wireless communication protocol like wifi and bluetooth. XBees are simple devices that we can use to set up serial communications between our applications. Shields are boards that can be plugged on top of the Arduino PCB extending its capabilities. The purpose of a shield is to provide new plug-and-play functionality to the host micro controller, such as circuit prototyping, motion control, sensor integration, network and radio communication, or gaming interfaces, without worrying too much about the hardware implementation details. The different shields follow the same philosophy as the original toolkit: they are easy to mount. 

       This XBee Shield made by RhydoLABZ simplifies the task of interfacing an XBee with your Arduino, Yes it is compatible with Arduino Due, which require 3V3 as interfacing voltage as well as all other Arduino boards and its clones. It is based on Arduino R3 layout with additional pins. This board mates directly with all Arduinos and equips it with wireless communication capabilities using the popular XBee module. Since it is populated with high current(500 mA) 3V3 regulator, this unit works with all XBee modules including the Series 1 and Series 2, 2.5, standard and Pro version.

     The shield is provided with a DPDT sliding switch which helps XBee module to connect either PC via USB or UART Pins of Arduino microcontroller. This feature helps you to configure the XBee module before using in your project.No need for separate XBee development board or XBee explorer. Power is taken from the 5V pin of the Arduino and regulated on-board to 3.3 VDC before being supplied to the XBee. The shield also takes care of level shifting on the DIN & DOUT pin of the XBee. There is another option(Jumper selectable ) which allows you to connect XBee module to either Digital UART or Software UART.

        The board is populated with 3 state bus driver for converting 5V signal to 3V3 instead of normal voltage divider resistor network. Since we used the buffer we can use this shield with 3V3 as well .The board also includes LEDs to indicate power and activity on DIN, DOUT, RSSI,Sleep and DIO5 pins of the XBee. The Arduino’s reset button is brought out on the shield, and a 12×11 grid of 0.1″ holes are available for prototyping. The shield does come with headers installed, So no Soldering required at all , just plug and play.

Features:

  • Compatible with all Arduinos including latest Arduino Due
  • Can be use as XBee development board
  • Mounts directly onto your Arduinos
  • Selectable level Shifting (5V & 3V3)
  • 3.3V power regulation and level shifting on-board
  • 12×11 grid of 0.1″ spaced prototyping holes
  • All XBee pins are available at male Headers.
  • Reset button brought out
  • Power, DIN, DOUT, RSSI,Sleep and DIO5 indicator LEDs

Compatible with:

  • Arduino Deumlanove/UNO
  • Arduino Due
  • Arduino MEGA
  • Leaf maple
  • ChipKit MAX32
  • ChipKit UNO32
  • FEZ Panda II
  • Freeduino
  • Simple Cortex
  • Seeeduino
  • Seeduino MEGA 
Specifications:
PIN Diagram:

Arduino XBee Shield pin details given below.
Layout:

Component details: 
  •  There are 8 jumper connections in  Rhydolabz’s Arduino XBee shield. That are explained below
    • J1 (RESET) – On-board PCB jumper j1 is connected between Arduino’s reset pin and ground,that is across reset switch. whenever you are using a board with controller IC it will make the Rx pin high,this may cause error in received data so in such case you have to press that reset switch or remove that IC from the board and receive the accurate data in window terminal. In some cases the IC is directly embedded on the board in such cases j1 is connected to make communication with PC possible.
    • J2 & J5 (S-UART/H-UART)- On-board PCB jumpers J2 & J5 are provided at the bottom of PCB to select the Rx and Tx pin of Digital UART or Software UART on Arduino. The jumper position in the figure shows the default condition that is selection of digital UART .
    • J3 (RST) – In Arduino XBee Shield schematics you’ll find out that DIO3 on the XBee is wired to RST in the Arduino. This jumper allows you to enable or disable the control of the Reset Pin of Arduino by the DIO3 pin of the XBee module. 
    • J4 (RTS) – This jumper is used for hardware flow control. When jumper j4 is closed we can connect  RTS-LV (Request To Send) pin of XBee to D7 pin of Arduino.
    • J6 (IOREF)– Power to the XBee Shield is taken from Arduino board through 3V3 LDO Voltage Regulator. Jumper j6 is used for the selection of VREF. If 5V-only Arduino board is used, 5V to 3.3V conversion is necessary. It is usually done with LDO; basically all you need is a level shifter. So the 5V power selector jumper j6 closed, 3.3V jumper open, VBUS powered from 5V, input of LDO connected to VBUS pad and output of LDO connected to 3.3V pad on the circuit side of 3.3V jumper.
    • J7 (CTS) – This jumper is used for hardware flow control. When jumper j7 is closed we can connect D8 pin of Arduino to CTS-LV (Clear To Send) pin of XBee.
    • J8 (CTS-RST)  – The jumper j8 is used to reset the XBee using software.This jumper is connected between XBee,s CTS-LV pin and reset pin through npn transistor Q5. we can program to make CTS-LV high, when j8 is connected, the Q5 base is also high.This will make Q5 ON and reset connected to ground.This jumper is used for XBee firmware updation.
  •  There are 6 leds and 2 switches  in  Rhydolabz’s Arduino XBee shield. That are explained below:
    • Switch(SW1): The DPDT switch(SW1) switches the XBee Shield’s input/output between Arduino’s and USB Transceiver so as to get data on PC via USB connector or on Arduino board.
    • RESET switch:The Arduino reset switch is also brought out at the PCB for your easy access.RESET switch is directly connected to the Arduino reset switch.This switch is used to restart the Arduino sketch.
  • LEDs: The Arduino XBee Shield also includes LEDs to indicate power and activity on RXD,TXD, RSSI ,SLP and ASOC pins.
    • D1(TXD):A red led is connected to the TXD pin to indicate the data transmission. During the transmission TXD led blinks as per the data rate.
    • D2(RXD):A green led is connected to the RXD pin to indicate the data reception.
    • D3(RSSI) :A yellow led present on the top side of the XBee shield is connected to the RSSI (Received Signal Strength Indicator) pin of the XBee module. XBee outputs a PWM signal on this pin which is directly proportional to the quality of the RF link when the last packet was received by it. This PWM signal when applied to the LED would vary its brightness as per the quality of the RF link – better the link, brighter the LED.
    • D4(PWR):A blue led is used for power indication.
    • D5(ASOC):A red led is connected to DIO5 pin of XBee. When we use a paired Zigbee, to construct a simple point-to-point network, one of the devices must be a Coordinator and the other must be a Router (an ‘endpoint’ device).The ASOC led is used for Association Confirmation received to the endpoint device from the Coordinator or ASOC led will not blink if the End Device has not associated.
    • D6(SLP):After completion of installation setup SLP LED(Green) is turn ON .
How To Test:
1. USB mode – Without micro controller IC on arduino board
  • Here one sample test is shown using Arduino XBee shield
  • Place the XBee shield on the Arduino board.
  • Switch the DPDT switch in USB mode.
  • Open the serial terminal
  • Choose the appropriate COM port that got assigned to the explorer in your system by looking into the device manager like as shown below.In this figure you can see USB serial COM5 got selected:

  • In this example we are making communication between two paired zigbee COM PORT of coordinator zigbee is set in Hyperterminal and wrote a message like here it is “Hai Xbee connected” sent it to end point Xbee.
  • And we opened other terminal window i.e realterm and COM PORT set in realterm terminal window is of End point Xbee and received message sent from coordinator Xbee in realterm. Click here to download realterm.

Note:  The above message  shown in hyper-terminal is written from coordinator XBee and simultaneously sent to the end device  XBee. 

2. Arduino mode – With micro controller IC on Arduino board

Here one sample test is shown using Arduino XBee shield. Place the XBee shield on the Arduino board. Switch the DPDT switch in Arduino mode. When in Arduino mode – With micro controller IC on Arduino board , the DOUT pin of the XBee module is connected to the RX pin of the microcontroller; and DIN pin is connected to TX. The XBee module then communicate with the microcontroller. The RX and TX pins of microcontroller are connected to the TX and RX pins of the USB to serial converter. Data sent from the microcontroller will be transmitted to the computer via USB as well as being send wirelessly by the XBee module.The Arduino microcontroller will be able to receive data only from the XBee module, not over USB from a computer.

Load the program, the program instructs the board to turn on the LED attached to pin 13 whenever it receives an ‘O’ over its serial connection, and turn the LED off when it gets an ‘F’. Open the serial terminal and type ‘O’ and ‘F’ to check LED status.

The serial terminal window is shown below.

 

Resources:

 How to Buy:

Support:
Please share your ideas with us, visit our forum for discussion. 

Frequently Asked Questions(FAQ):Q. Which XBee modules are compatible with Arduino XBee Shield?
Ans: XBee modules including the Series 1 and Series 2, 2.5, standard and Pro version are compatible with Arduino XBee Shield.

Q.Whether Rhydolabz’s Arduino XBee shield can be used as a breakout board?
Ans.Yes, it can be used as breakout board.

Q.Does Rhydolabz’s Arduino XBee shield need external power supply connection?
Ans.No, there is no need of external power power supply connection. According to the requirement, power is taken from the Arduino board.

Leave a Reply