Arduino XBee Shield (HT)

There are several XBee Shields available for Arduino boards; and apart from the price we felt that they generally have a few useful features missing, so we designed our own.

XBee radios allow you to add wireless capability to your Arduino project. The shield form-factor mates directly with any Arduino board that has an Arduino standard footprint and works with all XBee modules including the Series 1 and 2, standard and Pro versions.

The majority of Arduino boards work at 5V, but XBee radio's work at 3.3V so we have added a 3.3V 500mA voltage regulator on the shield to provide the power needed and also mosfet logic level conversion from the Arduino boards 5V to the XBee's 3.3V. This is on the XBee's DIN and DOUT pins which would normally connect to the Arduino RX and TX pins. There is also a solder link on the board to select the logic level conversion voltage. It is set by default to Arduino 5V level, but if you are connecting this shield to an Arduino DUE (which works at 3.3V not 5V) you can change this to 3.3V.

The XBee serial pins (DIN and DOUT) are connected through an SPDT switch which allows you to select whether the pins are connected to the Aduino UART pins (TX, RX) or to two pins which can then be connected to any digital pins on the Arduino.

The board also includes LEDs to indicate Power and activity on DIN, DOUT and RSSI pins of the XBee. The Arduino's reset button is brought out on the shield, and a grid of 0.1" holes are available for prototyping. The shield does not come with headers installed but does come with the appropriate male header pins. If you are going to stack another shield on top of the XBee Shield we recommend using a Stackable header kit instead. The XBee module is also not included.

Features

Compatable with Uno, Leonardo, Mega and Due and most other Arduino boards

Selectable RX/TX connections

Can be used to program XBee Module using XCTU software or AT commands

Onboard 3.3V 500mA Voltage Regulator

Selectable Mosfet Logic Level Conversion to 5V or 3.3V

Power, DIN, DOUT, RSSI indicator LEDs

Arduino Reset Switch

Useful Prototyping Area

Comes with 1x10, 2x8 and 1x6 way male header pins

DIN, DOUT, RX, TX

There can sometimes be confusion regarding the serial connection pins, so hopefully this will clarify

XBEE Pin

Description

DIN

Data IN to the XBee. This is data to be transmitted and would normally connect to the Arduino TX pin.

DOUT

Data OUT from the XBee. This is data received from another XBee radio and would normally connect to the Arduino RX pin

Programming the Arduino

If the XBee pins are connected to the Arduino RX and TX pins, this could cause problems when programming the Arduino. To solve this simply flick the switch away from the UART connection while programming the Arduino

Programming the XBee in-situ using XCTU

The XBee module can be programmed in-situ using the USB-serial connection onboard the Arduino. There are a few steps to accomplish this

Program the Arduino with a sketch that does NOT use the RX and TX pins. For example the "blink.pde" program is ideal. If your program doesn't use the RX and TX pins you may skip this step

Step 3 can seem confusing, but you need to consider that the Arduino TX pin is connected to the onboard USB-serial RX pin. So what we are actually doing is connecting the USB-serial RX pin to the XBee DOUT pin. Similarly the XBee DIN is connected to USB-serial TX.

MOSFET Logic Level Conversion

As described above, the board has logic level conversion for the XBee's DIN and DOUT pins. There is no logic conversion for any of the XBee's other pins so do not connect them directly to any Arduino 5V pins or damage to the XBee module may occur.