You are on page 1of 5

How To Use Zigbee in student projects

CHANGES Visit this page for news of recent developments in


EEE Zigbee tools & documentation

Introduction to Zigbee network characteristics and performance

Some collated hardware & software datasheets


The supported Zigbee modules are Meshnetics/Atmel Zigbit. These are cheap (18 from
OneCall). They can be programmed using a high quality free toolchain. However for many
applications they will not need to be programmed (see below).

Zigbee Hardware Availability


I have a few MeshBean 2 development boards that will work as controllers or endpoints or
routers.

The department can make PCBs which have Zigbit modules and serve as either controller
boards (with USB interface to PC) or endpoint boards. All these boards use built-in aerials
on the Zigbit Modules. The home-made boards can be programmed in exactly the same was
as the development boards. Variants are available with LCD interfaces.

The boards are very simple circuits and the endpoint PCB can be adapted to include other
hardware. All PCB designs are available as EAGLE CAD files. Uptodate documentation &
board CAD files is available from

EEE ZIGBIT Boards

Atmel RZRAVEN development kits include a USB radio dongle and AVR Raven
boards which are fairly cheap and contain LCDs controlled by an additional AtMega3290P

microprocessor. (NB use of these boards is now deprecated EEE z-avr-lcd boards
running SerialNet will be a better solution). BitCloud (see below) will run on RZRAVEN. An
application for writing to LCD is available. Code can be developed by programming the
additional microprocessor - simpler than using BitCloud since the Zigbee stack is handled
transparently by the other processor. However no equivalent of SerialNet exists. Note that
RZRAVEN and SerialNet nodes cannot be driven from a single controller - however
RZRAVEN and Zigbit endpoints can be mixed and driven from a single controller via
BitCloud. See below for more information on software. AVR Raven boards have been used
for a number of projects fro which code on the web may be available. The ArchRock code
provides an IP interface from PC to AVR Raven over Zigbee, which can be used with
provided firmware on the AMega3290P and AVRUSBSTICK to provide simple remote LCD
write commands. The sample code for this can very easily be developed to add extra I/O
commands that communicate with the 3290P. The ArchRock sample 3290P code for writing
to the LCD is available and can be expanded to include other commands and/or a user
application. Note that 3290P I/Os are available. See the extended note on using ArchRock
code.

Zigbit Module Hardware Limitations


Zigbit modules expose a limited number of the microcontroller I/Os as pins:
9 spare GPIO, 2 spare IRQ lines
4 ADC lines + 1 line for supply voltage control (up to 9 lines with JTAG disabled)
UART with CTS/RTS control
USART
I2C
SPI
Wire
Up to 30 lines configurable as GPIO if other functions are not used
NB - See also SerialNet software limitations below which are much greater than hardware
limitations.

Programming Zigbit Modules


Any module can be programmed using JTAG (a very cheap compatible USB JTAG
interface for programming is AVR Dragon from Rapid Electronics).
Many modules will come pre-loaded with bootloader. Otherwise bootloader can be loaded
using JTAG as above. This allows serial port programming - useful for controller boards.
See AVR2052 for full information on software and hardware necessary to get started
programming modules. SEE AVR Toolchain Howto for local guide.
See AVR Serial Howto & AVR LCD Howto for details on how to interface to Serial links &
LCDs from microcontrollers

Zigbit Software
Method 1
Use SerialNet application on both controller & endpoints, as in Figure 1. Links on
boards select whether board is controller, router or endpoint. Zigbee mesh
network forms automatically. PC controls everything using AT commands see Reference . It is possible to write C under windows on a PC that can
communicate with & control Zigbee boards, any language that can control COM
(serial) ports will also be capable, Visual Basic, Python, Matlab, etc.

Figure 1
See SerialNet Usage document for more information.

Method 2

Add a local microprocessor which interfaces with Zigbit module via USART. See Notes on
how to do this..
This method is much more flexible since I/O is no longer limited to that on Zigbit module
and (more importantly) local processing is possible which allows much more efficient use of
the Zigee channel. SerialNet makes Zigbee use easy.

Method 3

It is possible (but more complex) to write applications under BitCloud which run on Zigbit
modules and perform local processing. This is much more work than method 2 but results in
smaller hardware footprint. Not recommended for projects except for good programmers
even then the fastest route to functional system will be method 2.

Method 4

A few projects will require much greater bandwidth than is available from
Zigbee/SerialNet. The solution is to use the underlying 802.15.4 stack. This protocol is
actually less complex (and therefore easier) than Zigbee. It allows star and tree topology
but not mesh. SerialNet does not work. See Atmel web pages for available software.
Support may be limited.

Further Information

See SerialNet usage guide for further discussion & information.

See Atmel AVR2052 Quick Start Guide and other documentation found in the BitCloud SDK
for Zigbit or RZRAVEN. Latest versions of the SDK can be found on the Atmel website.

Other modules. Many other vendors sell Zigbee modules (XBee etc). For student projects
the advantage of Zigbit is that the tool chain is good quality and free, and full Zigbee
operation is possible. Also this technology is used in the department. However note that
method 2 above decouples the Zigbee module from the rest of the design. Almost any
Zigbee module that comes pre-programmed with a serial interface (like SerialNet) can be
used. However you are on your own doing this.

Old Information from Meshnetics (obsolete software & dev kits)


Browse v2.0 README with links to documentation on web
Install dev kits with code and other dev tools from Zigbit Tools v2.0. (you will need
to run the Development kit 2.0 executable to obtain all the documentation).

Browse HTML version of the v2.0 dev kit documentation


Linked here for browsing (from old dev kits, may be out of date):
ZEK User's Guide
SerialNet AT Command Set
EZeeNet API
Download WinAVR (as windows executable installer) from sourceforge
Download AVR studio 4.x from Atmel

You might also like