5015 B.U. Bowman Drive Buford, GA 30518 USA Voice: 770-831-8048 Fax: 770-831-8598
ZMN2405/ZMN2405HP/
ZMN2430/ZMN2430HP
ZMN2430A/ZMN2430HPA
Module Series
ZigBee® Module
Developer’s Kit
User’s Manual
Important Regulatory Information
RFM Zigbee Series Regulatory Identification
ZigBee Module FCC ID IC ID Type of Grant
ZMN2405 HSW-ZMN2400 4492A-ZMN2400 Mobile
ZMN2405HP HSW-Z2400HP 4492A-Z2400 Mobile
ZMN2430 HSW-Z2430 4492A-Z2430 Mobile
ZMN2430HP HSW-Z2430HP 4492A-Z2430HP Mobile
THIS DEVICE COMPLIES WITH PART 15 OF THE FCC RULES. OPERATION IS SUBJECT
TO THE FOLLOWING TWO CONDITIONS. (1) THIS DEVICE MAY NOT CAUSE HARMFUL
INTERFERENCE, AND (2) THIS DEVICE MUST ACCEPT ANY INTERFERENCE RECEIVED,
INCLUDING INTERFERENCE THAT MAY CAUSE UNDESIRED OPERATION.
FCC User Information
NOTE: This equipment has been tested and found to comply with the limits for a Class
B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to
provide reasonable protection against harmful interference in a residential installation.
This equipment generates, uses, and can radiate radio frequency energy and, if not
installed and used in accordance with the instructions, may cause harmful interference
to radio communications. However, there is no guarantee that interference will not occur
in a particular installation. If this equipment does cause harmful interference to radio or
television reception, which can be determined by turning the equipment off and on, the
user is encouraged to try to correct the interference by one or more of the following
measures:
• Reorient or relocate the receiving antenna.
• Increase the separation between the equipment and receiver.
• Connect the equipment into an outlet on a circuit different from that to which the
receiver is connected.
• Consult the dealer or an experienced radio/TV technician for help.”
Warning:
Changes or modifications to this device not expressly approved by RFM Inc. could void the
user’s authority to operate the equipment.
These devices can not be co-located with another transmitter without re-evaluation and
separate FCC authorization.
3079 Premiere Pkwy Ste 140
Duluth, Georgia 30097
www.RFM.com
+1 (678) 684-2000
RF Exposure
For ZigBee products with “Mobile Grants”. In accordance with FCC requirements of human
exposure to radiofrequency fields, the radiating element shall be installed such that a minimum
separation distance of 20 cm shall be maintained from the user and/or general population.
Only antennas approved by the FCC for these modules may be used. Contact RFM for details.
For ZigBee products with “Portable Grants”. In accordance with FCC requirements of human
exposure to radiofrequency fields, the radiating element of there devices can be installed such
that a separation distance of 2.5 cm or less can be maintained from the user and/or general
population. (See Appendix 1 at the end of this document) These products have an intergraded
antenna on the module which must not be removed.
Industry Canada
This Class B digital apparatus meets all requirements of the Canadian Interference Causing
Equipment Regulations. Operation is subject to the following two conditions:
(1)this device may not cause harmful interference, and (2) this device must accept any
interference received, including interference that may cause undesired operation.
Cet appareillage numérique de la classe B répond à toutes les exigences de
l'interférence canadienne causant des règlements d'équipement. L'opération est sujette
aux deux conditions suivantes: (1) ce dispositif peut ne pas causer l'interférence nocive,
et (2) ce dispositif doit accepter n'importe quelle interférence reçue, y compris
l'interférence qui peut causer l'opération peu désirée.
Suggested End Product Labeling
The final end product must be labeled in a visible area on the exterior of the enclosure with the
following or similar text: “Contains TX FCC ID: (use correct ID from table above)”
European Union
All ZigBee modules conform to the requirements of ETSI EN 300 328 standard for radiated
emissions.
Table of Contents
Regulatory Information ……………………………………………………………………………………
Congratulations on your purchase of RFM’s ZigBee Developer’s Kit. The developer’s kit
contains everything needed to get a two node ZigBee network up and running. Refer to Figure 1
for the contents of your kit.
Figure 1. Developer’s Kit Contents
The modules in this kit have been designed by RFM Engineers and embody the accumulated
expertise gained over 20 years of RF design and implementation experience. Experience
gained designing and implementing some of the most difficult RF networks around including
nuclear power plant monitoring, medical patient vital signs telemetry and industrial asset
tracking. This manual covers both the ZMN2405DK and the ZMN2405HPDK. The only
difference between the two kits is the output power of the modules included. The ZMN2405
module provides 1mW of RF power while the ZMN2405HP provides 65mW of RF power (when
coupled with a 2dB dipole antenna, the ZMN2405HP provides 100mW EIRP).
RFM has six base module versions: ZMN2405, ZMN2405HP, ZMN2430, ZMN2430HP,
ZMN2430A and ZMN2430HPA. All four modules use the same firmware and thus operate the
same. The difference with the two HP versions is that they provide 65mW (100mW with the 2dB
dipole antenna) of transmit power instead of the 1mW of the non-HP modules. The 2405
modules are solder bump while the 2430 modules are castellated. All versions are based on the
CC2430 single chip module. Refer to the data sheets on the dev kit CD for details of the
mechanical differences of the modules. In addition to being available as Coordinator, Router,
and End Device versions, there are “A” versions that include a chip antenna.
There are various flavors of ZigBee devices that this module must support, the Coordinator, the
Router and the End Device. How these devices work and what their functions are in a Zigbee
network are explained in detail is Section 2, Zigbee Networking. The development board can
also be configured as an End Device by downloading the End Device code load provided as
part of the kit. Programming the module is explained in Section 6.
ZigBee is a mesh networking and security stack that sits on top of an 802.15.4 MAC layer radio.
802.15.4 specifies the frequency bands, the number of channels, the spreading technique and
the modulation method. ZigBee controls how data is routed between 802.15.4 physical layer
radios, adding mesh and encryption capability along the way.
There are three types of devices specified in ZigBee: a Coordinator; a Router and an End
Device. The Coordinator and Router are sometimes referred to as Full Function Devices or
FFDs. The End Device is sometimes referred to as a Reduced Function Device or RFD. Since
an FFD can be a Coordinator or a Router, this manual will use the Coordinator, Router and End
Device names.
The Coordinator is responsible for setting the channel for the network to use, making its
presence known to Routers and End Devices, assigning network addresses to Routers and End
Devices and keeping the routing tables for the network that are necessary to route data from
one ZigBee device to another in the same ZigBee network. Each network must have one and
only one Coordinator. Without a Coordinator, a network cannot form. Typically, although it is not
a requirement, the Coordinator will function as the gateway or takeout point for applications
where data from the ZigBee network will be sent off the network and will be received from
devices off the network.
The Router, as its name implies, is responsible for routing data from other Routers or End
Devices to the Coordinator or to other Routers closer to the Coordinator. The Router can also
be a data input device, either serially or through the I/O pins of the module.
The End Device can only communicate with the Coordinator or a Router. An End Device cannot
communicate directly with another End Device. Communication between one End Device and
another End Device must go through the Coordinator or a Router and may go through one or
more Routers.
Figure 2 depicts a typical ZigBee network with two levels of Routers. The box labeled C
represents the Coordinator, the boxes labeled R represent Routers and the boxes labeled E
represent End Devices. As can be seen from the diagram, each End Device has multiple
potential communication paths. The most likely path is a solid line with backup paths indicated
with dashed lines. From this Figure it is seen how End Devices only communicate with Routers
and the Coordinator while Routers can communicate with End Devices, other Routers or the
Coordinator. The Coordinator can communicate with Routers and End Devices.
The Coordinator is typically the first element powered up. The Coordinator will listen on the first
channel of the set of channels that has been specified for it to use in forming a network. If the
Coordinator detects RF energy on that channel, it will move to the next channel in the channel
set until it finds a clear channel. If a clear channel cannot be found, the Coordinator will indicate
an error.
If a PAN ID has been specified, the Routers and End Devices will look for a Coordinator with the
specified PAN ID. If a Coordinator is not found on a channel, or one is found, but has the wrong
PAN ID, the ZigBee device will go to the next channel on its channel list until a satisfactory
Coordinator is found. The Coordinator will assign each device that identifies itself to the
Coordinator a 16-bit network address. This 16-bit network address is used to route data within
the network. Each ZigBee device has a unique 8-byte MAC address just as in an Ethernet
network. The 16-bit network address can and will change every time the Coordinator is power
cycled unless the Static Network mode is enabled. (Refer to Section 2.6 for details).
The network is now formed. If the Routers and End Devices have been configured to transmit
data on their own, they will begin doing as they have been told. If the Coordinator is to be used
as a gateway too, it is typically necessary to let the application communicating with the gateway
to know what devices are on the network. ZigBee provides a discovery command which returns
from the Coordinator/gateway, the 16-bit network addresses of all devices associated in the
network. The application then must request the 8-byte MAC address and optionally the “Friendly
Name” of each device associated with the network. Once the devices associated with the
network have been discovered and the MAC addresses obtained, the application can address
data and commands to individual devices on the network.
ZigBee envisions that Routers and Coordinators will always be powered and never put to sleep
as they must always be awake since they do not know when another device may attempt to
communicate. End devices on the other hand, are expected to send data for a brief period of
time and then go to sleep for the majority of the time. When the End Device is asleep, any data
addressed to it will be held by the Router (or Coordinator) with which it is associated. When the
End Device wakes up, it will send a request for the Router (or Coordinator) to send any data it
may be holding. End Devices do not have to go to sleep. They can be configured as mains
powered and always be awake.
ZigBee provides that sleeping End Devices will do two things: 1) wake up periodically and see if
their parent device is holding data for them; and 2) wake up periodically and perform some
operation. It is possible to have an application poll sleeping End Devices. However, since the
End Device will not respond until it wakes, the amount of time the application must wait to
receive a response will be related to how often the End Device awakens.
The rest of the details of sleeping End Device modes are dependent on the application profile
used. Details of the sleep modes implemented in RFM’s CSM profile are provided in Section 8.9
of this manual.
2.3 ZigBee Addressing
The ZigBee standard provides for two means of addressing ZigBee devices, whether they are
Coordinators, Routers or End Devices: MAC Addresses and Network Addresses. MAC
addresses are just like MAC addresses in Ethernet networks. The MAC address is 8 bytes long,
is unique to each device and permanently stays with the device. Network addresses are 2 bytes
long and are assigned to ZigBee devices as they associate with the network. As such, the
network address is not known before the network forms and can change when a ZigBee device
re-associates with the network.
Much like an Ethernet device, RFM’s ZigBee modules have their MAC addresses programmed
into them at the factory as part of the manufacturing process. RFM’s prefix of
in the MAC address and thus can be used to identify RFM products. While the MAC address
uniquely identifies each ZigBee device - regardless of manufacturer or position in the network it contains no routing information and thus can be used only to communicate with devices that
are directly connected to a ZigBee device. That is, if a Router wants to talk to an End Device or
Router to which it has a direct connection (the data does not have to be routed through another
device), it can use the MAC address. However, if it wants to talk to a ZigBee device but needs
to have the data routed through another ZigBee device, it must use the network address.
The network address is assigned to ZigBee devices as they associate with the network. The
Coordinator always has network address
a way that the address contains routing information. As a 2-byte value, the network address
can handle 65,535 potential devices in a single ZigBee network. For a ZigBee device to send
data to a device on the network which is not directly connected to it, the network address must
be used. Based on the address, the ZigBee Routers can determine the next ZigBee device to
send the data to until it reaches the intended device.
If an application needs to send data to specific devices on a network, the application must
maintain a table that links device-specific MAC addresses with their assigned Network
addresses. The application also must be aware that the network address of a specific device
can change due to power cycling, loss of connection, etc. Network and MAC addresses can be
determined through the Discovery and Get IEEE Address commands. Refer to the next section
on Discovery and Section 8 for details on these commands.
0x0000. The network addresses are assigned in such
2.4 Discovery
While it is possible for ZigBee devices to only communicate among other devices on the ZigBee
network, typically it is a requirement that the devices on the network be known to either
applications or other devices that are not part of the ZigBee network. ZigBee supports this need
through a Discovery process. The Discovery process reports back all of the ZigBee devices on
the network that have joined the network. All devices respond whether directly connected or not.
In a network of several layers of depth, it will take a series of steps to discover all of the devices
on the network. It is not necessary for sleeping End Devices to be awake to learn of their
presence in the network. The parent device of the sleeping End Device will report its presence.
2.5 Network Topology and Size
ZigBee can support three primary network topologies: Star, Cluster Tree and Mesh. Depending
on the configuration, the number of nodes the network can support will change. ZigBee uses
three parameters that effectively control the network topology and the number of potential
nodes. These three parameters are Max Number of Children, Max Number of Routers and Max
Network Depth. These parameters are determined by the stack profile being used (this is
different than the application profile) and cannot be configured after compilation of the code.
Parents and Children. In ZigBee parlance, devices higher and lower in the network hierarchy
are referred to as Parents and Children respectively. The Coordinator in a network is the parent
to all devices directly associated with the Coordinator, regardless of whether they are Routers or
End Devices. Routers which are children to the Coordinator are parents to devices that directly
associate with them, also regardless of whether they are Routers or End Devices. End Devices
cannot be parents and are always children of either the Coordinator or a Router.
Max Number of Children (MNC). This parameter specifies the maximum number of devices for
which a ZigBee device can act as a parent or upstream connection. For example, in a star
network, MNC will determine the maximum number of devices that can associate with the
Coordinator. For a cluster tree or mesh network topology, the MNC specifies the number of
children the Coordinator and Routers can each have associated with them. In the only ZigBee
approved stack profile (Home Control Lighting) MNC is twenty. This means that a star network
can have 21 nodes in it, 1 Coordinator and 20 children. For cluster tree and mesh topologies
MNC is not sufficient to determine the maximum number of network devices.
Max Number of Routers (MNR). This parameter specifies how many out of the MNC devices
can be Routers. In the Home Control Lighting stack profile, MNR is set to 6. This means that the
Coordinator can have 6 Routers directly associated with it and each Router can have 6 Routers
associated directly with them. The other 14 devices directly associated with the Coordinator and
Routers must be End Devices. If there are fewer than 6 routers associated with the Coordinator
or a Router, the maximum number of end devices that can associate with either the Coordinator
or a Router is still 14.
Max Network Depth (MND). This parameter specifies how many levels of Routers may be
present in a ZigBee network. For a star network, while there can be Routers associated with the
Coordinator, the Routers cannot have any children. For cluster tree and mesh networks multiple
levels of Routers can be implemented. The Home Control Lighting stack profile set MND to 5.
This means a network could be constructed with the Coordinator at the top and 5 levels of
Routers beneath the Coordinator.
From these three parameters, the number of nodes that can be supported in a given network
configuration can be computed. In the simple case of the star network, it is simply the
Coordinator plus MNC. For cluster tree and mesh networks, the calculations are a little more
complicated. The Coordinator can support 20 devices of which 6 can be Routers and 14 End
Devices. If we assume that there are 2 Routers, and that both Routers have a full complement
of 14 End Devices - then this network can support the Coordinator, two Routers and 42 End
Devices. In practice, it is hard to know exactly how a network will form. While devices will
attempt to associate with the highest level of the network, if they are unable to establish a
connection, they will associate with a lower level of the network. So in the simple example
above, if some of the 14 End Devices that are assumed to be directly associated with the
Coordinator cannot establish a connection with the Coordinator but can establish a connection
with one of the two Routers, then some number less than 42 End Devices, 2 Routers and the
Coordinator will be supported by this network.
Because the Home Control Lighting profile is the only public stack profile, RFM has
implemented our ZigBee modules using that stack profile and thus are constrained by the limits
of 20 children per device, 6 Routers per device and 5 levels of Routers. Please contact RFM
Tech Support if your application requires different parameter values.
2.6 Static Network Addresses and Link Announcements
When a ZigBee network forms, nodes are assigned their 2-byte network addresses according to
how the network forms. For example, the first router that associates with the coordinator is
assigned the network address
address
0x143E. If the network is powered down and then powered up again, if the router
originally assigned network address
originally assigned network address
Applications that send data over the ZigBee network must keep track of the network addresses
assigned to the nodes on the network. If the network loses power, the application must detect
that and rediscover the network. This can be a cumbersome process for the application
especially during application development or system testing.
To alleviate the problems caused by these situations, RFM has implemented two features:
Static Network Addresses and Link Announcements. Each is described in detail below.
Static Network Addresses
When enabled through a configuration parameter, Static Network Addresses causes the ZigBee
modules to save their network address in non-volatile memory. If power is subsequently lost to
the network or just the node, the module will request its original network address when power is
restored. If the entire network lost power, this will cause the network to be formed with each
ZigBee device having its original network address. If the original parent is no longer available,
0x0001. The second router to associate is assigned the network
0x14FE associates with the coordinator before the router
0x0001, it will be assigned network address 0x0001.
the ZigBee device will stop trying to re-associate with its original network address and reassociate with the network as if it had never belonged.
Static Network Addresses cannot be used in a mobile environment as it is expected and desired
that nodes will associate and re-associate using different parents. In the event when Static
Network Addresses are being used, if a parent is no longer available, the node device will
associate and receive a new network address.
Link Announcements
To prevent the application from periodically rediscovering the network again to learn the network
addresses - most of which will not have changed - RFM has implemented Link Announcements.
Link Announcements are always enabled. Any time a node associates with a network whether it
is the first time or the fifth time, and regardless of with which parent device it associates, a Link
Announcement message is sent to the coordinator. The Link Announcement message includes
the network address of the node joining the network. The GET IEEE command can be used to
determine the MAC address of the joining device.
Once you have identified all the components of your kit, connect either the 6dBi patch antenna
directly to the RF connector on the development boards or the RF cable and 2dBi dipole
antenna. It is not necessary to use the same antenna on both boards.
3.1 Installing ZBDemo
The next step is to copy the ZBDemo program onto a computer. The ZBDemo program is on the
Software and Manuals CD in the Software directory included with the kit. Copy the file
zbdemo.exe onto the hard drive of the computer and remember into which directory it was
copied.
3.2 Installing USB Drivers
If a USB port is to be used to communicate with the development board, the drivers for the USB
adapters must be installed on the PC. The USB drivers are on the Documentation and Software
CD under the Drivers folder. When the computer detects the presence of the hardware, the
“Add New Hardware Wizard” box will appear. Click on “Next” and follow the prompts. Refer to
Section 5 for step-by-step instructions.
3.3 Running ZBDemo
One development board is setup as the Coordinator and the other development board is setup
as a Router. Connect the Coordinator to either the USB or RS-232 serial port of the computer.
Use either the wall-mount power supply or a 9V alkaline battery. It is not necessary to use the
same power type for each radio. Apply power to the Coordinator first and verify the Power LED
is on.
When the Coordinator has found that the channel is clear, the Link LED on the Coordinator will
glow green. Once the Coordinator has turned on the Link LED, the Router can attempt to
associate with the Coordinator. Once it has associated with the Coordinator, the Link LED will
glow green. Wait until the Link LEDs on all radios are glowing green before continuing. Start the
ZBDemo program by double-clicking the ZBDemo icon on the computers’ desktop.
Click the Connect button on the ZBDemo screen. A window will open showing the
communications parameters to be used to communicate with the Coordinator. Select a serial
port from the drop down menu. Selections that are available will be marked as “OK”, those
unavailable will be marked as “N/A”. 38,400 is the Default baud rate. This window changes the
PC Comm Port parameters but not the development board.
The Comm Port Settings dialog is pre-loaded with default settings. In most instances, simply
clicking OK will allow ZBDemo to find the radio and load the main program window. If, however,
the default settings are incorrect, the radio will not be found. This screen allows you to connect
to the radio using two methods.
The first is to use the drop down menus to change the default settings for Comm Port, Baudrate,
Parity and Stop Bits to the correct values. Obviously, this assumes you know which settings the
radio is using. If, however, those parameters may have been changed and are not known, a
second method is available.
The Auto Detect function works this way. If set to FALSE, once OK is selected, the program
uses the default settings to try to communicate with the radio. If set to TRUE, the program will
begin a systematic process beginning with the first valid port (COM 1 in most cases) then will
cycle through each baud rate, then each parity setting, then each stop bit setting finally
changing to the next available COM port and repeating the process until a radio is found.
Once the radio has been found, click OK and after a few seconds, information about the ZigBee
module in the Coordinator will be displayed in the Local Radio column along with its 8-byte MAC
address. The Status condition of CONNECTED indicates the computer has detected the
development board as shown below.
Click on the Discover Radios button. This will cause the Coordinator to request information
about the Router development board.