The Official Arduino Wireless Proto Shield is the easiest way to add Xbee modules to your Arduino. This simple shield is designed to work with Digi Xbee Modules (or other modules with the same footprint) to give your projects wireless capabilities. The handy prototyping area lets you add circuits and sensors so you can relay data without wires or separate protoshields.
One great feature on this shield is the onboard serial select switch. It
allows you to A) let the microcontroller communicate to the module, or
B) let you configure the module with your computer through the USB port
on the Arduino, eliminating the need for other adapters and cables. Very nice!
Note: This shield does not have onboard SD as stated in the files below.Eagle FilesSchematic
The Wireless Proto shield has an onboard switch labelled Micro and
USB. This determine how the Xbee's serial communication connects to the
serial communication between the microcontroller (ATmega8 or ATmega168) and USB-to-serial chip on the Arduino board.
When in the Micro position, the DOUT pin of the
wireless module is connected to the RX pin of the microcontroller; and
DIN is connected to TX. The wireless module will then communicate with
the microcontroller. Note that the RX and TX pins of the
microcontroller are still connected to the TX and RX pins (respectively)
of the USB-to-serial converter. Data sent from the microcontroller will
be transmitted to the computer via USB as well as being sent wirelessly
by the wireless module. The microcontroller will not be programmable
via USB in this mode.
With the switch in the USB position, the DOUT pin
the wireless module is connected to the RX pin of the USB-to-serial
converter, and DIN on the wireless module is connected to the TX pin of
the USB-to-serial converter. This means that the module can communicate
directly with the computer. The microcontroller on the board will be
bypassed. To use the shield in this mode, you must program the
microcontroller with an empty sketch (shown below), or remove it from
The Wireless Proto shield can be used with different modules with the same footprint as the XBee modules. The instructions below are for the XBee 802.15.4 modules
(sometimes called "Series 1" to distinguish them from the Series 2
modules, although "Series 1" doesn't appear in the official name or
product description) and also for the XBee ZNet 2.5 or XBee ZB
modules, both known as "Series 2" modules. All the modules, basically
have the same type of configuration parameters, but differ by the
function that they implement and the topologies of networks that they
can create. Can communicate with each other only modules of the same
There are multiple parameters that need to be configured correctly
for two modules to talk to each other (although with the default
settings, all modules should be able to talk to each other). They need
to be on the same network, as set by the ID parameter
(see "Configuration" below for more details on the parameters). The
modules need to be on the same channel, as set by the CH parameter. Finally, a module's destination address (DH and DL
parameters) determine which modules on its network and channel will
receive the data it transmits. This can happen in a few ways:
Again, this address matching will only happen between
modules on the same network and channel. If two modules are on
different networks or channels, they can't communicate regardless of
For the "Series 2" modules you must chose which
firmware put on the module to give it Coordinator, Router or End Device
functionality. Series 2 use only serial low (SL) and serial high (SH) for addressing.
Here are some of the more useful parameters for configuring your Xbee
module. For step-by-step instructions on reading and writing them
using AT commands, see the:
Make sure to prepend AT to the parameter name when sending a command to the module (e.g. to read the ID parameter, you should send the command ATID).
Note: although the valid and default values in
the table above are written with a prefix of "0x" (to indicate that they
are hexadecimal numbers), the module will not include the "0x" when
reporting the value of a parameter, and you should omit it when setting
Here are a couple more useful commands for configuring the XBee module (you'll need to prepend AT to these too).
Compatible with Digi Xbee Modules
Copyright © Built with Volusion