Datasheet XBee S3B
Datasheet XBee S3B
Datasheet XBee S3B
XBeePRO900HP/XBeePROXSCRFModules
2014 Digi International Inc. All rights reserved.
Digi, Digi International, the Digi logo, and XBee are trademarks or registered trademarks of Digi International Inc. in the
United States and other countries worldwide. All other trademarks mentioned in this document are the property of their
respective owners.
Information in this document is subject to change without notice and does not represent a commitment on the part of Digi
International.
Digi provides this document as is, without warranty of any kind, expressed or implied, including, but not limited to, the
implied warranties of fitness or merchantability for a particular purpose. Digi may make improvements and/or changes in this
manual or in the product(s) and/or the program(s) described in this manual at any time.
This product could include technical inaccuracies or typographical errors. Changes are periodically made to the information
herein; these changes may be incorporated in new editions of the publication.
Technical Support:
Phone:
2014DigiInternationalInc.
Online Support:
www.digi.com/support
Email:
tech.support@digi.com
XBeePRO900HP/XBeePROXSCRFModules
Contents
1. Preface: How to Use this Manual 6
2. XBee-PRO 900HP RF Module Hardware 7
XBee-PRO S3B Hardware Description 7
Worldwide Acceptance 7
Sleep Mode 32
4. XBee-PRO 900HP Networking Methods 33
MAC/PHY Basics 33
Related parameters: CM, HP, ID, PL, RR, MT 33
UART 9
SPI 9
GPIO Specifications 9
DigiMesh Networking 35
Transmission Timeouts 36
Related Command: MR 35
Operation 40
DigiMesh Configuration 44
DigiMesh Diagnostics 46
Transmit Mode 29
AT Commands 60
Receive Mode 31
Command Mode 31
Remote AT Commands 60
2014DigiInternationalInc.
XBeePRO900HP/XBeePROXSCRFModules
Contents
Supporting the API 61
XBee-PORO 900HP Frame Descriptions 61
AT Command 61
AT Command - Queue Parameter Value 62
TX Request 62
Explicit TX Request 63
Remote AT Command Request 65
AT Command Response 66
Modem Status 66
Transmit Status 67
Route Information Packet 67
Aggregate Addressing Update 69
RX Indicator 70
Explicit Rx Indicator 71
Data Sample RX Indicator 72
Node Identification Indicator 72
Remote Command Response 74
75
8. XBee-PRO 900HP Advanced Application Features
XBee-PRO 900HP Remote Configuration
Commands 75
I/O Samples 82
Queried Sampling 82
2014DigiInternationalInc.
111
XBeePRO900HP/XBeePROXSCRFModules
Contents
FCC-approved Antennas 145
IC (Industry Canada) Certification 145
ANATEL (Brazil) Certification 149
Additional Information 150
2014DigiInternationalInc.
XBeePRO900HP/XBeePROXSCRFModules
Preface:HowtoUseThisManual
This combined manual contains documentation for two hardware platforms: the S3 and S3B. Existing S3
customers are strongly encouraged to migrate their systems and designs to the newer and superior S3B
platform.
This manual also contains documentation for two RF protocols: XStream Compatible (XSC) and 900HP. The
XSC firmware is provided for customers who need compatibility with existing networks that need to be
9XStream compatible. Customers who do not require this compatibility should not use the XSC firmware, but
rather the newer 900HP firmware.
Documentation for the XSC firmware is contained in Appendix A. All other firmware documentation in the
manual is not applicable to XSC firmware. Likewise documentation in Appendix A is not applicable to the
900HP firmware.
Note: The XBee-PRO 900HP RF Module is not backward compatible with the legacy XBee-PRO 900 (Part
Number: XBP09-DP) or XBee-PRO DigiMesh 900 (Part Number: XBP09-DM) RF Modules.
The following table describes how to use this manual based on the Digi part number for the module:
Digi Part
Numbers
FCC ID
Hardware
Platform
Pre-installed
Firmware
Firmware
Available
XBP09-XC
MCQ-XBEEXSC
S3
XSC
XSC
Appendix C
XBP9B-XC*T-001
(revision G and
earlier)
XBP9B-XC*T-002
(revision G and
earlier)
XBP9B-XC*T-021
(revision F and
earlier)
XBP9B-XC*T-022
(revision F and
earlier)
MCQ-XBPS3B
S3B
XSC
XSC
Appendix C
XBP9B-XC*T-001
(revision H and later)
XBP9B-XC*T-002
(revision H and later)
XBP9B-XC*T-021
(revision G and later)
XBP9B-XC*T-022
(revision G and later)
all other part numbers
beginning XBP9BXC...
MCQ-XB900HP
S3B
XSC
XSC / 900HP
Appendix B
XBP9B-D
MCQ-XB900HP
S3B
900HP
XSC / 900HP
Appendix B
2014DigiInternationalInc.
Regulatory
Information
XBeePRO900HP/XBeePROXSCRFModules
1.XBeePRO900HPRFModuleHardware
This manual describes the operation of the XBee-PRO 900HP RF module, which consists of firmware loaded onto XBeePRO S3B hardware.
XBee-PRO 900HP embedded RF modules provide wireless connectivity to end-point devices in mesh networks. Utilizing
the XBee-PRO Feature Set, these modules are interoperable with other devices. With the XBee, users can have their network up-and-running in a matter of minutes without configuration or additional development.
Note: The XBee-PRO 900HP RF Module is not backward compatible with the legacy XBee-PRO 900 (Part
Number: XBP09-DP) or XBee-PRO DigiMesh 900 (Part Number: XBP09-DM) RF Modules.
Worldwide Acceptance
FCC Certified (USA) - Refer to Appendix B for FCC Requirements.
Systems that include XBee-PRO Modules inherit Digis FCC Certification
ISM (Industrial, Scientific & Medical) frequency band
Manufactured under ISO 9001:2000 registered standards
XBee-PRO (900 MHz) RF Modules are approved for use in U.S. and Canada.
RoHS compliant
2014DigiInternationalInc.
XBeePRO900HP/XBeePROXSCRFModules
XBee
Performance
* Indoor/Urban Range
* Outdoor RF line-of-sight
Range
200 kbps
10 kbps
Power Requirements
Supply Voltage
Transmit Current
General
**Operating Frequency
Band
Dimensions
Weight
Operating Temperature
Antenna Options
Digital I/O
ADC
Agency Approvals
2014DigiInternationalInc.
XBeePRO900HP/XBeePROXSCRFModules
SpecificationsoftheXBee-PRO 900HP/XBee-PRO XSCRFModule
Specification
XBee
MCQ-XB900HP
1846A-XB900HP
Australia
C-Tick
Brazil
Singapore
* To determine your range, perform a range test under your operating conditions.
UART
UARTPinAssignments
UART Pins
DOUT
DIN / CONFIG
CTS / DIO7
12
RTS / DIO6
16
SPI
SPIPinAssignments
SPI Pins
SPI_SCLK / DIO18
18
SPI_SSEL / DIO17
17
SPI_MOSI / DIO16
11
SPI_MISO / DIO15
SPI_ATTN / DIO1
19
For more information on SPI operation, see the SPI section in Chapter 2.
GPIO Specifications
XBee RF modules have 15 GPIO (General Purpose Input/Output) ports available. The exact list will depend on
the module configuration, as some GPIO pins are used for purposes such as serial communication.
See GPIO section for more information on configuring and using GPIO ports.
ElectricalSpecificationsforGPIOPins
GPIO Electrical Specification
Value
Voltage - Supply
0.3 x Vdd
0.7 x Vdd
40 k
40 k
0.05 x Vdd
0.95 x Vdd
2014DigiInternationalInc.
XBeePRO900HP/XBeePROXSCRFModules
ElectricalSpecificationsforGPIOPins
GPIO Electrical Specification
Value
2 mA
2 mA
48 mA
2014DigiInternationalInc.
+14mA
+1mA
Sleep current
+0.5A typical
MC9SO8QE32
2.4 to 3.6VDC
100nS
50nS
VREF Range
1.8VDC to VCC
10
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
11
XBeePRO900HP/XBeePROXSCRFModules
Name
VCC
Direction
Default State
Description
DOUT/DIO13
Both
Output
DIN/nConfig/DIO14
Both
Input
DIO12/SPI_MISO
Both
Output
Power Supply
nRESET
Input
DIO10/PWM0
Both
DIO11/PWM1
Both
reserved
nDTR/SLEEP_RQ/DIO8
10
GND
11
DIO4/SPI_MOSI
Both
Do Not Connect
Input
Both
GPIO/SPI slave In
12
nCTS/DIO7
Both
Output
13
On_nSLEEP/DIO9
Output
Output
14
VREF
Input
15
Associate/DIO5
Both
Output
16
nRTS/DIO6
Both
Input
17
AD3/DIO3/SPI_nSSEL
Both
18
AD2/DIO2/SPI_CLK
Both
19
AD1/DIO1/SPI_nATTN
Both
20
AD0/DIO0
Both
2014DigiInternationalInc.
12
XBeePRO900HP/XBeePROXSCRFModules
All unused pins should be left disconnected. All inputs on the radio can be pulled high or low with 40k internal
pull-up or pull-down resistors using the PR and PD software commands. No specific treatment is needed for
unused outputs.
For applications that need to ensure the lowest sleep current, unconnected inputs should never be left
floating. Use internal or external pull-up or pull-down resistors, or set the unused I/O lines to outputs.
Other pins may be connected to external circuitry for convenience of operation, including the Associate LED
pin (pin 15) and the Commissioning pin (pin 20). An LED attached to the the associate LED pin will flash
differently depending on the state of the module to the network, and a pushbutton attached to pin 20 can
enable various join functions without having to send serial port commands. Please see the commissioning
pushbutton and associate LED section in chapter 7 for more details. The source and sink capabilities are
limited to 6mA on all I/O pins.
The VRef pin (pin 14) is only used on the programmable versions of these modules. For compatibility with
other XBee modules, we recommend connecting this pin to a voltage reference if analog sampling is desired.
Otherwise, connect to GND.
2014DigiInternationalInc.
13
2014DigiInternationalInc.
VCC
GND
SLEEP_RQ/DTR/PTD5
BKGD/PTA4
DIO11/PWM1/PTA2/SDA
RSSI/DIO10/PWM0/PTC5
RESET/PTA5
DIO12/PTB4/MISO1
DIN/PTB0
DOUT/PTB1
10
DIO11/PWM1/PTA2/SDA
DIO0/ADC0/PTA0
ON/SLEEP/PTA1
DIO1/ADC1/PTA3/SCL
BKGD/PTA4
DIO2/ADC2/PTB2/SPSCK
DIO4/PTB3/MOSI1
DIO12/PTB4/MISO1
DOUT_RADIO
DIN_RADIO
BKGD/PTA4
DIO11/PWM1/PTA2/SDA
22
21
17
16
46
45
40
39
26
25
24
23
15
14
11
10
38
37
36
35
48
47
28
27
FREESCALE
PTC0/TPM3CH0
PTC1/TPM3CH1
PTC2/TPM3CH2
PTC3/TPM3CH3
PTC4/TPM3CH4
SLEEP_RQ/DTR/PTD5
RESET_RADIO
DIN_RADIO
DOUT_RADIO
VCC
10
GND
DTR/SLEEP_RQ/DIO8
RESERVED
PWM1/DIO11
PWM0/RSSI/DIO10
RESET
PWM2/DIO12
DIN/CONFIG
DOUT
VCC
PTE1/MOSI
PTE2/MISO
PTE3/SS
PTE4
PTE5
PTE6
PTE7/TPM3CLK
PTD0/KBI2P0
PTD1/KBI2P1
PTD2/KBI2P2
PTD3/KBI2P3
PTD4/KBI2P4
PTD5/KBI2P5
PTD6/KBI2P6
PTD7/KBI2P7
DIO4
CTS/DIO7
ON/SLEEP/DIO9
VREF
ASSOC/AD5/DIO5
RTS/AD6/DIO6
AD3/DIO3
AD2/DIO2
AD1/DIO1
AD0/DIO0
PAD
VSS
VSS
VSSAD
VREFL
VREFH
VDDAD
VDD
VDD
49
31
30
44
43
42
41
29
13
12
34
33
32
20
19
18
10
11
12
13
14
15
16
17
18
19
20
11
VREF
VCC
CTS_RADIO
RTS_RADIO
12
13
DIO4/PTB3/MOSI1
CTS/DIO7/PTC0
ON/SLEEP/PTA1
VREF
ASSOC/DIO5/PTD4
RTS/DIO6/PTD7
DIO3/ADC3/PTB5,A7/SS
DIO2/ADC2/PTB2/SPSCK
11
12
13
14
15
16
17
18
19
20
ECO
14
Pin10
Pin1
TP4
TP6
TP2
TP1
TP6
TP5
TP4
TP2
TP1
16
DATE:
PART NO.
TITLE
CKD APPR
TP5
REV
Pin11
Pin20
DATE
RESET_RADIO
RTS_RADIO
CTS_RADIO
DIN_RADIO
XBEE-PRO S3B
PROGRAMMABLE
BLOCK DIAGRAM
BY
17
DOUT_RADIO
ENGINEER:
CHECKED:
DRAWN:
DESIGNED:
15
DESCRIPTION OF CHANGE
DIO4/PTB3/MOSI1
CTS/DIO7/PTC0
ON/SLEEP/PTA1
VREF
ASSOC/DIO5/PTD4
RTS/DIO6/PTD7
DIO3/ADC3/PTB5,A7/SS
DIO2/ADC2/PTB2/SPSCK
DIO1/ADC1/PTA3/SCL
APPROVALS:
REV
14
DIO0/ADC0/PTA0
Commissioning Line
DIO1/ADC1/PTA3/SCL
DIO0/ADC0/PTA0
ASSOC/DIO5/PTD4
SLEEP_RQ/DTR/PTD5
CTS_RADIO
RTS/DIO6/PTD7
Commissioning Line
U1-B
PTE0/TPM2CLK/SPSCLK
MC9S08QE32CFT
S
S3B
RADIO
PTC5/TPM3CH5/ACPM2O
PTC6/RxD2/ACPM2+
PTC7/TxD2/ACPM2-
PTB0/KBI1P4/RxD1/ADP4
PTB1/KBI1P15/TxD1/ADP5
PTB2/KBIP6/SPSCK/ADP6
PTB3/KBIP7/MOSI/ADP7
PTB4/TPM2CH1/MISO
PTB5/TPM1CH1/SS
PTB6/SDA/XTAL
PTB7/SCL/EXTEL
PTA0/KBI1P0/TPM1CH0/ADP0/ACMP1+
PTA1/KBI1P1/TPM2CH0/ADP1/ACMP1-
PTA2/KBI1P2/SDA/ADP2
PTA3/KBIP3/SCL/ADP3
PTA4/ACPM1O/BKGD/MS
PTA5/IRQ/TPM1CLK/RESET
PTA6/TPM1CH2/ADP8
U1-A
MC9S08QE32CFT
PTA7/TPM2CH2/ADP9
MC9S08 controls
DOUT, DIN, RESET, RTS, CTS
for Internal Radio.
These lines are not
connected to the
20 external pins.
CTS/DIO7/PTC0
RTS_RADIO
RSSI/DIO10/PWM0/PTC5
RESET/PTA5
RESET_RADIO
DIO12/PTB4/MISO1
RSSI/DIO10/PWM0/PTC5
DIN/PTB0
DOUT/PTB1
RESET/PTA5
DIO3/ADC3/PTB5,A7/SS
VCC
XBeePRO900HP/XBeePROXSCRFModules
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
15
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
16
XBeePRO900HP/XBeePROXSCRFModules
Operation
Upon reset of any kind, the execution control begins with the bootloader.
If the reset cause is Power-On reset (POR), Pin reset (PIN), or Low Voltage Detect (LVD) reset (LVD)
the bootloader will not jump to the application code if the override bits are set to RTS(D7)=1,
DTR(D5)=0, and DIN(B0)=0. Otherwise, the bootloader writes the reset cause "NOTHING" to the
shared data region, and jumps to the Application.
Reset causes are defined in the file common. h in an enumeration with the following definitions:
typedef enum {
BL_CAUSE_NOTHING
BL_CAUSE_NOTHING_COUNT
= 0x0001,//BL_Reset_Cause counter
} BL_RESET_CAUSES;
typedef enum {
APP_CAUSE_NOTHING
APP_CAUSE_USE001
= 0x0000,
= 0x0001,
= 0x00FF,
APP_CAUSE_FIRMWARE_UPDATE = 0x5981,
APP_CAUSE_BYPASS_MODE
= 0x4682,
APP_CAUSE_BOOTLOADER_MENU = 0x6A18,
} APP_RESET_CAUSES;
Otherwise, if the reset cause is a "watchdog" or other reset, the bootloader checks the shared memory
region for the APP_RESET_CAUSE. If the reset cause is:
1."APP_CAUSE_NOTHING" or 0x0000 to 0x00FF, the bootloader increments the
BL_RESET_CAUSES, verifies that it is still less than BL_CAUSE_BAD_APP, and jumps back to
the application. If the Application does not clear the BL_RESET_CAUSE, it can prevent an
infinite loop of running a bad application that continues to perform illegal instructions or
watchdog resets.
2."APP_CAUSE_FIRMWARE_UPDATE", the bootloader has been instructed to update the
application "over-the-air" from a specific 64-bit address. In this case, the bootloader will
attempt to initiate an Xmodem transfer from the 64-bit address located in shared RAM.
3."APP_CAUSE_BYPASS_MODE", the bootloader executes bypass mode. This mode passes the
local UART data directly to the internal microcontroller allowing for direct communication with
the internal microcontroller.
The only way to exit bypass mode is to reset or power cycle the module.
If none of the above is true, the bootloader will enter "Command mode". In this mode, users can
initiate firmware downloads both wired and over-the-air, check application/bootloader version strings,
and enter Bypass mode.
Application version string
Figure 1 shows an "Application version string pointer" area in application flash which holds the pointer
to where the application version string resides. The application's linker command file ultimately
determines where this string is placed in application flash.
It is preferable that the application version string be located at address 0x8400 for MC9S08QE32 parts.
The application string can be any characters terminated by the NULL character (0x00). There is not a
strict limit on the number of characters in the string, but for practical purposes should be kept under
100 bytes including the terminating NULL character. During an update the bootloader erases the entire
application from 0x8400 on. The last page has the vector table specifically the redirected reset vector.
The version string pointer and reset vector are used to determine if the application is valid.
2014DigiInternationalInc.
17
XBeePRO900HP/XBeePROXSCRFModules
Application Interrupt Vector table and Linker Command File
Since the bootloader flash region is read-only, the interrupt vector table is redirected to the region
0xF1C0 to 0xF1FD so that application developers can use hardware interrupts. Note that in order for
Application interrupts to function properly, the Application's linker command file (*.prm extension)
must be modified appropriately to allow the linker to place the developers code in the correct place in
memory. For example, the developer desires to use the serial communications port SCI1 receive
interrupt. The developer would add the following line to the Codewarrior linker command file for the
project:
VECTOR ADDRESS 0x0000F1E0 vSci1Rx
This will inform the linker that the interrupt function "vSci1Rx()" should be placed at address
0x0000F1E0. Next, the developer should add a file to their project "vector_table.c" that creates an
array of function pointers to the ISR routines used by the application.
extern void _Startup(void);/* _Startup located in Start08.c */
extern void vSci1Rx(void);/* sci1 rx isr */
extern short iWriteToSci1(unsigned char *);
void vDummyIsr(void);
#pragma CONST_SEG VECTORS
void (* const vector_table[])(void) = /* Relocated Interrupt vector table */{
vDummyIsr,/* Int.no. 0 Vtpm3ovf (at F1C0)Unassigned */
vDummyIsr, /* Int.no. 1 Vtpm3ch5 (at F1C2) Unassigned */
vDummyIsr, /* Int.no. 2 Vtpm3ch4 (at F1C4) Unassigned */
vDummyIsr, /* Int.no. 3 Vtpm3ch3 (at F1C6) Unassigned */
vDummyIsr, /* Int.no. 4 Vtpm3ch2 (at F1C8) Unassigned */
vDummyIsr, /* Int.no. 5 Vtpm3ch1 (at F1CA) Unassigned */
vDummyIsr, /* Int.no. 6 Vtpm3ch0 (at F1CC) Unassigned */
vDummyIsr, /* Int.no. 7 Vrtc (at F1CE)
Unassigned */
Unassigned */
Unassigned */
Unassigned */
Unassigned */
Unassigned */
Unassigned */
SCI1RX */
Unassigned */
2014DigiInternationalInc.
18
XBeePRO900HP/XBeePROXSCRFModules
vDummyIsr, /* Int.no. 28 Vlvd (at F1F8)
Unassigned */
Unassigned */
Unassigned */
Reset vector */
};
void vDummyIsr(void){
for(;;){
if(iWriteToSci1("STUCK IN UNASSIGNED ISR\n\r>"));
}
}
The interrupt routines themselves can be defined in separate files. The "vDummyIsr" function is used
in conjunction with "iWritetoSci1" for debugging purposes.
2014DigiInternationalInc.
19
XBeePRO900HP/XBeePROXSCRFModules
the internal microcontroller. The internal module is also set to 115200 as the default baud rate. The
default rate of the programmable local UART is also set to 115200, however, the local UART has an
auto baud feature added to detect if the UART is at the wrong baud rate. If a single character is sent, it
will automatically switch to 115200 or 9600 baud.
2014DigiInternationalInc.
20
XBeePRO900HP/XBeePROXSCRFModules
debug interface enabled needs to be loaded on the secondary processor or a stand-alone app needs to
be loaded.
Bootloader updates
The supplied bootloader requires files in a "flat binary" format which differs from the default ABS file
produced. The Codewarrior tool also produces a S19 output file. In order to successfully flash new
applications, the S19 file must be converted into the flat binary format. Utilities are available on the
web that will convert S19 output to "BIN" outputs. Often times, the "BIN" file conversion will pad the
addresses from 0x0000 to the code space with the same number. (Often 0x00 or 0xFF) These extra
bytes before the APP code starts will need to be deleted from the bin file before the file can be
transferred to the bootloader.
2014DigiInternationalInc.
21
XBeePRO900HP/XBeePROXSCRFModules
2.XBeePRO900HPRFModuleOperation
XBee-PRO 900HP Basic Operational Design
The XBee-PRO 900HP RF Module uses a multi-layered firmware base to order the flow of data, dependent on the
hardware and software configuration chosen by the user. This configuration block diagram is shown below, with the
host serial interface as the physical starting point, and the antenna as the physical endpoint for the transferred data.
As long as a block is able to touch another block, the two interfaces can interact. For example, if the module is using
SPI mode, Transparent Mode is not available. See below:
SPI
AT Command
Mode
API
Mode
Command Handler
Packet Handler
Network Layer (DigiMesh/Repeater)
MAC/PHY Layer (Point-Multipoint)
Antenna
The command handler is the code that processes commands from AT Command Mode or API Mode (see AT Commands section). The command handler can also process commands from remote radios (see Remote AT Commands
section).
2014DigiInternationalInc.
22
XBeePRO900HP/XBeePROXSCRFModules
Serial Data
Data enters the module UART through the DIN (pin 3) as an asynchronous serial signal. The signal should
idle high when no data is being transmitted.
Each data byte consists of a start bit (low), 8 data bits (least significant bit first) and a stop bit (high). The
following figure illustrates the serial bit pattern of data passing through the module.
UARTdatapacket0x1F(decimalnumber31)astransmittedthroughtheRFmodule
ExampleDataFormatis8N1(bitsparity#ofstopbits)
Serial communications depend on the two UARTs (the microcontroller's and the RF module's) to be
configured with compatible settings (baud rate, parity, start bits, stop bits, data bits).
The UART baud rate, parity, and stop bits settings on the XBee module can be configured with the BD, NB,
and SB commands respectively. See the command table in chapter 10 for details.
2014DigiInternationalInc.
23
XBeePRO900HP/XBeePROXSCRFModules
Signal Name
Pin Number
Applicable AT
Command
Description
SPI_MISO
(Master In, Slave out)
ATP2
SPI_MOSI
(Master out, Slave in)
11
ATD4
SPI_SSEL
(Slave Select)
(Master out, Slave in)
17
ATD3
SPI_CLK
(Clock)
(Master out, Slave in)
18
ATD2
The SPI master outputs a clock on this pin, and the rate
must not exceed the maximum allowed, 3.5 Mbps. When
the module is configured for SPI operations, this pin is an
input.
SPI_ATTN
(Attention)
(Master in, Slave out)
19
ATD1
The module asserts this pin low when it has data to send to
the SPI master. When this pin is configured for SPI
operations, it is an output (not tri-stated).
Note: By default, the inputs have pull-up resistors enabled. See the PR command to disable the pull-up
resistors. When the SPI pins are not connected but the pins are configured for SPI operation, then the pull-ups
are needed for proper UART operation.
Full Duplex Operation
SPI on XBee requires usage of API mode (without escaping) to packetize data. However, by design, SPI is a
full duplex protocol, even when data is only available in one direction. This means that whenever data is
received, it will also transmit, and that data will normally be invalid. Likewise, whenever data is transmitted,
invalid data will probably be received. The means of determining whether or not received data is invalid is by
packetizing the data with API packets.
SPI allows for valid data from the slave to begin before, at the same time, or after valid data begins from the
master. When the master is sending data to the slave and the slave has valid data to send in the middle of
receiving data from the master, this allows a true full duplex operation where data is valid in both directions
for a period of time. Not only must the master and the slave both be able to keep up with the full duplex
operation, but both sides must honor the protocol as specified.
An example follows to more fully illustrate the SPI interface while valid data is being sent in both directions.
2014DigiInternationalInc.
24
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
25
XBeePRO900HP/XBeePROXSCRFModules
If only the UART is enabled, then only the UART will be used, and SPI_SSEL will be ignored. If only the SPI is
enabled, then only the SPI will be used.
If neither serial port is enabled, the module will not support serial operations and all communications must
occur over the air. All data that would normally go to the serial port is discarded.
Forcing UART Operation
In the rare case that a module has been configured with only the SPI enabled and no SPI master is available
to access the SPI slave port, the module may be recovered to UART operation by holding DIN / CONFIG low at
reset time. As always, DIN/CONFIG forces a default configuration on the UART at 9600 baud and it will bring
up the module in command mode on the UART port. Appropriate commands can then be sent to the module to
configure it for UART operation. If those parameters are written, then the module will come up with the UART
enabled, as desired on the next reset.
SPI Port Selection
SPI mode can be forced by holding DOUT/DIO13 (pin 2) low while resetting the module until SPI_nATTN
asserts. By this means, the XBee module will disable the UART and go straight into SPI communication mode.
Once configuration is completed, a modem status frame is queued by the module to the SPI port which will
cause the SPI_nATTN line to assert. The host can use this to determine that the SPI port has been configured
properly. This method internally forces the configuration to provide full SPI support for the following
parameters:
D1 (note this parameter will only be changed if it is at a default of zero when method is invoked)
D2
D3
D4
P2.
As long as a WR command is not issued, these configuration values will revert back to previous values after a
power on reset. If a WR command is issued while in SPI mode, these same parameters will be written to flash.
After a reset, parameters that were forced and then written to flash become the mode of operation. If the
UART is disabled and the SPI is enabled in the written configuration, then the module will come up in SPI
mode without forcing it by holding DOUT low. If both the UART and the SPI are enabled at the time of reset,
then output will go to the UART until the host sends the first input. If that first input comes on the SPI port,
then all subsequent output will go to the SPI port and the UART will be disabled. If the first input comes on the
UART, then all subsequent output will go to the UART and the SPI will be disabled.
When the slave select (SPI_nSSEL) signal is asserted by the master, SPI transmit data is driven to the output
pin SPI_MISO, and SPI data is received from the input pin SPI_MOSI. The SPI_nSSEL pin has to be asserted
to enable the transmit serializer to drive data to the output signal SPI_MISO. A rising edge on SPI_nSSEL
causes the SPI_MISO line to be tri-stated such that another slave device can drive it, if so desired.
If the output buffer is empty, the SPI serializer transmits the last valid bit repeatedly, which may be either
high or low. Otherwise, the module formats all output in API mode 1 format, as described in chapter 7. The
attached host is expected to ignore all data that is not part of a formatted API frame.
2014DigiInternationalInc.
26
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
27
XBeePRO900HP/XBeePROXSCRFModules
->
->
All received serial data is transmitted unless the module is in command mode.
Easy to support
Transmitting RF data to multiple remotes only requires changing the address in the API frame. This
process is much faster than in transparent operation where the application must enter AT command
Easy to manage data
transmissions to multiple mode, change the address, exit command mode, and then transmit data.
destinations
Each API transmission can return a transmit status frame indicating the success or reason for
failure.
2014DigiInternationalInc.
Advanced addressing
support
API transmit and receive frames can expose addressing fields including source and destination
endpoints, cluster ID and profile ID.
28
XBeePRO900HP/XBeePROXSCRFModules
Transparent Operation Features
Advanced networking
diagnostics
API frames can provide indication of IO samples from remote devices, and node identification
messages.
Remote Configuration
Set / read configuration commands can be sent to remote devices to configure them as needed
using the API.
Transmit Mode
When serial data is received and is ready for packetization, the RF module will attempt to transmit the data.
The destination address determines which node(s) will receive and send the data.
In the diagram below, route discovery applies only to DigiMesh transmissions. The data will be transmitted
once a route is established. If route discovery fails to establish a route, the packet will be discarded.
2014DigiInternationalInc.
29
XBeePRO900HP/XBeePROXSCRFModules
TransmitModeSequence
Successful
Transmission
Idle Mode
New
Transmission
Route Known?
Yes
Transmit Data
No
Route Discovery
Route Discovered?
Yes
No
Data Discarded
2014DigiInternationalInc.
30
XBeePRO900HP/XBeePROXSCRFModules
When DigiMesh data is transmitted from one node to another, a network-level acknowledgement is
transmitted back across the established route to the source node. This acknowledgement packet indicates to
the source node that the data packet was received by the destination node. If a network acknowledgement is
not received, the source node will re-transmit the data.
See Data Transmission and Routing in chapter 4 for more information.
Receive Mode
If a valid RF packet is received, the data is transferred to the serial transmit buffer. This is the default mode
for the XBee radio.
Command Mode
To modify or read RF Module parameters, the module must first enter into Command Mode - a state in which
incoming serial characters are interpreted as commands. The API Mode section in Chapter 7 describes an
alternate means for configuring modules which is available with the SPI, as well as over the UART with code.
AT Command Mode
To Enter AT Command Mode:
Send the 3-character command sequence +++ and observe guard times before and after the command characters. [Refer to the Default AT Command Mode Sequence below.]
Default AT Command Mode Sequence (for transition to Command Mode):
No characters sent for one second [GT (Guard Times) parameter = 0x3E8]
Input three plus characters (+++) within one second [CC (Command Sequence Character) parameter = 0x2B.]
No characters sent for one second [GT (Guard Times) parameter = 0x3E8]
Once the AT command mode sequence has been issued, the module sends an "OK\r" out the UART pin. The
"OK\r" characters can be delayed if the module has not finished transmitting received serial data.
When command mode has been entered, the command mode timer is started (CT command), and the
module is able to receive AT commands on the UART port.
All of the parameter values in the sequence can be modified to reflect user preferences.
NOTE: Failure to enter AT Command Mode is most commonly due to baud rate mismatch. By default,
the BD (Baud Rate) parameter = 3 (9600 bps).
To Send AT Commands:
Send AT commands and parameters using the syntax shown below.
SyntaxforsendingATCommands
AT
Prefix
ASCII
Space
Parameter
Command (optional) (optional, HEX)
Carriage
Return
2014DigiInternationalInc.
31
XBeePRO900HP/XBeePROXSCRFModules
Command Response
When a command is sent to the module, the module will parse and execute the command. Upon
successful execution of a command, the module returns an OK message. If execution of a command
results in an error, the module returns an ERROR message.
Applying Command Changes
Any changes made to the configuration command registers through AT commands will not take effect until
the changes are applied. For example, sending the BD command to change the baud rate will not change
the actual baud rate until changes are applied. Changes can be applied in one of the following ways:
The AC (Apply Changes) command is issued.
AT command mode is exited.
To Exit AT Command Mode:
1. Send the ATCN (Exit Command Mode) command (followed by a carriage return).
[OR]
2. If no valid AT Commands are received within the time specified by CT (Command Mode Timeout)
Command, the RF module automatically returns to Idle Mode.
For an example of programming the RF module using AT Commands and descriptions of each configurable parameter, please see the Command Reference Table chapter.
Sleep Mode
Sleep modes allow the RF module to enter states of low power consumption when not in use. XBee RF
modules support both pin sleep (sleep mode entered on pin transition) and cyclic sleep (module sleeps for a
fixed time). XBee sleep modes are discussed in detail in chapter 5.
2014DigiInternationalInc.
32
XBeePRO900HP/XBeePROXSCRFModules
3.XBeePRO900HPNetworkingMethods
This chapter will attempt to explain the basic layers and the three networking methods available on the XBee-PRO
900HP RF modules, building from the simplest to the most complex.
MAC/PHY Basics
PHY is short for Physical Layer. It is responsible for managing the hardware that modulates and demodulates the RF bits.
MAC stands for Media Access Layer. The MAC layer is responsible for sending and receiving RF frames. As part of each
packet, there is a MAC layer data header that has addressing information as well as packet options. This layer
implements packet acknowledgements (ACKs), packet tracking to eliminate duplicates, etc.
When a radio is transmitting, it cannot receive packets. When a radio is not sleeping, it is either receiving or
transmitting. There are no beacons or master/slave requirements in the design of the MAC/PHY.
This radio uses a patented method for scanning and finding a transmission. When a radio transmits, it sends out a
repeated preamble pattern, a MAC header, optionally a network header, followed then by packet data. A receiving radio
is able to scan all the channels to find a transmission during the preamble, then once it has locked into that it will
attempt to receive the whole packet.
When using transparent mode set DH:DL to the SH:SL of the destination radio.
For API mode, set the SH:SL address in the 64-bit destination address.
2014DigiInternationalInc.
33
XBeePRO900HP/XBeePROXSCRFModules
Broadcast
To transmit to all radios:
For transparent mode set DH:DL to 0x000000000000FFFF, and for API mode set the 64-bit destination address to 0x000000000000FFFF.
The scope of the broadcast changes based on the delivery method chosen.
Delivery Method
There are three delivery methods supported by this radio:
DigiMesh. (0xC0)
The TO parameter is the default delivery method used by transparent mode. For API transmissions the
TxOptions API field is used to specify the delivery method. When the TxOptions API field is set to 0, the
value in the TO parameter will also be used by API transmissions.
The three delivery modes are described below:
Throughput
10 kbps version, 115.2 kbps serial data rate
Configuration
Data Throughput
8.8 kbps
8.7 kbps
Data Throughput
105.5 kbps
105.4 kbps
Note: Data throughput measurements were made setting the serial interface rate to 115200 bps, and measuring the time
to send 100,000 bytes from source to destination. During the test, no route discoveries or failures occurred.
Repeater/Directed Broadcast
Related parameters: CE, NH, NN, BH
Directed broadcast transmissions will be received and repeated by all routers in the network. Because ACKs are not
used the originating node will send the broadcast multiple times. By default a broadcast transmission is sent four
times. Essentially the extra transmissions become automatic retries without acknowledgments. This will result in all
nodes repeating the transmission four times as well. Sending frequent broadcast transmissions can quickly reduce
the available network bandwidth and as such should be used sparingly.
2014DigiInternationalInc.
34
XBeePRO900HP/XBeePROXSCRFModules
The MAC layer is the building block that is used to build repeater capability. Repeater mode is implemented with a
network layer header that comes after the MAC layer header in each packet. In this network layer there is additional
packet tracking to eliminate duplicate broadcasts. In this delivery method, unicasts and broadcast packets are both
sent out as broadcasts that are always repeated. All repeated packets are sent to every radio. Broadcast data will be
sent out the serial port of all radios that receive it.
When a unicast is sent, it specifies a destination address in the network header. Only the radio that has the matching
destination address then will send it out the serial port. This is called a directed broadcast. Any node that has a CE
parameter set to route will rebroadcast the packet if its broadcast hops (BH) or broadcast radius values have not
been depleted. If a repeated broadcast has already been seen, the node will ignore it. The NH parameter sets the
maximum number of hops that a broadcast will be repeated. This value is always used, unless a BH value is specified
that is smaller.
By default the CE parameter is set to route all broadcasts. As such, all nodes that receive a repeated packet will
repeat it. By changing the CE parameter, you can limit which nodes repeat packets, which can help dense networks
from becoming overly congested while packets are being repeated.
Transmission timeout calculations for directed broadcast/repeater mode are the same as for DigiMesh, and can be
found below in the DigiMesh section.
DigiMesh Networking
Related Command: MR
In the same manner as the repeater delivery method, DigiMesh builds on P2MP and repeater modes. In DigiMesh,
broadcasts always use repeater delivery method, but unicasts use meshing technologies. In the DigiMesh network
layer, there are additional network layer ACKs and NACKs. Mesh networking allows messages to be routed through
several different nodes to a final destination. DigiMesh firmware allows manufacturers and system integrators to bolster their networks with the self-healing attributes of mesh networking. In the event that one RF connection
between nodes is lost (due to power-loss, environmental obstructions, etc.) critical data can still reach its destination due to the mesh networking capabilities embedded inside the modules. Note that if you disable network ACKs,
the network will never heal.
Self-healing
Any node may enter or leave the network at any time without causing the network as a whole to fail.
Peer-to-peer architecture
No hierarchy and no parent-child relationships are needed.
Quiet Protocol
Routing overhead will be reduced by using a reactive protocol similar to AODV.
Route Discovery
Rather than maintaining a network map, routes will be discovered and created only when needed.
Selective acknowledgements
Only the destination node will reply to route requests.
Reliable delivery
Reliable delivery of data is accomplished by means of acknowledgements.
Sleep Modes
Low power sleep modes with synchronized wake are supported with variable sleep and wake times.
2014DigiInternationalInc.
35
XBeePRO900HP/XBeePROXSCRFModules
MAC retries/acknowledgments are used for transmissions between adjacent nodes in the route. NWK
retries/acknowledgments are used across the entire route.
To send Unicast messages, set the DH and DL on the transmitting module to match the corresponding SH
and SL parameter values on the receiving module.
Routing
A module within a mesh network is able to determine reliable routes using a routing algorithm and table.
The routing algorithm uses a reactive method derived from AODV (Ad-hoc On-demand Distance Vector). An
associative routing table is used to map a destination node address with its next hop. By sending a message to the next hop address, either the message will reach its destination or be forwarded to an intermediate router which will route the message on to its destination. A message with a broadcast address is
broadcast to all neighbors. All routers receiving the message will rebroadcast the message MT+1 times and
eventually the message will reach all corners of the network. Packet tracking prevents a node from resending a broadcast message more than MT+1 times.
Route Discovery
If the source node doesnt have a route to the requested destination, the packet is queued to await a route
discovery (RD) process. This process is also used when a route fails. A route fails when the source node
uses up its network retries without ever receiving an ACK. This results in the source node initiating RD.
RD begins by the source node broadcasting a route request (RREQ). Any router that receives the RREQ that
is not the ultimate destination is called an intermediate node.
Intermediate nodes may either drop or forward a RREQ, depending on whether the new RREQ has a better
route back to the source node. If so, information from the RREQ is saved and the RREQ is updated and
broadcast. When the ultimate destination receives the RREQ, it unicasts a route reply (RREP) back to the
source node along the path of the RREQ. This is done regardless of route quality and regardless of how
many times an RREQ has been seen before.
This allows the source node to receive multiple route replies. The source node selects the route with the
best round trip route quality, which it will use for the queued packet and for subsequent packets with the
same destination address.
Throughput
Throughput in a DigiMesh network can vary by a number of variables, including: number of hops, encryption enabled/disabled, sleeping end devices, failures/route discoveries. Our empirical testing showed the
following throughput performance in a robust operating environment (low interference).
200 kbps version, 115.2 kbps serial data rate, 100 KB
Configuration
Data Throughput
91.0 kbps
32.5 kbps
16.7 kbps
89.3 kbps
32.2 kbps
16.1 kbps
Note: Data throughput measurements were made setting the serial interface rate to 115200 bps, and measuring the time
to send 100,000 bytes from source to destination. During the test, no route discoveries or failures occurred.
Transmission Timeouts
When a node receives an API TX Request (API configured modules) or an RO timeout occurs (modules configured for
Transparent Mode) the time required to route the data to its destination depends on a number of configured parameters, whether the transmission is a unicast or a broadcast, and if the route to the destination address is known.
Timeouts or timing information is provided for the following transmission types:
Transmitting a broadcast
Transmitting a unicast with a known route
2014DigiInternationalInc.
36
XBeePRO900HP/XBeePROXSCRFModules
Note: The timeouts in this section are theoretical timeouts and not precisely accurate. The application should pad the
calculated maximum timeouts by a few hundred milliseconds. When using API mode, Tx Status API packets should be the
primary method of determining if a transmission has completed.
Unicast One Hop Time
A building block of many of the calculations presented below is the unicastOneHopTime. As its name indicates, it represents the amount of time it takes to send a unicast transmission between two adjacent
nodes. It is dependent upon the %H setting. It is defined as follows:
unicastOneHopTime=%H
Transmitting a broadcast
A broadcast transmission must be relayed by all routers in the network. The maximum delay would be
when the sender and receiver are on the opposite ends of the network. The NH and %H parameters define
the maximum broadcast delay as follows:
BroadcastTxTime=NH*%8
Transmitting a unicast with a known route
When a route to a destination node is known the transmission time is largely a function of the number of
hops and retries. The timeout associated with a unicast assumes the maximum number of hops is necessary (as specified by NH). The timeout can be estimated in the following manner:
knownRouteUnicast=2*NH*MR*unicastOneHopTime
Transmitting a unicast with an unknown route
If the route to the destination is not known the transmitting module will begin by sending a route discovery.
If the route discovery is successful and a route is found then the data is transmitted. The timeout associated with the entire operation can be estimated as follows:
unknownRouteUnicast=BroadcastTxTime+NH*unicastOneHopTime +knownRouteUnicast
Transmitting a unicast with a broken route
If the route to a destination node has changed since the last time a route discovery was completed a node
will begin by attempting to send the data along the previous route. After it fails a route discovery will be initiated and, upon completion of the route discovery, the data will be transmitted along the new route. The
timeout associated with the entire operation can be estimated as follows:
brokenRouteUnicast=BroadcastTxTime+NH*unicastOneHopTime +2*knownRouteUnicast
2014DigiInternationalInc.
37
XBeePRO900HP/XBeePROXSCRFModules
4.XBeePRO900HPSleepMode
A number of low-power modes exist to enable modules to operate for extended periods of time on battery power.
These sleep modes are enabled with the SM command. The sleep modes are characterized as either asynchronous
(SM = 1, 4, 5) or synchronous (SM = 7,8). Asynchronous sleeping modes should not be used in a synchronous
sleeping network, and vice versa.
Asynchronous sleep modes can be used to control the sleep state on a module by module basis. Modules operating
in an asynchronous sleep mode should not be used to route data. Digi strongly encourages users to set asynchronous sleeping modules as non-routing nodes using the CE command. This will prevent the node from attempting to
route data.
The synchronous sleep feature of DigiMesh makes it possible for all nodes in the network to synchronize their sleep
and wake times. All synchronized cyclic sleep nodes enter and exit a low power state at the same time. This forms a
cyclic sleeping network. Nodes synchronize by receiving a special RF packet called a sync message which is sent by
a node acting as a sleep coordinator. A node in the network can become a coordinator through a process called nomination. The sleep coordinator will send one sync message at the beginning of each wake period. The sync message
is sent as a broadcast and repeated by every node in the network. The sleep and wake times for the entire network
can be changed by locally changing the settings on an individual node. The network will use the most recently set
sleep settings.
Sleep Modes
Normal Mode (SM=0)
Normal mode is the default for a newly powered-on node. In this mode, a node will not sleep. Normal mode
nodes should be mains-powered.
A normal mode module will synchronize to a sleeping network, but will not observe synchronization data
routing rules (it will route data at any time, regardless of the wake state of the network). When synchronized,
a normal node will relay sync messages generated by sleep-compatible nodes but will not generate sync
messages. Once a normal node has synchronized with a sleeping network, it can be put into a sleepcompatible sleep mode at any time.
2014DigiInternationalInc.
38
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
39
XBeePRO900HP/XBeePROXSCRFModules
Indirect Messaging
Indirect messaging is a communication mode designed for communicating with asynchronous sleeping
devices. A module can enable indirect messaging by making itself an indirect messaging coordinator with the
CE command. An indirect messaging coordinator does not immediately transmit a P2MP unicast when it is
received over the serial port. Instead the module holds onto the data until it is requested via a poll. On
receiving a poll the indirect messaging coordinator will send a queued data packet (if available) to the
requestor.
Because it is possible for polling device to be eliminated, a mechanism is in place to purge unrequested data
packets. If the coordinator holds an indirect data packet for an indirect messaging poller for more than 2.5
times its SP value, then the packet is purged. Users are encouraged to set the SP of the coordinator to the
same value as the highest SP time that exists among the pollers in the network. If the coordinator is in API
mode, a TxStatus message is generated for a purged data packet with a status of 0x75
(INDIRECT_MESSAGE_UNREQUESTED).
An indirect messaging coordinator will queue up as many data packets as it has buffers available. After the
coordinator has used all of its available buffers, it will hold transmission requests unprocessed on the serial
input queue. After the serial input queue is full, CTS will be de-asserted (if hardware flow control is enabled).
Obviously, after receiving a poll or purging data from the indirect messaging queue the buffers become
available again.
Indirect messaging has no effect on P2MP broadcasts, directed broadcasts, repeater packets, or DigiMesh
packets. These messages are sent immediately when received over the serial port and are not put on the
indirect messaging queue
Polling
Polling is the automatic process by which a node can request data from an indirect messaging coordinator.
Polling can be enabled on a device by configuring it as an indirect messaging poller with the CE command and
setting its DH:DL registers to match the SH:SL registers of the module which will function as the Indirect
Messaging Coordinator. When polling is enabled, the module will send a P2MP poll request regularly to the
address specified by the DH:DL registers. When a P2MP unicast is sent to the destination specified by the
DH:DL of an a polling module, the data will also function as a poll.
When a polling device is also an asynchronous sleeping device, then that device will send a poll shortly after
waking from sleep. After that first poll is sent, the module will send polls in the normal manner described
above until it returns to sleep.
The 200K data rate product will send polls at least every 100ms when awake. The 10K data rate product will
send polls at least every 300ms when awake.
Operation
One node in a sleeping network acts as the sleeping coordinator. The process by which a node becomes a
sleep coordinator is described later in this document. During normal operations, at the beginning of a wake
2014DigiInternationalInc.
40
XBeePRO900HP/XBeePROXSCRFModules
cycle the sleep coordinator will send a sync message as a broadcast to all nodes in the network. This message
contains synchronization information and the wake and sleep times for the current cycle. All cyclic sleep nodes
receiving a sync message will remain awake for the wake time and then sleep for the sleep period specified.
The sleep coordinator will send one sync message at the beginning of each cycle with the currently configured
wake and sleep times. All router nodes which receive this sync message will relay the message to the rest of
the network. If the sleep coordinator does not hear a re-broadcast of the sync message by one of its
immediate neighbors then it will re-send the message one additional time. It should be noted that if SP or ST
are changed, the network will not apply the new settings until the beginning of the next wake time. See the
Changing Sleep Parameters section below for more information.
A sleeping router network is robust enough that an individual node can go several cycles without receiving a
sync message (due to RF interference, for example). As a node misses sync messages, the time available for
transmitting messages in the wake time is reduced to maintain synchronization accuracy. By default, a module
will also reduce its active sleep time progressively as sync messages are missed.
Synchronization Messages
A sleep coordinator will regularly send sync messages to keep the network in sync. Nodes which have not
been synchronized or, in some cases, which have lost sync will also send messages requesting sync
information.
Deployment mode is used by sleep compatible nodes when they are first powered up and the sync message
has not been relayed. A sleep coordinator in deployment mode will rapidly send sync messages until it
receives a relay of one of those messages. This allows a network to be deployed more effectively and allows a
sleep coordinator which is accidentally or intentionally reset to rapidly re-synchronize with the rest of the
network. If a node which has exited deployment mode receives a sync message from a sleep coordinator
which is in deployment mode, the sync will be rejected and a corrective sync will be sent to the sleep
coordinator. Deployment mode can be disabled using the sleep options command (SO).
A sleep coordinator which is not in deployment mode or which has had deployment mode disabled will send a
sync message at the beginning of the wake cycle. The sleep coordinator will then listen for a neighboring node
to relay the sync. If the relay is not heard, the sync coordinator will send the sync one additional time.
A node which is not acting as a sleep coordinator which has never been synchronized will send a message
requesting sync information at the beginning of its wake cycle. Synchronized nodes which receive one of these
messages will respond with a synchronization packet. Nodes which are configured as non-sleep coordinators
(using the SO command) which have gone six or more cycles without hearing a sync will also send a message
requesting sync at the beginning of their wake period.
The following diagram illustrates the synchronization behavior of sleep compatible modules:
2014DigiInternationalInc.
41
XBeePRO900HP/XBeePROXSCRFModules
Power-up
Enter
Deployment
Mode
Wait Sleep
Guard Time
Yes
No
Is Node in
Deployment Mode?
No
Is Sleep
Coordinator?
No
Yes
Is Sleep
Coordinator?
Yes
Send
Sync
Wait
Random
Holdo
Send
Sync
Listen for
Relay of
Sync
Yes
Ever been
Synced?
No
No
No
Coord.
Rapid Sync
Disabled?
Heard
Relay?
Yes
Yes
Is node a nonsleep coord.
node which has
lost sync?
Heard
Relay?
Yes
No
Send
Sync
Yes
Exit
Deployment
Mode
Listen for
Relay of
Sync
No
Send
Poll
Send
Sync
Network
Transmit
Time
Wait Sleep
Guard Time
No
Wait
Sleep
Time
2014DigiInternationalInc.
Is Cyclic Sleep
Node?
Yes
Wait Sleep
Time in Low
Power Mode
42
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
43
XBeePRO900HP/XBeePROXSCRFModules
Sleep Guard Times
To compensate for variations in the timekeeping hardware of the various modules in a sleeping router
network, sleep guard times are allocated at the beginning and end of the wake time. The size of the sleep
guard time varies based on the sleep and wake times selected and the number of cycles that have elapsed
since the last sync message was received. The sleep guard time guarantees that a destination radio will be
awake when a transmission is sent. As more and more consecutive sync messages are missed, the sleep
guard time increases in duration and decreases the available transmission time.
Auto-Early Wake-Up Sleep Option
Similarly to the sleep guard time, the auto early wake-up option decreases the sleep period based on the
number of sync messages missed. This option comes at the expense of battery life. Auto-early wake-up sleep
can be disabled using the sleep options (SO) command.
DigiMesh Configuration
Selecting Sleep Parameters
Choosing proper sleep parameters is vital to creating a robust sleep-enabled network with a desireable battery
life. To select sleep parameters that will be good for most applications, follow these steps:
1. Choose NH. Based on the placement of the nodes in your network, select appropriate values for the
Network Hops (NH) parameter.
Note: the default value of NH has been optimized to work for the majority of deployments. In most cases, we
suggest that the parameter not be modified from its default value. Decreasing its parameters for small
networks can improve battery life, but care should be taken so that the value is not made too small.
2. Determine the Sync Message Propagation Time (SMPT). This is the maximum amount of time it takes
for a sleep synchronization message to propagate to every node in the network. This number is the
BroadcastTxTime described in the "Transmission Timeouts" section of Chapter 3.
3. Select desired duty cycle. The ratio of sleep time to wake time is the factor that has the greatest effect
on the RF modules power consumption. Battery life can be estimated based on the following factors: sleep
period, wake time, sleep current, RX current, TX current, and battery capacity.
4. Choose sleep period and wake time. The wake time needs to be long enough to transmit the desired
data as well as the sync message. The ST parameter will automatically adjust upwards to its minimum value
when other AT commands are changed that will affect it (SP, and NH). Use a value larger than this minimum.
If a module misses successive sync messages, it reduces its available transmit time to compensate for
possible clock drift. Budget a large enough ST time to allow for a few sync messages to be missed and still
have time for normal data transmissions.
Starting a Sleeping Network
By default, all new nodes operate in normal (non-sleep) mode. To start a sleeping network, follow these steps:
1. Enable the preferred sleep coordinator option on one of the nodes, and set its SM to a sleep compatible
mode (7 or 8) with its SP and ST set to a quick cycle time. The purpose of a quick cycle time is to allow
commands to be sent quickly through the network during commissioning.
2. Next, power on the new nodes within range of the sleep coordinator. The nodes will quickly receive a sync
message and synchronize themselves to the short cycle SP and ST.
3. Configure the new nodes in their desired sleep mode as cyclic sleeping nodes or sleep support nodes.
4. Set the SP and ST values on the sleep coordinator to the desired values for the deployed network.
5. Wait a cycle for the sleeping nodes to sync themselves to the new SP and ST values.
6. Disable the preferred sleep coordinator option bit on the sleep coordinator (unless a preferred sleep
coordinator is desired).
7. Deploy the nodes to their positions.
Alternatively, nodes can be set up with their sleep pre-configured and written to flash (using the WR
command) prior to deployment. If this is the case, the commissioning button and associate LED can be used
to aid in deployment:
2014DigiInternationalInc.
44
XBeePRO900HP/XBeePROXSCRFModules
1. If a preferred sleep coordinator is going to be used in the network, deploy it first. If there will be no
preferred sleep coordinator, select a node for deployment, power it on and press the commissioning button
twice. This will cause the node to begin emitting sync messages.
Verify that the first node is emitting sync messages by watching its associate LED. A slow blink indicates that
the node is acting as a sleep coordinator.
2. Next, power on nodes in range of the sleep coordinator or other nodes which have synchronized with the
network. If the synchronized node is asleep, it can be woken by pressing the commissioning button once.
3. Wait a cycle for the new node to sync itself.
4. Verify that the node syncs with the network. The associate LED will blink when the module is awake and
synchronized.
5. Continue this process until all nodes have been deployed.
Adding a New Node to an Existing Network
To add a new node to the network, the node must receive a sync message from a node already in the network.
On power-up, an unsynchronized sleep compatible node will periodically send a broadcast requesting a sync
message and then sleep for its SP period. Any node in the network that receives this message will respond
with a sync. Because the network can be asleep for extended periods of time, and as such cannot respond to
requests for sync messages, there are methods that can be used to sync a new node while the network is
asleep.
1. Power the new node on within range of a sleep support node. Sleep support nodes are always awake and
will be able to respond to sync requests promptly.
2. A sleeping cyclic sleep node in the network can be woken by the commissioning button. Place the new node
in range of the existing cyclic sleep node and wake the existing node by holding down the commissioning
button for 2 seconds, or until the node wakes. The existing node stays awake for 30 seconds and will respond
to sync requests while it is awake.
If you do not use one of these two methods, you must wait for the network to wake up before adding the new
node. The new node should be placed in range of the network with a sleep/wake cycle that is shorter than the
wake period of the network. The new node will periodically send sync requests until the network wakes up and
it receives a sync message.
Changing Sleep Parameters
Changes to the sleep and wake cycle of the network can be made by selecting any node in the network and
changing the SP and/or ST of the node to values different than those the network is currently using. If using a
preferred sleep coordinator or if it is known which node is acting as the sleep coordinator, it is suggested that
this node be used to make changes to network settings. If the network sleep coordinator is not known, any
node that does not have the non-sleep coordinator sleep option bit set (see the SO command) can be used.
When changes are made to a nodes sleep parameters, that node will become the networks sleep coordinator
(unless it has the non-sleep coordinator option selected) and will send a sync message with the new sleep
settings to the entire network at the beginning of the next wake cycle. The network will immediately begin
using the new sleep parameters after this sync is sent.
Changing sleep parameters increases the chances that nodes will lose sync. If a node does not receive the
sync message with the new sleep settings, it will continue to operate on its old settings. To minimize the risk
of a node losing sync and to facilitate the re-syncing of a node that does lose sync, the following precautions
can be taken:
1. Whenever possible, avoid changing sleep parameters.
2. Enable the missed sync early wake up sleep option (SO). This command is used to tell a node to wake up
progressively earlier based on the number of cycles it has gone without receiving a sync. This will increase the
probability that the un-synced node will be awake when the network wakes up and sends the sync message.
Note: using this sleep option increases reliability but may decrease battery life. Nodes using this sleep option
which miss sync messages will have an increased wake time and decreased sleep time during cycles in which
the sync message is missed. This will reduce battery conservation.
3. When changing between two sets of sleep settings, choose settings so that the wake periods of the two
sleep settings will happen at the same time. In other words, try to satisfy the following equation: (SP1 + ST1)
= N * (SP2 + ST2), where SP1/ST1 and SP2/ST2 are the desired sleep settings and N is an integer.
2014DigiInternationalInc.
45
XBeePRO900HP/XBeePROXSCRFModules
Rejoining Nodes Which Have Lost Sync
Mesh networks get their robustness from taking advantage of routing redundancies which may be available in
a network. It is recommended to architect the network with redundant mesh nodes to increase robustness. If
a scenario exists such that the only route connecting a subnet to the rest of the network depends on a single
node, and that node fails -- or the wireless link fails due to changing environmental conditions (catastrophic
failure condition), then multiple subnets may arise while using the same wake and sleep intervals. When this
occurs the first task is to repair, replace, and strengthen the weak link with new and/or redundant modules to
fix the problem and prevent it from occurring in the future.
When the default DigiMesh sleep parameters are used, separated subnets will not drift out of phase with each
other. Subnets can drift out of phase with each other if the network is configured in one of the following ways:
If multiple modules in the network have had the non-sleep coordinator sleep option bit disabled and are thus eligible to be nominated as a sleep coordinator.
If the modules in the network are not using the auto early wake-up sleep option.
If a network has multiple subnets that have drifted out of phase with each other, get the subnets back in
phase with the following steps:
1. Place a sleep support node in range of both subnets.
2. Select a node in the subnet that you want the other subnet to sync up with. Use this node to slightly change
the sleep cycle settings of the network (increment ST, for example).
3. Wait for the subnets next wake cycle. During this cycle, the node selected to change the sleep cycle
parameters will send the new settings to the entire subnet it is in range of, including the sleep support node
which is in range of the other subnet.
4. Wait for the out of sync subnet to wake up and send a sync. When the sleep support node receives this
sync, it will reject it and send a sync to the subnet with the new sleep settings.
5. The subnets will now be in sync. The sleep support node can be removed. If desired, the sleep cycle
settings can be changed back to what they were.
In the case that only a few nodes need to be replaced, this method can also be used:
1. Reset the out of sync node and set its sleep mode to cyclic sleep (SM = 8). Set it up to have a short sleep
cycle.
2. Place the node in range of a sleep support node or wake a sleeping node with the commissioning button.
3. The out of sync node will receive a sync from the node which is synchronized to the network and sync to the
network sleep settings.
DigiMesh Diagnostics
The following are useful in some applications when managing a sleeping router network:
Query current sleep cycle: the OS and OW commands can be used to query the current operational sleep
and wake times a module is currently using.
Sleep Status: the SS command can be used to query useful information regarding the sleep status of the
module. This command can be used to query if the node is currently acting as a network sleep coordinator, as
well as other useful diagnostics.
Missed Sync Messages Command: the MS command can be used to query the number of cycles that have
elapsed since the module last received a sync message.
Sleep Status API messages: when enabled with the SO command, a module configured in API mode will
output modem status frames immediately after a module wakes up and just prior to a module going to sleep.
2014DigiInternationalInc.
46
XBeePRO900HP/XBeePROXSCRFModules
5.XBeePRO900HPCommandReference
Tables
Table501.
Special
SpecialCommands
AT
Name and Description
Command
AC
Apply Changes. Immediately applies new settings without exiting command mode.
--
--
FR
--
--
RE
--
--
WR
--
--
MAC/PHY Level
Table502.
MAC/PHYlevelCommands
AT
Name and Description
Command
Parameter Range
USA/Canada:
0x00FFFFFF
FFFFFFFFFF
(channels 0
63)
Available Frequencies. This read only command can be queried to return a bitfield of
the frequencies that are available in the modules region of operation.
This command returns a bitfield. Each bit corresponds to a physical channel. Channels
are spaced 400 kHz apart:
AF
Default
0x1FFFFFF
0x00FFFFFFFFFFFFFF
FF
Australia:
0x00FFFFFF
FE00000000
(channels 33
63)
Brazil:
0x00FFFFFF
FE00000FFF
(channels 011, 33 63)
Singapore:
0x00FFE0000
0000000
Channel Mask. The channel mask command allows channels to be selectively enabled
or disabled. This is useful to avoid using frequencies that experience unacceptable
levels of RF interference.
This command is a bitfield. Each bit in the bitfield corresponds to a frequency as defined
in the Available Frequencies (AF) command. When a bit in the Channel Mask and the
corresponding bit in the Available Frequencies are both set to 1 then that physical
channel may be chosen by the module as an active channel for communication.
CM
The minimum number of channels required for operation can be queried with the
Minimum Frequencies (MF) command. If a CM setting would result in less than MF
active channels being enabled, then an error will be returned. If there are more active
0x1FFFFFF
channels enabled than required by MF, then the first MF frequencies will be used (higher 0x00FFFFFFFFFFFFFF
active frequencies may be unused in favor of lower ones).
FF
0xFFFFFFFF
FFF7FFFF
All modules in a network must use an identical set of active channels. Separate networks
which are in physical range of each other should use different Preamble Patterns (HP)
and/or Network IDs (ID) to avoid receiving data from the other network.
The user may find the Energy Detect (ED) command especially useful when choosing
what channels to enable or disable.
Note: Channel 19 (910.000MHz) is disabled by default. This channel has approximately
2dBm worse receiver sensitivity than other channels. It is suggested that this channel not
be used.
2014DigiInternationalInc.
47
XBeePRO900HP/XBeePROXSCRFModules
AT
Name and Description
Command
MF
HP
Parameter Range
Minimum Frequency Count. This read only command can be queried to determine the
minimum number of channels that must be enabled with the CM command for proper
1-50
operation in the modules region of operation.
Preamble ID. The preamble ID for which module communicates. Only modules with
matching preamble IDs can communicate with each other. Different preamble IDs
minimize interference between multiple sets of modules operating in the same vicinity.
When receiving a packet this is checked before the network ID, as it is encoded in the
preamble, and the network ID is encoded in the MAC header.
0-7
Default
USA/Canada:
25
Australia: 25
Brazil: 25
Singapore: 11
Note: When using modules certified for use in Singapore, HP settings of 1, 2, or 3 have
reduced performance compared to the other settings. These settings should be avoided
in this region.
ID
Network ID. The user network identifier. Nodes must have the same network identifier to
communicate. Changes to ID can be written to non-volatile memory using the WR
command. Only modules with matching IDs can communicate with each other. When
0-0x7FFF
receiving a packet this is checked after the preamble ID. If using OEM network IDs,
0xFFFF will use the factory value.
0x7FFF
MT
0 = +7 dBm, (5 mW)
1 = +15 dBm, (32 mW)
2 = +18 dBm, (63 mW)
3 = +21 dBm, (125 mW)
4 = +24 dBm, (250 mW)
PL
Power Level. Set/Read the power level at which the RF module transmits conducted
power. Power level 4 is calibrated and the other power levels are approximate. .
RR
Unicast Mac Retries. The maximum number of MAC level packet delivery attempts for
unicasts. If RR is non-zero packets sent from the radio will request an acknowledgement, 0-0xF
and can be resent up to RR times if no acknowledgements are received.
0x10
ED
Energy Detect. Start an Energy Detect scan. This parameter is the time in milliseconds
to scan all channels. The module will loop through all the channels until the time elapses.
The maximal energy on each channel is returned, and each value is followed by a
0-0xFF
comma with the list ending with a carriage return. The values returned reflect the
detected energy level in units of -dBm.
0x10
Table503.
Diagnostics
DiagnosticsCommandsMACStatisticsandTimeouts
AT
Name and Description
Command
Parameter Range
Default
BC
Bytes Transmitted. The number of RF bytes transmitted. This count is incremented for
every PHY level byte transmitted. The purpose of this count is to estimate battery life by
tracking time doing transmissions. This number rolls over to zero from 0xFFFF. The
0-0xFFFF
counter can be reset to any 16-bit value by appending a hexadecimal parameter to the
command.
DB
Received Signal Strength. This command reports the received signal strength of the
last received RF data packet. The DB command only indicates the signal strength of the 0-0xFF
last hop. It does not provide an accurate quality measurement for a multihop link. The DB
command value is measured in -dBm. For example if DB returns 0x60, then the RSSI of [read-only]
the last packet received was -96dBm.
ER
Received Error Count. This count is incremented whenever a packet is received which
contained integrity errors of some sort. Once the number reaches 0xFFFF, further events
0-0xFFFF
will not be counted. The counter can be reset to any 16-bit value by appending a
hexadecimal parameter to the command.
GD
Good Packets Received. This count is incremented whenever a good frame with a valid
MAC header is received on the RF interface. Once the number reaches 0xFFFF, further
0-0xFFFF
events will not be counted. The counter can be reset to any 16-bit value by appending a
hexadecimal parameter to the command.
EA
MAC ACK Timeouts. This count is incremented whenever a MAC ACK timeout occurs
on a MAC level unicast. Once the number reaches 0xFFFF further events will not be
counted. The counter can be reset to any 16-bit value by appending a hexadecimal
parameter to the command.
0-0xFFFF
TR
2014DigiInternationalInc.
48
XBeePRO900HP/XBeePROXSCRFModules
Table503.
DiagnosticsCommandsMACStatisticsandTimeouts
AT
Name and Description
Command
Parameter Range
Default
UA
%H
MAC Unicast One Hop Time. The MAC unicast one hop timeout in milliseconds.
Changing MAC parameters can change this value.
[read-only]
0xCF
%8
MAC Broadcast One Hop Time. The MAC broadcast one hop timeout in milliseconds.
Changing MAC parameters can change this value.
[read-only]
0x1BE
Table504.
Network
NetworkCommandsDigiMeshandRepeater
AT
Name and Description
Command
CE
Node Messaging Options. The module's routing and messaging mode bit field. A
routing module will repeat broadcasts. Indirect Messaging Coordinators will not transmit
point-to-multipoint unicasts until they are requested by an Indirect Messaging Poller.
Setting a radio as an Indirect Messaging Poller will cause it to regularly send polls to its
Indirect Messaging Coordinator. Nodes can also be configured to route, or not route,
multi-hop packets.
Bit 0 - Indirect Messaging Coordinator enable
All point-multipoint unicasts will be held until requested by a polling end device. 0-6
Bit 1 - Disable routing on this node
When set, this node will not propagate broadcasts or become an intermediate
node in a DigiMesh route. This node will not function as a repeater.
Bit 2 - Indirect Messaging Polling enable
Periodically send requests for messages held by the nodes coordinator.
Bit 0 and bit 2 cannot be set at the same time.
BH
Broadcast Hops. The transmission hops for broadcast data transmissions. Set to 0 for
maximum radius. If BH is set greater than NH then the value of NH is used.
Supported in both variants.
0-0x20
NH
Network Hops The maximum number of hops expected to be seen in a network route.
This value doesn't limit the number of hops allowed, but it is used to calculate timeouts
waiting for network acknowledgements.
Supported in both variants.
0-0x20
NN
Network Delay Slots. Set or read the maximum random number of network delay slots
0 to 0x05
before rebroadcasting a network packet.
MR
Mesh Unicast Retries The maximum number of network packet delivery attempts. If MR
is non-zero, packets sent will request a network acknowledgement, and can be resent up
to MR+1 times if no acknowledgements are received. We recommend setting this value
to 1. If this parameter is set to 0, then network ACKs are disabled. Routes can be found 0 to 7
initially, but will never be repaired if a route fails.
Supported in the 200k variant only.
Table505.
Addressing
AddressingCommands
AT
Name and Description
Command
Parameter Range
Default
SH
Serial Number High. The upper 32 bits of the modules unique IEEE 64-bit MAC address.
0-0xFFFFFFFF
[read-only]
Factory
SL
Serial Number Low. The lower 32 bits of the modules unique IEEE 64-bit MAC address.
0-0xFFFFFFFF
[read-only]
Factory
DH
Destination Address High. The upper 32 bits of the 64-bit destination address. When
combined with DL, it defines the destination address used for transmission in transparent
mode.
0-0xFFFFFFFF
DL
Destination Address Low. The lower 32 bits of the 64-bit destination address. When
combined with DH, DL defines the destination address used for transmission in
transparent mode.
0-0xFFFFFFFF
0x0000FFFF
2014DigiInternationalInc.
49
XBeePRO900HP/XBeePROXSCRFModules
Table505.
AddressingCommands
AT
Name and Description
Command
Parameter Range
Default
Transmit Options.
This command defines transmission options for all packets originating from this radio.
These options can be overridden on a packet-by-packet basis by using the TxOptions field
of the API TxRequest frames.
Bit
6, 7
TO
5
4
3
2
1
0
Meaning
Description
Delivery method b00 - <invalid option>.
b01 - Point-Multipoint
b10 - Repeater mode (directed broadcast of packets)
b11 - DigiMesh (not available on 10k product)
Reserved
<set this bit to 0>
Reserved
<set this bit to 0>
Trace Route Enable a Trace Route on all DigiMesh API packets
NACK
Enable a NACK messages on all DigiMesh API packets
Disable RD
Disable Route Discovery on all DigiMesh unicasts
Disable ACK Disable acknowledgments on all unicasts
Example #1: Setting TO to 0x80 would cause all transmissions to be sent using
repeater mode.
Example #2: Setting TO to 0xC1 would cause all transmissions to be sent using
DigiMesh, with network acknowledgments disabled.
NI
Node Identifier. A string identifier for this module. The string accepts only printable ASCII
data In AT Command Mode, the string can not start with a space. A carriage return or
comma ends the command. Command will automatically end when maximum bytes for the up to 20 byte ASCII string a space character
string have been entered. This string is returned as part of the ATND (Network Discover)
command. This identifier is also used with the ATDN (Destination Node) command.
NT
Node Discover Timeout. The amount of time a node will spend discovering other nodes
when ND or DN is issued. This value is used to randomize the responses to alleviate
network congestion.
NO
Node Discovery Options. The options value for the network discovery command. The
options bitfield value can change the behavior of the ND (network discovery) command
and/or change what optional values are returned in any received ND responses or API
node identification frames.
Options include:
0-0x07 [bitfield]
0x01 = Append DD value (to ND responses or API node identification frames)
0x02 = Local device sends ND or FN response frame when ND is issued.
0x04 = Append RSSI (of the last hop for DigiMesh networks) to ND or FN responses or
API node identification frames.
CI
Cluster ID. The application layer cluster ID value. This value will be used as the cluster ID
0-0xFFFF
for all data transmissions. The default value 0x11 (Transparent data cluster ID)
0x11
DE
Destination Endpoint. The application layer destination ID value. This value will be used
as the destination endpoint for all data transmissions. The default value (0xE8) is the Digi 0-0xFF
data endpoint.
0xE8
SE
Source Endpoint. The application layer source endpoint value. This value will be used as
the source endpoint for all data transmissions. The default value 0xE8 (Data endpoint) is 0-0xFF
the Digi data endpoint
0xE8
Table506.
0x20 - 0x2EE0
[x 100 msec]
0x82 (130d)
Addressing Discovery/Configuration
AddressingDiscovery/ConfigurationCommands
AT
Name and Description
Command
Aggregator Support. The AG command sends a broadcast through the network that
has the following effects on nodes which receive the broadcast:
AG
- The receiving node will establish a DigiMesh route back to the originating node,
provided there is space in the routing table.
- The DH and DL of the receiving node will be updated to the address of the originating Any 64-bit number
node if the AG parameter matches the current DH/DL of the receiving node.
- For API-enabled modules on which DH and DL are updated, an Aggregate Addressing
Update frame will be sent out the serial port.
n/a
Note that the AG command is only available on products that support DigiMesh.
2014DigiInternationalInc.
50
XBeePRO900HP/XBeePROXSCRFModules
Table506.
AddressingDiscovery/ConfigurationCommands
AT
Name and Description
Command
DN
<AT Firmware>
1. DL & DH are set to the extended (64-bit) address of the module with the matching
NI (Node Identifier) string.
2. OK (or ERROR)\r is returned.
20 byte ascii string
3. Command Mode is exited to allow immediate communication
<API Firmware>
0xFFFE and 64-bit extended addresses are returned in an API Command Response
frame.
If there is no response from a module within (NT * 100) milliseconds or a parameter is
not specified (left blank), the command is terminated and an ERROR message is
returned. In the case of an ERROR, Command Mode is not exited.
Network Discover. Discovers and reports all RF modules found. The following
information is reported for each module discovered.
ND
n/a
n/a
n/a
n/a
After (NT * 100) milliseconds, the command ends by returning a <CR>. ND also accepts
a Node Identifier (NI) as a parameter (optional). In this case, only a module that
matches the supplied identifier will respond.
If the ND command is sent through a local API frame, each response is returned as a
separate Local or Remote AT Command Response API packet, respectively. The data
consists of the above listed bytes without the carriage return delimiters. The NI string
will end in a "0x00" null character.
Find Neighbors. Discovers and reports all RF modules found within immediate RF
range. The following information is reported for each module discovered.
FN
2014DigiInternationalInc.
51
XBeePRO900HP/XBeePROXSCRFModules
Security
Table507.
SecurityCommands
AT
Name and Description
Command
Parameter Range
Default
EE
Security Enable Enables or disables 128-bit AES encryption. This command parameter
0-1
must be set the same on all devices for communication to work.
KY
AES Encryption Key Sets the 16 byte network security key value. This command is
write-only; it cannot be read. Attempts to read KY will return an OK status. This
command parameter must be set the same on all devices for communication to work.
128-bit value
This value is passed in as hex characters when setting from AT command mode, and as
binary bytes when set in ATI mode.
n/a
Table508.
Serial Interfacing
SerialInterfacingCommands
AT
Name and Description
Command
BD
Parameter Range
Baud rate. The UART baud rate (speed for data transfer between radio modem and
host). Values from 0-8 select preset standard rates. Values at 0x39 and above select the
actual baud rate. Providing the host supports it. Baud rates can go as high as 7Mbps.
The values from 0 to 8 are interpreted as follows:
0 to 8, and 0x100 to
0 - 1,200bps 3 - 9,600bps 6 - 57,600bps
0x6ACFC0
1 - 2,400bps 4 - 19,200bps 7 - 115,200bps
2 - 4,800bps 5 - 38,400bps 8 - 230,400bps
Default
0x03 (9600
bps)
NB
Parity. Set or read parity settings for UART communications. The values from 0 to 2 are
interpreted as follows:
0 No parity
0-2
1 Even parity
2 Odd parity
0 (No parity)
SB
RO
FT
Flow Control Threshhold. The UART flow control threshhold. De-assert CTS and/or
send XOFF when FT bytes are in the UART receive buffer. Re-assert CTS when less
than FT - 16 bytes are in the UART receive buffer.
0x11 - 0x16F
0x13F
AP
API mode. The UART API mode. The following settings are allowed:
0 Transparent mode, API mode is off. All UART input and output is raw data and
packets are delineated using the RO and RB parameters.
1 API mode without escapes is on. All UART input and output data is packetized in
the API format.
2 API mode is on with escaped sequences inserted to allow for control characters
(XON, XOFF, escape, and the 0x7e delimiter to be passed as data.)
0- 2
AO
API Options. The API data frame output format for received frames. This parameter
applies to both the UART and SPI interfaces.
0 API RX Indicator (0x90)
1 API Explicit RX Indicator (0x91)
0, 1
Parameter Range
Default
Table509.
0-1
I/O Settings
I/OSettingsandCommands
AT
Name and Description
Command
CB
0-4
n/a
D0
0-5
2014DigiInternationalInc.
52
XBeePRO900HP/XBeePROXSCRFModules
Table509.
I/OSettingsandCommands
AT
Name and Description
Command
Parameter Range
Default
D1
0-6
D2
0-5
D3
0-5
D4
0, 1, 3-5
D5
0, 1, 3-5
D6
0, 1, 3-5
D7
0, 1, 3-7
D8
0, 1, 3-5
D9
0, 1, 3-5
2014DigiInternationalInc.
53
XBeePRO900HP/XBeePROXSCRFModules
Table509.
I/OSettingsandCommands
AT
Name and Description
Command
Parameter Range
Default
P0
0-5
P1
0, 2-5
P2
0, 1, 3-5
P3
0, 1
P4
0, 1
PD
Pull Direction. The resistor pull direction bit field for corresponding I/O lines that are set
in the PR command.
0-0x7FFF
0 = pull down
1 = pull up
PR
Pull-up Resistor. The bit field that configures the internal pull-up resistor status for the
I/O lines. "1" specifies the pull-up/down resistor is enabled. "0" specifies no pullup/down.
Bits:
0 - DIO4 / AD4 / SPI_MOSI
1 - DIO3 / AD3 / SPI_SSEL
2 - DIO2 / AD2 / SPI_SCLK
3 - DIO1 / AD1 / SPI_ATTN
4 - DIO0 / AD0
5 - DIO6 / RTS
0 - 0x7FFF
6 - SLEEP_REQUEST
7 - DIN / CONFIG
8 - DIO5 / AD5 / ASSOCIATE
9 - On/SLEEP
10 - DIO12 / SPI_MISO
11 - DIO10 / PWM0 / RSSI
12 - DIO11/ PWM1
13 - DIO7/CTS
14 - PWM0 / DOUT
0x7FFF
M0
PWM0 Duty Cycle. The duty cycle of the PWM0 line. The line should be configured as a
0-0x3FF
PWM output using the P0 command.
M1
PWM1 Duty Cycle. The duty cycle of the PWM1 line. The line should be configured as a
0-0x3FF
PWM output using the P1 command.
LT
Assoc LED Blink Time. The Associate LED blink time. If the Associate LED
functionality is enabled (D5 command), this value determines the on and off blink times
0x14-0xFF [x 10 ms]
for the LED. If LT=0, the default blink rate will be used (500ms sleep coordinator, 250ms
otherwise). For all other LT values, LT is measured in 10ms
RP
RSSI PWM Timer. Time RSSI signal will be output after last transmission. When RP =
0xFF, output will always be on.
0x28
(4 seconds)
2014DigiInternationalInc.
54
XBeePRO900HP/XBeePROXSCRFModules
I/O Sampling
Table5010. I/OSamplingCommands
AT
Name and Description
Command
AV
Analog Voltage Reference. The analog voltage reference that is used for A/D sampling.
0 = 1.25 V reference
0, 1
1 = 2.5 V reference
IC
DIO Change Detection. The digital I/O pins to monitor for changes in the I/O state. IC
works with the individual pin configuration commands (D0-D9, P0-P2). If a pin is enabled
as a digital input/output, the IC command can be used to force an immediate I/O sample
transmission when the DIO state changes. IC is a bitmask that can be used to enable or
disable edge detection on individual channels. Unused bits should be set to 0.
Bit (I/O pin):
0 (DIO0)
1 (DIO1)
2 (DIO2)
3 (DIO3)
0-0xFFFF
4 (DIO4)
5 (DIO5)
6 (DIO6)
7 (DIO7)
8 (DIO8)
9 (DIO9)
10 (DIO10)
11 (DIO11)
12 (DIO12)
IF
Sleep Sample Rate.The number of sleep cycles that must elapse between periodic I/O
samples. This allows I/O samples to be taken only during some wake cycles. During
those cycles I/O samples are taken at the rate specified by IR.
IR
IO Sample Rate. The I/O sample rate to enable periodic sampling. For periodic sampling
to be enabled, IR must be set to a non-zero value, and at least one module pin must
0 - 0xFFFF (ms)
have analog or digital I/O functionality enabled (see D0-D9, P0-P2 commands). The
sample rate is measured in milliseconds.
IS
Force Sample. Forces a read of all enabled digital and analog input lines.
n/a
n/a
TP
0x00 to 0xFF
n/a
%V
--
--
1-0xFF
Sleep
SleepCommands
AT
Name and Description
Command
Parameter Range
SM
SO
Sleep Options. The sleep options of the module. This command is a bitmask.
For synchronous sleep modules, the following sleep options are defined:
bit 0 = Preferred sleep coordinator
bit 1 = Non-sleep coordinator
bit 2 = Enable API sleep status messages
bit 3 = Disable early wake-up
bit 4 = Enable node type equality
bit 5 = Disable lone coordinator sync repeat
For ansynchronous sleep modules, the following sleep options are defined:
bit 8 = Always wake for ST time
2014DigiInternationalInc.
Default
55
XBeePRO900HP/XBeePROXSCRFModules
AT
Name and Description
Command
Parameter Range
Default
SN
Number of Sleep Periods. The number of sleep periods value. This command controls
the number of sleep periods that must elapse between assertions of the ON_SLEEP
line during the wake time of asynchronous cyclic sleep. During cycles when the
ON_SLEEP line is not asserted, the module will wake up and check for any serial or RF 1 - 0xFFFF
data. If any such data is received, then the ON_SLEEP line will be asserted and the
module will fully wake up. Otherwise, the module will return to sleep after checking. This
command does not work with synchronous sleep.
SP
Sleep Period. The sleep period of the module. This command defines the amount of
time the module will sleep per cycle.For a node operating as an Indirect Messaging
Coordinator, this command defines the amount of time that it will hold an indirect
message for an Indirect Messaging Poller. The coordinator will hold the message for
(2.5*SP).
2 seconds
ST
0x7D0 (2 seconds)
WH
1 - 1440000 (x 10 ms)
Sleep Diagnostics
Table5011. DiagnosticsSleepStatusTiming
AT
Name and Description
Command
SS
Sleep Status. The SS command can be used to query a number of Boolean values
describing the status of the module.
Bit 0: This bit will be true when the network is in its wake state.
Bit 1: This bit will be true if the node is currently acting as a network sleep
coordinator.
Bit 2: This bit will be true if the node has ever received a valid sync message since
the time it was powered on.
Bit 3: This bit will be true if the node has received a sync message in the current
wake cycle.
Bit 4: This bit will be true if the user has altered the sleep settings on the module so
that the node will nominate itself and send a sync message with the new settings
at the beginning of the next wake cycle.
Bit 5: This bit will be true if the user has requested that the node nominate itself as
the sleep coordinator (using the commissioning button or the CB2 command).
Bit 6 = This bit will be true if the node is currently in deployment mode.
All other bits: Reserved - All non-documented bits can be any value and should be
ignored.
OS
Operational Sleep Period. The sleep period that the node is currently using. This
number will oftentimes be different from the SP parameter if the node has synchronized
[read-only]
with a sleeping router network.
Units of 10mSec
0x12C
OW
Operational Wake Period. The wake time that the node is currently using. This number
will oftentimes be different from the ST parameter if the node has synchronized with a
[read-only]
sleeping router network.
Units of 1 ms
0xBB8
MS
Number of Missed Syncs. The number of wake cycles that have elapsed since the last
[read-only]
sync message was received. Supported in the mesh firmware variant only.
SQ
Missed Sync Count. Count of the number of syncs that have been missed. This value
can be reset by setting ATSQ to 0. When the value reaches 0xFFFF it will not be
incremented anymore.
2014DigiInternationalInc.
[read-only]
0-0xFFFF
0x40
56
XBeePRO900HP/XBeePROXSCRFModules
AT Command Options
Table5012. ATCommandOptions
AT
Name and Description
Command
Parameter Range
Default
CC
Command Character. Set or read the character to be used between guard times of the
AT Command Mode Sequence. The AT Command Mode Sequence causes the radio
0 - 0xFF
modem to enter Command Mode (from Idle Mode).
0x2B
CN
Exit Command Mode. Explicitly exit the module from AT Command Mode.
n/a
CT
Command Mode Timeout. Set/Read the period of inactivity (no valid commands
received) after which the RF module automatically exits AT Command Mode and returns 2-0x1770
to Idle Mode.
0x64 (100d)
GT
Guard Times. Set required period of silence before and after the Command Sequence
Characters of the AT Command Mode Sequence (GT + CC + GT). The period of silence 0 to 0xFFFF
is used to prevent inadvertent entrance into AT Command Mode.
0x3E8
(1000d)
n/a
Firmware Commands
Table5013. FirmwareVersion/Information
AT
Name and Description
Command
VL
Version Long. Shows detailed version information including application build date and
time.
[read-only]
VR
0 - 0xFFFFFFFF [readFirmware-set
only]
HV
HS
Hardware Series. The module hardware series number. For example, if the module is
version S8B, this will return 0x801.
0-0xFFFF
Factory-set
DD
Device Type Identifier. Stores a device type value. This value can be used to
differentiate multiple XBee-based products.
0-0xFFFFFFFF
[ read only ]
0xC0000
NP
Maximum RF Payload Bytes. This value returns the maximum number of RF payload
bytes that can be sent in a unicast transmission based on the current configurations.
0-0xFFFF
[read-only]
0x100
CK
Configuration CRC. The CRC of the current settings. The purpose of this command is
to allow the detection of an unexpected configuration change on a device. After a
firmware update, this command may return a different value.
2014DigiInternationalInc.
n/a
57
XBeePRO900HP/XBeePROXSCRFModules
6.XBeePRO900HPAPIOperation
As an alternative to Transparent Operation, API (Application Programming Interface) Operations are available.
API operation requires that communication with the module be done through a structured interface (data is
communicated in frames in a defined order). The API specifies how commands, command responses and
module status messages are sent and received from the module using a serial data frame.
Please note that Digi may add new frame types to future versions of firmware, so please build into your
software interface the ability to filter out additional API frames with unknown Frame Types.
0x7E
Length
(Bytes 2-3)
MSB
LSB
Frame Data
(Bytes 4-n)
Checksum
(Byte n + 1)
API-specific Structure
1 Byte
MSB=MostSignificantByte,LSB=LeastSignificantByte
Any data received prior to the start delimiter is silently discarded. If the frame is not received correctly or if
the checksum fails, the module will reply with a module status frame indicating the nature of the failure.
API Operation - with Escape Characters (AP parameter = 2)
When this API mode is enabled (AP = 2), the UART data frame structure is defined as follows:
UARTDataFrameStructurewithescapecontrolcharacters:
Start Delimiter
(Byte 1)
0x7E
Length
(Bytes 2-3)
MSB
LSB
Frame Data
(Bytes 4-n)
Checksum
(Byte n + 1)
API-specific Structure
1 Byte
MSB=MostSignificantByte,LSB=LeastSignificantByte
Escape characters. When sending or receiving a UART data frame, specific data values must be escaped
(flagged) so they do not interfere with the data frame sequencing. To escape an interfering data byte, insert
0x7D and follow it with the byte to be escaped XORd with 0x20.
2014DigiInternationalInc.
58
XBeePRO900HP/XBeePROXSCRFModules
Data bytes that need to be escaped:
0x7E Frame Delimiter
0x7D Escape
0x11 XON
0x13 XOFF
Example - Raw serial data frame (before escaping interfering bytes):
0x7E 0x00 0x02 0x23 0x11 0xCB
0x11 needs to be escaped which results in the following frame:
0x7E 0x00 0x02 0x23 0x7D 0x31 0xCB
Note: In the above example, the length of the raw data (excluding the checksum) is 0x0002 and the
checksum of the non-escaped data (excluding frame delimiter and length) is calculated as:
0xFF - (0x23 + 0x11) = (0xFF - 0x34) = 0xCB.
Length
The length field has two-byte value that specifies the number of bytes that will be contained in the frame data
field. It does not include the checksum field.
Frame Data
Frame data of the serial data frame forms an API-specific structure as follows:
SerialDataFrame&APIspecificStructure:
Start Delimiter
(Byte 1)
0x7E
Length
(Bytes 2-3)
MSB
LSB
Frame Data
(Bytes 4-n)
Checksum
(Byte n + 1)
API-specific Structure
1 Byte
API Identifier
Identifier-specific Data
cmdID
cmdData
The cmdID frame (API-identifier) indicates which API messages will be contained in the cmdData frame
(Identifier-specific data). Note that multi-byte values are sent big endian.The XBee modules support the
following API frames:
APIFrameNamesandValuesSenttotheModule
API Frame Names
API ID
AT Command
0x08
0x09
TX Request
0x10
Explicit TX Request
0x11
0x17
APIFrameNamesandValuesReceivedfromtheModule
API Frame Names
AT Command Response
API ID
0x88
Modem Status
0x8A
Transmit Status
0x8B
RX Indicator (AO=0)
0x90
0x91
0x95
0x97
Note that requests are less than 0x80, and responses are always 0x80 or higher.
2014DigiInternationalInc.
59
XBeePRO900HP/XBeePROXSCRFModules
Checksum
To test data integrity, a checksum is calculated and verified on non-escaped data.
To calculate: Not including frame delimiters and length, add all bytes keeping only the lowest 8 bits of the
result and subtract the result from 0xFF.
To verify: Add all bytes (include checksum, but not the delimiter and length). If the checksum is correct, the
sum will equal 0xFF.
Remote AT Commands
The following image shows the API frame exchanges that take place at the serial interface when sending a
remote AT command. A remote command response frame is not sent out the serial interface if the remote
device does not receive the remote command.
2014DigiInternationalInc.
60
XBeePRO900HP/XBeePROXSCRFModules
AT Command
Frame Type: 0x08
Used to query or set module parameters on the local device. This API command applies changes after
executing the command. (Changes made to module parameters take effect once changes are applied.) The
API example below illustrates an API frame when modifying the NH parameter value of the module
2014DigiInternationalInc.
61
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Start Delimiter
A
P
I
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x04
Frame Type
Frame ID
P
a
c Frame-specific Data AT Command
k
e
t
Parameter Value
3 0x08
4 0x52
5 0x4E (N)
6 0x48 (H)
(optional)
Checksum
8 0x0F
Frame Fields
Start Delimiter
A
P
I
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x05
Frame Type
Frame ID
P
a
c Frame-specific Data
AT Command
k
e
Parameter Value
t
(ATBD7 = 115200
baud)
Checksum
3 0x09
4 0x01
5 0x42 (B)
6 0x44 (D)
0x07
8 0x68
Note: In this example, the parameter could have been sent as a zero-padded 2-byte or 4-byte value.
TX Request
Frame Type: 0x10
A TX Request API frame causes the module to send data as an RF packet to the specified destination.
The 64-bit destination address should be set to 0x000000000000FFFF for a broadcast transmission (to all
devices). For unicast transmissions the 64 bit address field should be set to the address of the desired
destination node. The reserved field should be set to 0xFFFE.
This example shows if escaping is disabled (AP=1).
2014DigiInternationalInc.
62
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x16
Frame Type
3 0x10
Frame ID
4 0x01
MSB 5 0x00
6 0x13
7 0xA2
64-bit Destination
Address
8 0x00
9 0x40
10 0x0A
11 0x01
LSB 12 0x27
A
P
I
Reserved
13 0xFF
14 0xFE
Set to 0xFFFE.
Broadcast Radius
P
a
c Frame-specific Data
k
e
t
15 0x00
Transmit Options
16 0x00
17 0x54
18 0x78
19 0x44
RF Data
20 0x61
21 0x74
22 0x61
23 0x30
24 0x41
Checksum
25 0x13
Example: The example above shows how to send a transmission to a module where escaping is disabled
(AP=1) with destination address 0x0013A200 40014011, payload "TxData0A". If escaping is enabled (AP=2),
the frame should look like:
0x7E 0x00 0x16 0x10 0x01 0x00 0x7D 0x33 0xA2 0x00 0x40 0x0A 0x01 0x27
0xFF 0xFE 0x00 0x00 0x54 0x78 0x44 0x61 0x74 0x61 0x30 0x41 0x7D 0x33
The checksum is calculated (on all non-escaped bytes) as [0xFF - (sum of all bytes from API frame type
through data payload)].
Explicit TX Request
Frame Type: 0x11
Allows application layer fields (endpoint and cluster ID) to be specified for a data transmission. Similar to the
TX Request, but also requires application layer addressing fields to be specified (endpoints, cluster ID, profile
2014DigiInternationalInc.
63
XBeePRO900HP/XBeePROXSCRFModules
ID). An Explicit TX Request API frame causes the module to send data as an RF packet to the specified
destination, using the specified source and destination endpoints, cluster ID, and profile ID.
The 64-bit destination address should be set to 0x000000000000FFFF for a broadcast transmission (to all
devices). For unicast transmissions the 64 bit address field should be set to the address of the desired
destination node. The reserved field should be set to 0xFFFE.
The broadcast radius can be set from 0 up to NH to 0xFF. If the broadcast radius exceeds the value of NH then
the value of NH will be used as the radius. This parameter is only used for broadcast transmissions.
The maximum number of payload bytes can be read with the NP command.
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x1A
Frame Type
3 0x11
Frame ID
4 0x01
MSB 5 0x00
6 0x13
64-bit Destination
Address
7 0xA2
8 0x00
9 0x01
10 0x23
11 0x84
LSB12 0x00
Reserved
A
P
I
Source Endpoint
Destination Endpoint
P
a
c Frame-specific Data Cluster ID
k
e
Profile ID
t
Broadcast Radius
Transmit Options
13 0xFF
14 0xFE
Set to 0xFFFE.
15 0xA0
16 0xA1
17 0x15
18 0x54
19 0xC1
20 0x05
21 0x00
22 0x00
23 0x54
24 0x78
Data Payload
25 0x44
26 0x61
27 0x74
28 0x61
Checksum
29 0xDD
Example: The above example sends a data transmission to a radio with a 64 bit address of
0x0013A20001238400 using a source endpoint of 0xA0, destination endpoint 0xA1, cluster ID
=0x1554, and profile ID 0xC105. Payload will be "TxData".
2014DigiInternationalInc.
64
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x10
Frame Type
3 0x17
Frame ID
4 0x01
MSB 5 0x00
6 0x13
A
P
I
64-bit Destination
Address
P
a
c Frame-specific Data
k
e
t
Reserved
Remote Command
Options
AT Command
Command Parameter
Checksum
7 0xA2
8 0x00
9 0x40
10 0x40
11 0x11
LSB 12 0x22
13 0xFF
14 0xFE
15
Set to 0xFFFE.
16 0x42 (B)
17 0x48 (H)
18 0x01
18 0xF5
Example: The above example sends a remote command to change the broadcast hops register on
a remote device to 1 (broadcasts go to 1-hop neighbors only), and apply changes so the new
configuration value immediately takes effect. In this example, the 64-bit address of the remote is
0x0013A200 40401122.
2014DigiInternationalInc.
65
XBeePRO900HP/XBeePROXSCRFModules
AT Command Response
Frame Type: 0x88
In response to an AT Command message, the module will send an AT Command Response message. Some
commands will send back multiple frames (for example, the ND (Node Discover) command).
Frame Fields
Start Delimiter
Example
Description
0 0x7E
MSB 1 0x00
Length
A
P
I
Offset
LSB 2 0x05
Frame Type
3 0x88
Frame ID
4 0x01
AT Command
P
a Frame-specific Data
c
k
e
Command Status
t
5 B = 0x42
6 D = 0x44
7 0x00
Command Data
Checksum
8 0xF0
Example: Suppose the BD parameter is changed on the local device with a frame ID of 0x01. If
successful (parameter was valid), the above response would be received.
Modem Status
Frame Type: (0x8A)
RF module status messages are sent from the module in response to specific conditions.
Example: The following API frame is returned when an API device powers up.
Frame Fields
Start Delimiter
A
P Length
I
Example
Description
0 0x7E
MSB 1 0x00
LSB 2 0x02
Frame Type
P
a Frame-specific Data
Status
c
k
e
t Checksum
2014DigiInternationalInc.
Offset
3 0x8A
4 0x00
5 0x75
66
XBeePRO900HP/XBeePROXSCRFModules
Transmit Status
Frame Type: 0x8B
When a TX Request is completed, the module sends a TX Status message. This message will indicate if the
packet was transmitted successfully or if there was a failure.
Frame Fields
Start Delimiter
MSB 1 0x00
LSB 2 0x07
Frame Type
3 0x8B
Frame ID
4 0x47
Reserved
P
a
c Frame-specific Data
k
e
t
Checksum
Example
Description
0 0x7E
Length
A
P
I
Offset
5 0xFF
6 0xFE
7 0x00
Delivery Status
8 0x00
0x00 = Success
0x01 = MAC ACK Failure
0x02 = Collision Avoidance Failure
0x21 = Network ACK Failure
0x25 = Route Not Found
0x31 = Internal Resource Error
0x32 = Internal Error
0x74 = Payload too large.
0x75 = Indirect message unrequested.
Discovery Status
9 0x02
10 0x2E
Example: In the above example, a unicast data transmission was sent successfully to a
destination device using a frame ID of 0x47.)
2014DigiInternationalInc.
67
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x2A
Frame Type
3 0x8D
Source Evemt
4 0x12
Length
5 0x2B
MSB 6 0x9C
Timestamp
7 0x93
8 0x81
LSB 9 0x7F
ACK Timout Count
10 0x00
Reserved
11 0x00
Reserved
Reserved
12 0x00
Reserved
MSB 13 0x00
14 0x13
15 0xA2
Destination Address
16 0x00
17 0x40
18 0x52
A
P
I
19 0xAA
LSB 20 0xAA
P
a
c Frame-specific Data
k
e
Source Address
t
MSB 21 0x00
22 0x13
23 0xA2
24 0x00
25 0x40
26 0x52
27 0xDD
LSB 28 0xDD
MSB 29 0x00
30 0x13
31 0xA2
Responder Address
32 0x00
33 0x40
34 0x52
35 0xBB
LSB 36 0xBB
MSB 37 0x00
38 0x13
39 0xA2
Receiver Address
40 0x00
41 0x40
42 0x52
43 0xCC
LSB 44 0xCC
Checksum
45 0xCE
Example: The above example represents a possible Route Information Frame that could be
received when doing a trace route on a transmission from a radio with serial number
0x0013a2004052AAAA to a radio with serial number 0x0013a2004052DDDD. This particular
2014DigiInternationalInc.
68
XBeePRO900HP/XBeePROXSCRFModules
frame indicates that the transmission was successfully forwarded from the radio with serial
number 0x0013a2004052BBBB to the radio with serial number 0x0013a2004052CCCC.
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x12
Frame Type
3 0x8E
Format ID
4 0x00
MSB 5 0x00
6 0x13
A
P
I
7 0xA2
P
a
c Frame-specific Data
k
e
t
New Address
8 0x00
9 0x40
10 0x52
11 0xBB
LSB 12 0xBB
13 0x00
14 0x13
15 0xA2
Old Address
16 0x00
17 0x40
18 0x52
19 0xAA
20 0xAA
Checksum
21 0x2E
Example: In the above example a radio which had a destination address (DH/DL) of
0x0013A2004052AAAA updated its destination address to 0x0013A2004052BBBB.
2014DigiInternationalInc.
69
XBeePRO900HP/XBeePROXSCRFModules
RX Indicator
Frame Type: (0x90)
When the module receives an RF packet, it is sent out the UART using this message type.
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x12
Frame Type
3 0x90
MSB 4 0x00
5 0x13
64-bit Source
Address
6 0xA2
7 0x00
8 0x40
9 0x52
A
P
I
10 0x2B
LSB 11 0xAA
Reserved
P
a
c Frame-specific Data
k
e
t
Receive Options
12 0xFF
13 0xFE
14 0x01
Reserved
bit 0: Packet was acknowledged.
bit 1: Broadcasted packet.
bits 6,7:
b01 - Point-Multipoint
b10 - Repeater mode (directed broadcast)
b11 - DigiMesh (not available on 10k product)
other bits should be ignored.
15 0x52
16 0x78
Received Data
17 0x44
18 0x61
Received RF data
19 0x74
20 0x61
Checksum
21 0x11
Example: Example: In the above example, a device with a 64-bit address of 0x0013A200
40522BAA sends a unicast data transmission to a remote device with payload "RxData". If AO=0
on the receiving device, it would send the above frame out its serial interface.
2014DigiInternationalInc.
70
XBeePRO900HP/XBeePROXSCRFModules
Explicit Rx Indicator
Frame Type:0x91
When the modem receives an RF packet it is sent out the UART using this message type (when AO=1).
Frame Fields
Offset
Start Delimiter
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x18
Frame Type
3 0x91
MSB 4 0x00
5 0x13
64-bit Source
Address
6 0xA2
7 0x00
8 0x40
9 0x52
10 0x2B
LSB 11 0xAA
Reserved
A
P
I
12 0xFF
13 0xFE
Reserved.
Source Endpoint
14 0xE0
Destination Endpoint
15 0xE0
P
Cluster ID
a
c Frame-specific Data
k
Profile ID
e
t
Receive Options
16 0x22
17 0x11
18 0xC1
19 0x05
20 0x02
b01 - Point-Multipoint
b10 - Repeater mode (directed broadcast)
b11 - DigiMesh (not available on 10k product)
other bits should be ignored.
21 0x52
22 0x78
Received Data
23 0x44
24 0x61
Received RF data
25 0x74
26 0x61
Checksum
27 0x56
Example: In the above example, a device with a 64-bit address of 0x0013A200 40522BAA sends
a broadcast data transmission to a remote device with payload "RxData". Suppose the
transmission was sent with source and destination endpoints of 0xE0, cluster ID=0x2211, and
profile ID=0xC105. If AO=1 on the receiving device, it would send the above frame out its serial
interface.
2014DigiInternationalInc.
71
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x14
Frame Type
3 0x92
MSB 4 0x00
5 0x13
6 0xA2
64-bit Source
(remote) Address
7 0x00
8 0x40
9 0x52
10 0x2B
LSB 11 0xAA
A
P
I
P
Receive Options
a
c
k Frame-specific Data
Number of Samples
e
t
Digital Channel Mask*
Analog Channel
Mask***
MSB 12 0x7D
LSB 13 0x84
14 0x01
15 0x01
16 0x00
17 0x1C
18 0x02
19 0x00
20 0x14
21 0x02
Analog Sample
Checksum
22 0x25
23 0xF5
2014DigiInternationalInc.
72
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Offset
Start Delimiter
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x25
Frame Type
3 0x95
MSB 4 0x00
5 0x13
64-bit Source
Address
6 0xA2
7 0x00
8 0x40
9 0x74
10 0x02
LSB 11 0xAC
Reserved
12 0xFF
13 0xFE
Receive Options
Reserved
A
P
I
14 0xC2
15 0xFF
16 0xFE
Reserved.
0x01 - Packet Acknowledged
0x02 - Packet was a broadcast packet
0x40 - Point-multipoint packet
0x80 - Directed broadcast packet
0xC0 - DigiMesh packet
Reserved
MSB 17 0x00
18 0x13
P
a
64-bit Address
c Frame-specific Data
k
e
t
19 0xA2
20 0x00
21 0x40
22 0x74
23 0x02
LSB 24 0xAC
NI String
Reserved
25 0x20
26 0x00
27 0xFF
28 0xFE
Device Type
29 0x01
0=Coordinator
1=Normal Mode
2=End Device
(See the NO command description for more options)
Source Event
30 0x01
Digi Profile ID
Digi Manufacturer ID
31 0xC1
32 0x05
33 0x10
34 0x1E
35 0x00
Digi DD Value
(optional)
36 0x0C
37 0x00
38 0x00
RSSI (optional)
Checksum
39 0x2E
40 0x33
Example: If the commissioning push button is pressed on a remote router device with 64-bit
address 0x0013a200407402ac and default NI string, the following node identification indicator
would be received: 0x7e 0025 9500 13a2 0040 7402 acff fec2 fffe 0013 a200 4074 02ac 2000 fffe
0101 c105 101e 000c 0000 2e33
2014DigiInternationalInc.
73
XBeePRO900HP/XBeePROXSCRFModules
Frame Fields
Start Delimiter
Offset
Example
Description
0 0x7E
MSB 1 0x00
Length
LSB 2 0x13
Frame Type
3 0x97
Frame ID
4 0x55
MSB 5 0x00
6 0x13
7 0xA2
64-bit Source
(remote) Address
8 0x00
9 0x40
10 0x52
A
P
I
11 0x2B
LSB 12 0xAA
Reserved
P
a
c Frame-specific Data
AT Commands
k
e
t
Command Status
13 0xFF
14 0xFE
15 0x53
16 0x4C
17 0x00
Reserved
Name of the command
The least significant nibble indicates the command
status:
0 = OK
1 = ERROR
2 = Invalid Command
3 = Invalid Parameter
The most significant nibble is a bitfield as follows:
0x40 = The RSSI field is invalid and should be ignored.
Software prior to version 8x60 did not include RSSI
information
0x80 = Response is a remote command.
18 0x40
Command Data
19 0x52
20 0x2B
21 0xAA
Checksum
22 0xF4
Example: If a remote command is sent to a remote device with 64-bit address 0x0013A200
40522BAA to query the SL command, and if the frame ID=0x55, the response would look like the
above example.
2014DigiInternationalInc.
74
XBeePRO900HP/XBeePROXSCRFModules
7.XBeePRO900HPAdvancedApplication
Features
XBee-PRO 900HP Remote Configuration Commands
A module in API mode has provisions to send configuration commands to remote devices using the Remote
Command Request API frame (See API Operations chapter.) This API frame can be used to send commands to
a remote module to read or set command parameters.
2014DigiInternationalInc.
75
XBeePRO900HP/XBeePROXSCRFModules
Deploy all modules in the network with the default DH/DL of 0xFFFF.
2.
Following the preceding sequence would result in all of the nodes in the network which received the AG
broadcast to have a DH of 0x0013a200 and a DL of 0x4052c507. These nodes would have automatically built
a route to the aggregator.
Example 2: To cause all nodes in the network to build routes to an aggregator node with a MAC address of
0x0013a2004052c507 without affecting the DH/DL of any nodes in the network the ATAGFFFE command
should be issued on the aggregator node. This will cause an AG broadcast to be sent to all nodes in the
network. All of the nodes will update their internal routing table information to contain a route to the
aggregator node. None of the nodes will update their DH/DL registers (because none of the registers are set
to an address of 0xFFFE).
Node Replacement
The AG command can also be used to update the routing table and DH/DL registers in the network after a
module is replaced. The DH/DL registers of nodes in the network can also be updated. To update only the
routing table information without affecting the DH/DL registers then the process of Example 2 above can be
used. To update the DH/DL registers of the network then the method of Example 3 below can be used.
Example 3: The module with serial number 0x0013a2004052c507 was being used as a network aggregator.
It was replaced with a module with serial number 0x0013a200f5e4d3b2. The AG0013a2004052c507
command should be issued on the new module. This will cause all modules which had a DH/DL register setting
of 0x0013a2004052c507 to update their DH/DL register setting to the MAC address of the sending module
(0x0013a200f5e4d3b2).
2014DigiInternationalInc.
76
XBeePRO900HP/XBeePROXSCRFModules
Link Testing
A good way to measure the performance of a network is to send unicast data through the network from one
device to another to determine the success rate of many transmissions. To simplify link testing, the modules
support a loopback cluster ID (0x12) on the data endpoint (0xE8). Any data sent to this cluster ID on the data
endpoint will be transmitted back to the sender.
The configuration steps to send data to the loopback cluster ID depend on the AP setting:
AT Configuration (AP=0)
To send data to the loopback cluster ID on the data endpoint of a remote device, set the CI command value to
0x12. The SE and DE commands should be set to 0xE8 (default value). The DH and DL commands should be
set to the address of the remote (0 for the coordinator, or the 64-bit address of the remote). After exiting
command mode, any received serial characters will be transmitted to the remote device, and returned to the
sender.
API Configuration (AP=1 or AP=2)
Send an Explicit Addressing Command API frame (0x11) using 0x12 as the cluster ID and 0xE8 as the source
and destination endpoint. Data packets received by the remote will be echoed back to the sender.
RSSI Indicators
It is possible to measure the received signal strength on a device using the DB command. DB returns the RSSI
value (measured in -dBm) of the last received packet. However, this number can be misleading in DigiMesh
networks. The DB value only indicates the received signal strength of the last hop. If a transmission spans
multiple hops, the DB value provides no indication of the overall transmission path, or the quality of the worst
link - it only indicates the quality of the last link and should be used accordingly.
The DB value can be determined in hardware using the RSSI/PWM module pin (pin 6). If the RSSI PWM
functionality is enabled (P0 command), when the module receives data, the RSSI PWM is set to a value based
on the RSSI of the received packet. (Again, this value only indicates the quality of the last hop.) This pin could
potentially be connected to an LED to indicate if the link is stable or not.
2014DigiInternationalInc.
77
XBeePRO900HP/XBeePROXSCRFModules
The configuration steps to send data to the loopback cluster ID depend on the AP setting:
AT Configuration (AP=0)
To send data to the loopback cluster ID on the data endpoint of a remote device, set the CI command value to
0x12. The SE and DE commands should be set to 0xE8 (default value). The DH and DL commands should be
set to the address of the remote. After exiting command mode, any received serial characters will be
transmitted to the remote device, and returned to the sender.
API Configuration (AP=1 or AP=2)
Send an Explicit Addressing ZigBee Command API frame (0x11) using 0x12 as the cluster ID and 0xE8 as the
source and destination endpoint. Data packets received by the remote will be echoed back to the sender.
Link Testing Between Adjacent Devices
It is often advantageous to test the quality of a link between two adjacent nodes in a network. The Test Link
Request Cluster ID can be used to send a number of test packets between any two nodes in a network.
A link test can be initiated using an Explicit TX Request frame. The command frame should be addressed to
the Test Link Request Cluster ID (0x0014) on destination endpoint 0xE6 on the radio which should execute the
test link. The Explicit TX Request frame should contain a 12 byte payload with the following format:
Number of Bytes
2014DigiInternationalInc.
Field Name
Description
Destination address
Payload size
Iterations
78
XBeePRO900HP/XBeePROXSCRFModules
After completing the transmissions of the test link packets the executing radio will send the following data
packet to the requesting radio's Test Link Result Cluster (0x0094) on endpoint (0xE6). If the requesting radio
is configured to operate in API mode then the following information will be output as an API Explicit RX
Indicator Frame:
Number of Bytes
Field Name
Description
Destination address
Payload size
Iterations
Success
Retries
Result
RR
maxRSSI
minRSSI
avgRSSI
Example:
Suppose that the link between radio A (SH/SL = 0x0013a20040521234) and radio B (SH/
SL=0x0013a2004052abcd) is to be tested by transmitting 1000 40 byte packets. The following
API packet should be sent to the serial interface of the radio on which the results should be
output, radio C. Note that radio C can be the same radio as radio A or B (whitespace used to
delineate fields, bold text is the payload portion of the packet):
7E 0020 11 01 0013A20040521234 FFFE E6 E6 0014 C105 00 00 0013A2004052ABCD 0028
03E8 EB
And the following is a possible packet that could be returned:
7E 0027 91 0013A20040521234 FFFE E6 E6 0094 C105 00 0013A2004052ABCD 0028 03E8
03E7 0064 00 0A 50 53 52 9F
(999 out of 1000 packets successful, 100 retries used, RR=10, maxRSSI=-80dBm, minRSSI=83dBm, avgRSSI=-82dBm)
If the result field is not equal to zero then an error has occurred. The other fields in the packet should be
ignored. If the Success field is equal to zero then the RSSI fields should be ignored.
Trace Routing
In many applications it is useful to determine the route which a DigiMesh unicast takes to its destination. This
information is especially useful when setting up a network or diagnosing problems within a network. The Trace
Route API option of Tx Request Packets (see the API section of this manual for a description of the API frames)
causes routing information packets to be transmitted to the originator of a DigiMesh unicast by the
intermediate nodes.
When a unicast is sent with the Trace Route API option enabled, the unicast is sent to its destination radios
which forward the unicast to its eventual destination will transmit a Route Information (RI) packet back along
the route to the unicast originator. A full description of Route Information API packets can be found in the API
section of this manual. In general they contain addressing information for the unicast and the intermediate
hop for which the trace route packet was generated, RSSI information, and other link quality information.
2014DigiInternationalInc.
79
XBeePRO900HP/XBeePROXSCRFModules
Example:
Suppose that a data packet with trace route enabled was successfully unicast from radio A to radio E, through
radios B, C, and D. The following sequence would occur:
After the successful MAC transmission of the data packet from A to B, A would output a RI
Packet indicating that the transmission of the data packet from A to E was successfully forwarded one hop from A to B.
After the successful MAC transmission of the data packet from B to C, B would transmit a RI
Packet to A. A would output this RI packet out its serial interface upon reception.
After the successful MAC transmission of the data packet from C to D, C would transmit a RI
Packet to A (through B). A would output this RI packet out its serial interface upon reception.
After the successful MAC transmission of the data packet from D to E, D would transmit a RI
Packet to A (through C and B). A would output this RI packet out its serial interface upon
reception.
It is important to note that Route Information packets are not guaranteed to arrive in the same order as the
unicast packet took. It is also possible for the transmission of Route Information packets on a weak route to
fail before arriving at the unicast originator.
Because of the large number of Route Information packets which can be generated by a unicast with Trace
Route enabled it is suggested that the Trace Route option only be used for occasional diagnostic purposes and
not for normal operations.
NACK Messages
The NACK API option of Tx Request Packets (see the API section of this manual for a description of the API
frames) provides the option to have a Route Information packet generated and sent to the originator of a
unicast when a MAC acknowledgment failure occurs on one of the hops to the destination. This information is
useful because it allows marginal links to be identified and repaired.
2014DigiInternationalInc.
80
XBeePRO900HP/XBeePROXSCRFModules
XBee
15
Associate
LED
Commissioning Pushbutton
The commissioning pushbutton definitions provide a variety of simple functions to aid in deploying devices in a
network. The commissioning button functionality on pin 20 is enabled by setting the D0 command to 1
(enabled by default).
Button Presses
Action
No effect.
2014DigiInternationalInc.
Sleep
Configuration and
Sync Status
81
XBeePRO900HP/XBeePROXSCRFModules
Sleep
Configuration and
Sync Status
Button Presses
4
Action
Issues an ATRE to restore module parameters
to default values.
Any
Button presses may be simulated in software using the ATCB command. ATCB should be issued with a
parameter set to the number of button presses to execute. (i.e. sending ATCB1 will execute the action(s)
associated with a single button press.)
The node identification frame is similar to the node discovery response frame it contains the devices
address, node identifier string (NI command), and other relevant data. All API devices that receive the node
identification frame send it out their serial interface as an API Node Identification Indicator frame (0x95).
Associate LED
The Associate pin (pin 15) can provide indication of the device's sleep status and diagnostic information. To
take advantage of these indications, an LED can be connected to the Associate pin as shown in the figure
above. The Associate LED functionality is enabled by setting the D5 command to 1 (enabled by default). If
enabled, the Associate pin is configured as an output and will behave as described in the following sections.
The Associate pin indicates the synchronization status of a sleep compatible node. On a non-sleep compatible
node the pin functions as a power indicator. The following table describes this functionality.
The LT command can be used to override the blink rate of the Associate pin. When set to 0, the device uses
the default blink time (500ms for sleep coordinator, 250ms otherwise).
Sleep mode
LED Status
Meaning
On, blinking
1, 4, 5
Off
1, 4, 5
On, blinking
On, solid
7, 8
7, 8
Off
On, solid
Diagnostics Support
The Associate pin works with the commissioning pushbutton to provide additional diagnostic behaviors to aid
in deploying and testing a network. If the commissioning push button is pressed once the device transmits a
broadcast node identification packet at the beginning of the next wake cycle if sleep compatible, or
immediately if not sleep compatible. If the Associate LED functionality is enabled (D5 command), a device
that receives this transmission will blink its Associate pin rapidly for 1 second.
Queried Sampling
Parameters for the pin configuration commands typically include the following:
2014DigiInternationalInc.
82
XBeePRO900HP/XBeePROXSCRFModules
Description
Setting the configuration command that corresponds to a particular pin will configure the pin:
Configuration Command
P2
P0
PWM1 / DIO11
P1
D8
AD4 / DIO4
11
D4
12
D7
D9
CTS / DIO7
ON_SLEEP / DIO9
13
15
D5
RTS / DIO6
16
D6
AD3 / DIO3
17
D3
AD2 / DIO2
18
D2
AD1 / DIO1
19
D1
AD0 / DIO0 /
CommissioningButton
20
D0
See the command table for more information. Pullup resistors for each digital input can be enabled using the
PR command.
1
2014DigiInternationalInc.
Sample Sets
83
XBeePRO900HP/XBeePROXSCRFModules
Indicates which digital IO lines have sampling enabled. Each bit corresponds to one
digital IO line on the module.
bit 0 = AD0/DIO0
bit 1 = AD1/DIO1
bit 2 = AD2/DIO2
bit 3 = AD3/DIO3
bit 4 = DIO4
bit 5 = ASSOC/DIO5
2
bit 6 = RTS/DIO6
bit 7 = CTS/GPIO7
bit 8 = DTR / SLEEP_RQ / DIO8
bit 9 = ON_SLEEP / DIO9
bit 10 = RSSI/DIO10
bit 11 = PWM/DIO11
bit 12 = CD/DIO12
For example, a digital channel mask of 0x002F means DIO0,1,2,3, and 5 are enabled
as digital IO.
Indicates which lines have analog inputs enabled for sampling. Each bit in the analog
channel mask corresponds to one analog input channel.
bit 0 = AD0/DIO0
bit 1 = AD1/DIO1
bit 2 = AD2/DIO2
bit 3 = AD3/DIO3
If any digital IO lines are enabled, the first two bytes of the data set indicate the state
of all enabled digital IO. Only digital channels that are enabled in the Digital Channel
Mask bytes have any meaning in the sample set. If no digital IO are enabled on the
device, these 2 bytes will be omitted.
Following the digital IO data (if any), each enabled analog channel will return 2 bytes.
The data starts with AIN0 and continues sequentially for each enabled analog input
channel up to AIN5.
If the IS command is issued from AT command mode then a carriage return delimited list will be returned
containing the above-listed fields. If the command is issued via an API frame then the module will return an
AT command response API frame with the IO data included in the command data portion of the packet.
Example
Sample AT Response
0x01\r
[1 sample set]
0x0C0C\r
0x03\r
0x0408\r
0x03D0\r
0x0124\r
2014DigiInternationalInc.
84
XBeePRO900HP/XBeePROXSCRFModules
A module with sleep enabled will transmit periodic I/O samples at the IR rate until the ST time expires and the
device can resume sleeping. See the sleep section for more information on sleep.
Byte Offset in
Payload
2014DigiInternationalInc.
Number of
Bytes
Field Name
GPM_CMD_ID
GPM_OPTIONS
Command-specific options
2*
GPM_BLOCK_NUM
2*
GPM_START_INDEX
2*
GPM_NUM_BYTES
varies
GPM_DATA
85
XBeePRO900HP/XBeePROXSCRFModules
*Multi-byte parameters should be specified with big-endian byte ordering.
When a GPM command is sent to a radio via a unicast the receiving radio will unicast a response back to the
requesting radio's source endpoint specified in the request packet. No response is sent for broadcast requests.
If the source endpoint is set to the DIGI_DEVICE endpoint (0xE6) or explicit API mode is enabled on the
requesting radio then a GPM response will be output as an explicit API RX indicator frame on the requesting
node (assuming API mode is enabled.)
The format of the response is very similar to the request packet:
Byte Offset in
Payload
Number of
Bytes
2*
2*
2*
varies
Field Name
GPM_CMD_ID
GPM_STATUS
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_OPTIONS
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
PLATFORM_INFO (0x80):
When a PLATFORM_INFO_REQUEST command request has been unicast to a node, that node will send a
response in the following format to the source endpoint specified in the requesting frame.
Field Name
2014DigiInternationalInc.
Command-Specific Description
GPM_CMD_ID
GPM_STATUS
A 1 in the least significant bit indicates an error occurred. All other bits
are reserved at this time.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
The number of bytes in the GPM_DATA field. For this command, this
field will be set to 0.
86
XBeePRO900HP/XBeePROXSCRFModules
Field Name
GPM_DATA
Command-Specific Description
No data bytes are specified for this command.
Example:
A PLATFORM_INFO_REQUEST sent to a radio with a serial number of 0x0013a200407402AC should be
formatted as follows (spaces added to delineate fields):
7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 00 00 00 0000 0000 0000 24
Assuming all transmissions were successful, the following API packets would be output the source node's
serial interface:
7E 0007 8B 01 FFFE 00 00 00 76
7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 80 00 0077 0200 0000 EB
ERASE (0x01):
The ERASE command erases (writes all bits to binary 1) one or all of the GPM flash blocks. The ERASE
command can also be used to erase all blocks of the GPM by setting the GPM_NUM_BYTES field to 0.
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_OPTIONS
There are currently no options defined for the ERASE command. Set
this field to 0.
GPM_BLOCK_NUM
Set to the index of the GPM block that should be erased. When
erasing all GPM blocks, this field is ignored (set to 0).
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
ERASE_RESPONSE (0x81):
When an ERASE command request has been unicast to a node, that node will send a response in the following
format to the source endpoint specified in the requesting frame.
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_STATUS
A 1 in the least significant bit indicates an error occurred. All other bits
are reserved at this time.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
The number of bytes in the GPM_DATA field. For this command, this
field will be set to 0.
GPM_DATA
Example:
To erase flash block 42 of a target radio with serial number of 0x0013a200407402ac an ERASE packet should
be formatted as follows (spaces added to delineate fields):
7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 C0 01 00 002A 0000 0200 37
2014DigiInternationalInc.
87
XBeePRO900HP/XBeePROXSCRFModules
Assuming all transmissions were successful, the following API packets would be output the source node's
serial interface:
7E 0007 8B 01 FFFE 00 00 00 76
7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 81 00 002A 0000 0000 39
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_OPTIONS
There are currently no options defined for this command. Set this field
to 0.
GPM_BLOCK_NUM
GPM_START_INDEX
Set to the byte index within the GPM block where the given data
should be written.
GPM_NUM_BYTES
Set to the number of bytes specified in the GPM_DATA field. Only one
GPM block can be operated on per command. For this reason,
GPM_START_INDEX + GPM_NUM_BYTES cannot be greater than
the GPM block size. It is also important to remember that the number
of bytes sent in an explicit API frame (including the GPM command
fields) cannot exceed the maximum payload size of the radio. The
maximum payload size can be queried with the NP AT command.
GPM_DATA
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_STATUS
A 1 in the least significant bit indicates an error occurred. All other bits
are reserved at this time.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
The number of bytes in the GPM_DATA field. For this command, this
field will be set to 0.
GPM_DATA
Example:
To write 15 bytes of incrementing data to flash block 22 of a target radio with serial number of
0x0013a200407402ac a WRITE packet should be formatted as follows (spaces added to delineate fields):
7E 002B 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 C0 02 00 0016 0000 000F 0102030405060708090A0B0C0D0E0F C5
Assuming all transmissions were successful and that flash block 22 was previously erased, the following API
packets would be output the source node's serial interface:
7E 0007 8B 01 FFFE 00 00 00 76
7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 82 00 0016 0000 0000 4C
2014DigiInternationalInc.
88
XBeePRO900HP/XBeePROXSCRFModules
READ (0x04):
The READ command can be used to read the specified number of bytes from the GPM location specified. Data
can be queried from only one GPM block per command.
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_OPTIONS
There are currently no options defined for this command. Set this field
to 0.
GPM_BLOCK_NUM
GPM_START_INDEX
Set to the byte index within the GPM block where the given data
should be read.
GPM_NUM_BYTES
Set to the number of data bytes to be read. Only one GPM block can
be operated on per command. For this reason, GPM_START_INDEX
+ GPM_NUM_BYTES cannot be greater than the GPM block size. It is
also important to remember that the number of bytes sent in an explicit
API frame (including the GPM command fields) cannot exceed the
maximum payload size of the radio. The maximum payload size can
be queried with the NP AT command.
GPM_DATA
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_STATUS
A 1 in the least significant bit indicates an error occurred. All other bits
are reserved at this time.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
Example:
To read 15 bytes of previously written data from flash block 22 of a target radio with serial number of
0x0013a200407402ac a READ packet should be formatted as follows (spaces added to delineate fields):
7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 C0 04 00 0016 0000 000F 3B
Assuming all transmissions were successful and that flash block 22 was previously written with incrementing
data, the following API packets would be output the source node's serial interface:
7E 0007 8B 01 FFFE 00 00 00 76
7E 0029 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 84 00 0016 0000 000F 0102030405060708090A0B0C0D0E0F C3
2014DigiInternationalInc.
89
XBeePRO900HP/XBeePROXSCRFModules
FIRMWARE_VERIFY_AND_INSTALL command, if the GPM contains a valid firmware image then the module will
reset and begin using the new firmware.
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_OPTIONS
There are currently no options defined for this command. Set this field
to 0.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_STATUS
A 1 in the least significant bit indicates the GPM does not contain a
valid firmware image. A 0 in the least significant bit indicates the GPM
does contain a valid firmware image. All other bits are reserved at this
time.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
Field Name
Command-Specific Description
GPM_CMD_ID
GPM_STATUS
A 1 in the least significant bit indicates the GPM does not contain a
valid firmware image. All other bits are reserved at this time.
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
GPM_DATA
Example:
To verify a firmware image previously loaded into the GPM on a target radio with serial number of
0x0013a200407402ac a FIRMWARE_VERIFY packet should be formatted as follows (spaces added to delineate
fields):
2014DigiInternationalInc.
90
XBeePRO900HP/XBeePROXSCRFModules
7E 001C 11 01 0013A200407402AC FFFE E6 E6 0023 C105 00 00 05 00 0000 0000 0000 1F
Assuming all transmissions were successful and that the firmware image previously loaded into the GPM is
valid, the following API packets would be output the source node's serial interface:
7E 0007 8B 01 FFFE 00 00 00 76
7E 001A 91 0013A200407402AC FFFE E6 E6 0023 C105 C1 85 00 0000 0000 0000 5F
GPM_BLOCK_NUM
2014DigiInternationalInc.
GPM_START_INDEX
GPM_NUM_BYTES
.ebin bytes
128
0 to 127
128
128
128 to 255
256
128
256 to 383
91
XBeePRO900HP/XBeePROXSCRFModules
GPM_BLOCK_NUM
GPM_START_INDEX
GPM_NUM_BYTES
.ebin bytes
384
128
384 to 511
128
512 to 639
128
128
640 to 767
107
54784 to 54911
107
128
54912 to 55039
107
256
101
55040 to 55140
Things to Remember
The firmware upgrade process requires that the module resets itself. Because of this reset
parameters which have not been written to flash will be lost after the reset. To avoid this,
write all parameters with the WR command before doing a firmware upgrade. Packet routing
information will also be lost after this reset. Route discoveries will be necessary for DigiMesh
unicasts involving the upgraded node as a source, destination, or intermediate node.
Because explicit API Tx frames can be addressed to a local node (accessible via the SPI or
UART) or a remote node (accessible over the RF port) the same process can be used to update
firmware on a module in either case.
2014DigiInternationalInc.
92
XBeePRO900HP/XBeePROXSCRFModules
AppendixA:XSCFirmware
XBeePRO900HP/XBeePROXSCRFModule
The XBee-PRO XSC (900 MHz) RF Modules were engineered to afford RF Modules
and integrators an easy-to-use RF solution that provides reliable delivery of critical data between remote devices. These modules come configured to sustain
reliable long-range wireless links. The XBee Module is a drop-in wireless solution
that transfers a standard asynchronous serial data stream.
The S3 hardware variant is a legacy design and will become obsolete. New and
old designs should use the S3B hardware variant, which features better performance, lower current draw, and is backward compatible with and a direct
replacement for S3 radios. The S3B hardware with XSC firmware is also fully
backward compatible (serial interface and over-the-air) with the 9XStream radios.
2014DigiInternationalInc.
93
XBeePRO900HP/XBeePROXSCRFModules
Easy-to-Use
XBee-PRO XSC-S3:
Indoor/Urban: 1200' (370m)
XBee-PRO XSC-S3B:
Indoor/Urban range: 2000 (610 m)
Outdoor line-of-sight range: 9 miles (14 km)
Receiver Sensitivity: -109 dBm
Worldwide Acceptance
FCC Certified (USA) - Refer to Appendices B and C for FCC Requirements.
that include XBee-PRO Modules inherit Digis FCC Certification
Systems
Performance
Indoor/Urban Range
Outdoor line-of-sight Range
2014DigiInternationalInc.
Up to 1200ft (370m)
Up to 6 miles (9.6km) w/ dipole antenna
Up to 15 miles (24km) w/ high-gain antenna
up to 2000ft (610m)
Up to 9 miles (14km) w/ dipole antenna
Up to 28 miles (45km) w/ high-gain antenna
9.6kbps or 19.2kbps
10kbps
10kbps or 20kbps
+20dBm (100mW)
94
XBeePRO900HP/XBeePROXSCRFModules
TableA01. XBeePROXSCRFModuleSpecifications
Specification
-106dBm
Supply Voltage
2.1 to 3.6VDC
Receive Current
65mA
26mA typical
Transmit Current
265mA
215mA at 24dBm
50uA
Receiver Sensitivity
Power Requirements
Spread Spectrum
Frequency Hopping
Network Topology
Channel Capacity
3V CMOS UART
Physical Properties
Module Board Size
Weight
Connector
Operating Temperature
-40 to 85 C (industrial)
Antenna Options
Integrated Wire
RF Connector
Impedance
50 ohms unbalanced
Certifications
FCC Part 15.247
MCQ-XBEEXSC
MCQ-XBPS3B, or MCQ-XB900HP
(see preface)
1846A-XBEEXSC
1846A-XBPS3B, or 1846A-XB900HP
(see preface)
Europe
N/A
RoHS
Compliant
Australia
N/A
C-Tick
Brazil
N/A
ANATEL 3727-12-1209
2014DigiInternationalInc.
95
XBeePRO900HP/XBeePROXSCRFModules
TableA02. J1PinSignalDescriptions
(Lowassertedsignalsdistinguishedwithahorizontallineoversignalname.)
Module Pin
Public Signal
VCC
Notes
When
Active
Function
Supply Voltage
I/O
DO (Data Out)
n/a
Serial data exiting the module (to the UART host). Refer to the
Serial Communications section for more information
DI (Data In
n/a
Serial data entering the module (from UART host). Refer to the
Serial Communications section for more information.
DO3 / RX LED
high
Reset
**Has a pull up
I/O
resistor
low
Config
*Has a pull up
resistor
low / high
Driven high
NC
DI3 / SLEEP
10
GND
*Has a pull up
resistor
Do not Connect
Do not Connect
high
11
Driven high
Do not Connect
12
low
13
ON / Sleep
high
14
VREF
n/a
n/a
low
17
Driven low
Do not Connect
18
Driven low
Do not Connect
19
Driven low
Do not Connect
20
Driven low
Do not Connect
15
16
TX / PWR
*Has a pull
down resistor
Note:*S3hasa100kpullup.S3Bhasinternalpullup.**S3has10kpullup.S3Bhasinternalpullup.
2014DigiInternationalInc.
96
XBeePRO900HP/XBeePROXSCRFModules
The data flow sequence is initiated when the first byte of data is received in the DI Buffer of the transmitting
module (XBee Module A). As long as XBee Module A is not already receiving RF data, data in the DI Buffer is
packetized, then transmitted over-the-air to XBee Module B.
D IN A
T ST
RFOUT A
T TX
TX LED A
T TL
D OUT B
TCLDL
CTS B
TCHDH
RX LED B
2014DigiInternationalInc.
97
XBeePRO900HP/XBeePROXSCRFModules
TypicalACCharacteristics(SYparameter=0,symbolscorrespondtoFigureandFigure.)
Symbol
Description
TTX
72.0 ms
TTL
16.8 ms
TRL
25.6 ms
TST
35.0 ms
DCCharacteristics(Vcc=3.03.6VDC)
Symbol
Parameter
Vcc
VIL
VIH
Condition
Min
Max
Units
*3.0
Typical
3.6
-0.3
0.3Vcc
0.7Vcc
Vcc + 0.3 **
VOL
Output Low-Level
Voltage
Iout = Iout_Max
0.4
VOH
Output High-Level
Voltage
Iout = Iout_Max
IL
IO1
Output Current
IO2
Output Current
Vcc-0.4
V
40
400
nA
mA
pins 4, 12, 13
(DCD,~CTS,ON/~Sleep)
mA
Note:*MinVoltageforS3Bis2.1v,howeverMaxPowerwillbereducedandSensitivitymaydegrade.
**S3istolerantupto5.5voninputpins.
***S3Bcanhavepullupsenabledandstillmaintainlowleakagecurrent.
2014DigiInternationalInc.
98
XBeePRO900HP/XBeePROXSCRFModules
2014DigiInternationalInc.
99
XBeePRO900HP/XBeePROXSCRFModules
XBeePROXSCRFModuleOperation
Serial Communications
The XBee module interfaces to a host device through a CMOS-level asynchronous serial port. Through its
serial port, the module can communicate with any UART voltage compatible device or through a level
translator to any RS-232/485/422 device.
Serial Data
Data enters the XBee module through the DI pin as an asynchronous serial signal. The signal should idle high
when no data is being transmitted.
The UART performs tasks, such as timing and parity checking, that are needed for data communications.
Serial communication consists of two UARTs, one being the XBee's and the other being the Microcontroller's,
configured with compatible parameters (baud rate, parity, start bits, stop bits, data bits) to have successful
communication. Each data packet consists of a start bit (low), 8 data bits (least significant bit first) and a stop
bit (high). The following figure illustrates the serial bit pattern of data passing through the module.
UARTdatapacket0x1F(decimalnumber31)astransmittedthroughtheXBeeModule
ExampleDataFormatis8N1(bitsparity#ofstopbits)
2014DigiInternationalInc.
100
XBeePRO900HP/XBeePROXSCRFModules
Flow Control
InternalDataFlowDiagram(Thefivemostcommonlyusedpinsignalsshown.)
2014DigiInternationalInc.
101
XBeePRO900HP/XBeePROXSCRFModules
Idle Mode
When not receiving or transmitting data, the RF module is in Idle Mode. The module shifts into the other
modes of operation under the following conditions:
Transmit Mode (Serial data is received in the DI Buffer)
Receive Mode (Valid RF data is received through the antenna)
Sleep Mode (Sleep Mode condition is met)
Command Mode (Command Mode Sequence is issued)
Transmit Mode
When the first byte of serial data is received from the UART in the DI buffer, the modem attempts to shift to
Transmit Mode and initiate an RF connection with other modems. After transmission is complete, the modem
returns to Idle Mode.
RF transmission begins after either of the following criteria is met:
1. RB bytes have been received in the DI buffer and are pending for RF transmission [refer to RB
(Packetization Threshold) command, p34].
- The RB parameter may be set to any value between 1 and the RF packet size (PK), inclusive. When RB = 0,
the packetization threshold is ignored.
2. At least one character has been received in the DI buffer (pending for RF transmission) and RO time has
been observed on the UART [refer to RO (Packetization Timeout) command].
- The time out can be disabled by setting RO to zero. In this case, transmission will begin after RB bytes have
been received in the DI buffer.
Note: RF reception must complete before the modem is able to enter into Transmit Mode.
After either RB or RO conditions are met, the modem then initializes a communications channel. [Channel
initialization is the process of sending an RF initializer that synchronizes receiving modems with the
transmitting modem. During channel initialization, incoming serial data accumulates in the DI buffer.]
Serial data in the DI buffer is grouped into RF packets [refer to PK (RF Packet Size)]; converted to RF data;
then transmitted over-the-air until the DI buffer is empty.
RF data, which includes the payload data, follows the RF initializer. The payload includes up to the maximum
packet size (PK Command) bytes. As the transmitting modem nears the end of the transmission, it inspects
the DI buffer to see if more data exists to be transmitted. This could be the case if more than PK bytes were
originally pending in the DI buffer or if more bytes arrived from the UART after the transmission began. If
more data is pending, the transmitting modem assembles a subsequent packet for transmission.
2014DigiInternationalInc.
102
XBeePRO900HP/XBeePROXSCRFModules
RF Packet
The RF packet is the sequence of data used for communicating information between Digi
Radios. An RF Packet consists of an RF Initializer and RF Data.
When streaming multiple RF packets, the RF Initializer is only sent in front of the first packet.
RF Initializer
An RF initializer is sent each time a new connection sequence begins. The RF initializer contains
channel information that notifies receiving modems of information such as the hopping pattern
used by the transmitting modem. The first transmission always sends an RF initializer.
An RF initializer can be of various lengths depending on the amount of time determined to be
required to prepare a receiving modem. For example, a wake-up initializer is a type of RF initializer used to wake remote modems from Sleep Mode (Refer to the FH, LH, HT and SM Commands for more information). The length of the wake-up initializer should be longer than the
length of time remote modems are in cyclic sleep.
2014DigiInternationalInc.
103
XBeePRO900HP/XBeePROXSCRFModules
Header
The header contains network addressing information that filters incoming RF data. The receiving modem checks for a matching Hopping Channel (HP parameter), Vendor Identification Number (ID parameter) and Destination Address (DT parameter). Data that does not pass through
all three network filter layers is discarded.
CRC (Cyclic Redundancy Check)
To verify data integrity and provide built-in error checking, a 16-bit CRC (Cyclic Redundancy
Check) is computed for the transmitted data and attached to the end of each RF packet. On the
receiving end, the receiving modem computes the CRC on all incoming RF data. Received data
that has an invalid CRC is discarded.
Receive Mode
If a module detects RF data while operating in Idle Mode, the module transitions into Receive Mode to start
receiving RF packets.
ReceptionofRFData
After a packet is received, the module checks the CRC
(cyclic redundancy check) to ensure that the data was
transmitted without error. If the CRC data bits on the
incoming packet are invalid, the packet is discarded. If
the CRC is valid, the packet proceeds to the DO Buffer.
The module returns to Idle Mode after valid RF data is
no longer detected or after an error is detected in the
received RF data. If serial data is stored in the DI
buffer while the module is in Receive Mode, the serial
data will be transmitted after the module is finished
receiving data and returns to Idle Mode.
Sleep Mode
Sleep Modes enable the XBee module to operate at
minimal power consumption when not in use. The
following Sleep Mode options are available:
Pin Sleep
Cyclic Sleep
For the module to transition into Sleep Mode, the module must have a non-zero SM (Sleep Mode) Parameter
and one of the following must occur:
The module is idle (no data transmission or reception) for a user-defined period of time [Refer
to the ST (Time before Sleep) Command].
SLEEP is asserted (only for Pin Sleep option).
2014DigiInternationalInc.
104
XBeePRO900HP/XBeePROXSCRFModules
In Sleep Mode, the module will not transmit or receive data until the module first transitions to Idle Mode. All
Sleep Modes are enabled and disabled using SM Command. Transitions into and out of Sleep Modes are
triggered by various events as shown in the table below.
SummaryofSleepModeConfigurations
Sleep Mode
Setting
Pin Sleep
(SM = 1)
Cyclic Sleep
(SM = 3-8)
Transition into
Sleep Mode
Microcontroller can shut down and wake
modules by asserting (high) SLEEP (pin 9).
Note: The module will complete a
transmission or reception before activating
Pin Sleep.
Automatic transition to Sleep Mode occurs
in cycles as defined by the SM (Sleep
Mode) Command.
Transition out of
Sleep Mode
Related
Commands
Typical Power
Consumption
(S3)
Typical Power
Consumption
(S3B)
De-assert (low)
SLEEP (pin 9).
SM
50 A
2.5uA
76 A
when sleeping
2.5uA
when sleeping
Note: The module will complete a transmission or reception before activating Pin Sleep.
Cyclic Sleep (SM = 3-8)
Cyclic Sleep is the Sleep Mode in which the XBee module enters into a low-power state and awakens
periodically to determine if any transmissions are being sent.
When Cyclic Sleep settings are enabled, the XBee module goes into Sleep Mode after a user-defined period of
inactivity (no transmission or reception on the RF channel). The user-defined period is determined by ST
(Time before Sleep) Command.
While the module is in Cyclic Sleep Mode, CTS is de-asserted (high) to indicate that data should not be sent to
the module during this time. When the module awakens to listen for data, CTS is asserted and any data
received on the DI Pin is transmitted. The PWR pin is also de-asserted (low) when the module is in Cyclic
Sleep Mode.
The module remains in Sleep Mode for a user-defined period of time ranging from 0.5 seconds to 16 seconds
(SM Parameters 3 through 8). After this interval of time, the module returns to Idle Mode and listens for a
valid data packet for 100 ms. If the module does not detect valid data (on any frequency), the module returns
to Sleep Mode. If valid data is detected, the module transitions into Receive Mode and receives incoming RF
packets. The module then returns to Sleep Mode after a Period of inactivity that is determined by ST Time
before Sleep Command.
The module can also be configured to wake from cyclic sleep when SLEEP (pin 9) is de-asserted (low). To
configure a module to operate in this manner, PW (Pin Wake-up) Command must be issued. Once SLEEP is deasserted, the module is forced into Idle Mode and can begin transmitting or receiving data. It remains active
2014DigiInternationalInc.
105
XBeePRO900HP/XBeePROXSCRFModules
until no data is detected for the period of time specified by the ST Command, at which point it resumes its
low-power cyclic state.
Note: The cyclic interval time defined by SM (Sleep Mode) Command must be shorter than the interval time
defined by LH (Wake-up Initializer Timer).
For example: If SM=4 (Cyclic 1.0 second sleep), the LH Parameter should equal 0x0B ("1.1" seconds). With
these parameters set, there is no risk of the receiving module being asleep for the duration of wake-up
initializer transmission. Cyclic Scanning explains in further detail the relationship between Cyclic Sleep and
Wake-up Initializer Timer
Cyclic Scanning. Each RF transmission consists of an RF Initializer and payload. The wake-up initializer
contains initialization information and all receiving modules must wake during the wake-up initializer portion
of data transmission in order to be synchronized with the transmitting module and receive the data.
CorrectConfiguration(LH>SM)
LengthofthewakeupinitializerexceedsthetimeintervalofCyclicSleep.Thereceiverisguaranteedtodetect
thewakeupinitializerandreceivetheaccompanyingpayloaddata.
IncorrectConfiguration(LH<SM)
LengthofwakeupinitializerisshorterthanthetimeintervalofCyclicSleep.Thisconfigurationisvulnerableto
thereceiverwakingandmissingthewakeupinitializer(andthereforealsotheaccompanyingpayloaddata).
Command Mode
To modify or read module parameters, the module must first enter into Command Mode, the state in
which received characters on the UART are interpreted as commands. Two command types are available for programming the module:
AT Commands
Binary Commands
For modified parameter values to persist in the module registry, changes must be saved to non-volatile memory using WR (Write) Command. Otherwise, parameters are restored to previously saved values after the module is powered off and then on again.
AT Commands
To Enter AT Command Mode:
Send the 3-character command sequence +++ and observe guard times before and after
the command characters. [refer to Default AT Command Mode Sequence below.] The Termi-
2014DigiInternationalInc.
106
XBeePRO900HP/XBeePROXSCRFModules
nal tab (or other serial communications software) of the XCTU Software can be used to enter
the sequence.
[OR]
Assert (low) the CONFIG pin and either turn the power going to the module off and back on.
(If using a Digi XBIB-R Interface Board, the same result can be achieved by holding the DataIn line low (also known as a break) while rebooting the module by pressing the reset button
on the module assembly [module assembly = module mounted to an interface board]).
Default AT Command Mode Sequence (for transition to Command Mode):
No characters sent for one second [refer to the BT (Guard Time Before) Command]
Input three plus characters (+++) within one second
[refer to the CC (Command Sequence Character) Command.]
No characters sent for one second [refer to the AT (Guard Time After) Command.]
To Send AT Commands:
Send AT commands and parameters using the syntax shown below.
FigureA1.SyntaxforsendingATCommands
To read a parameter value stored in the module register, leave the parameter field blank.
The preceding example would change the modules Destination Address to 0x1F. To store the new value to
non-volatile (long term) memory, the Write (ATWR) command must subsequently be sent before powering off
the module.
System Response. When a command is sent to the module, the module will parse and execute the
command. Upon successful execution of a command, the module returns an OK message. If execution of a
command results in an error, the module returns an ERROR message.
To Exit AT Command Mode:
If no valid AT Commands are received within the time specified by CT (Command Mode Timeout) Command, the module automatically returns to Idle Mode.
[OR]
Send ATCN (Exit Command Mode) Command.
For an example of programming the RF module using AT Commands and descriptions of each configurable parameter, refer to the RF Module Configuration chapter.
Binary Commands
Sending and receiving parameter values using binary commands is the fastest way to change operating
parameters of the module. Binary commands are used most often to sample signal strength (RS parameter)
and/or error counts; or to change module addresses and channels for polling systems when a quick response
is necessary. Since the sending and receiving of parameter values takes place through the same data path as
'live' data (received RF payload), follow the CTS pin as outlined in Figure 2-012 to distinguish between the
two types of data (commands vs 'live' data).
Common questions regarding the use of binary commands:
What are the implications of asserting CMD while live data is being sent or received?
After sending serial data, is there a minimum time delay before CMD can be asserted?
Is a time delay required after CMD is de-asserted before payload data can be sent?
How to discern between live data and data received in response to a command?
CMD (pin 16) must be asserted in order to send binary commands to the module. The CMD pin can be
asserted to recognize binary commands anytime during the transmission or reception of data. The status of
the CMD signal is only checked at the end of the stop bit as the byte is shifted into the serial port. The
2014DigiInternationalInc.
107
XBeePRO900HP/XBeePROXSCRFModules
application does not allow control over when data is received, except by waiting for dead time between bursts
of communication.
If the command is sent in the middle of a stream of payload data to be transmitted, the command will
essentially be executed in the order it is received. If the radio is continuously receiving data, the radio will wait
for a break in the received data before executing the command. The CTS signal will frame the response
coming from the binary command request [Figure ].
A minimum time delay of 100 s (after the stop bit of the command byte has been sent) must be observed
before pin 5 can be de-asserted. The command executes after all parameters associated with the command
have been sent. If all parameters are not received within 0.5 seconds, the module aborts the command and
returns to Idle Mode.
Note: Binary commands that return only one parameter byte must also be written with two parameter
bytes, 0-padded, LSB first. Refer to Programming Examples section [p18] for a binary programming
example.
Commands can be queried for their current value by sending the command logically ORed (bit-wise) with the
value 0x80 (hexadecimal) with CMD asserted. When the binary value is sent (with no parameters), the current
value of the command parameter is sent back through the DO pin.
BinaryCommandWritethenRead
Signal#4isCMD(pin16)
Signal#1istheDIN(pin3)signal
totheradio
Signal#2istheDOUT(pin2)signal
fromtheradio
Signal#3isCTS(pin12)
In this graph, a value was written to a register and
then read out to verify it. While not in the middle of
other received data, note that the CTS signal outlines
the data response out of the module.
IMPORTANT: For the XBee module to recognize a binary command, the RT (DI2 Configuration) parameter must be set to one. If binary programming is not enabled RT = 0 or 2, the module will not recognize that the CMD pin is asserted and
therefore will not recognize the data as binary commands.
2014DigiInternationalInc.
108
XBeePRO900HP/XBeePROXSCRFModules
XBeePROXSCRFModuleConfiguration
XBee Programming Examples
For information about entering and exiting AT and Binary Command Modes, refer to the Command Mode
section.
AT Commands
To Send AT Commands (Using the Terminal tab of the XCTU Software)
Example: Utilize the 'Terminal' tab of the XCTU Software to change the module's DT (Destination
Address) parameter and save the new address to non-volatile memory. This example requires
the installation of Digis XCTU Software and a serial connection to a PC.
Note:Donotsendcom
mandstothemodule
duringflashprogram
ming(whenparameters
arebeingwrittentothe
moduleregistry).
WaitfortheOKsys
temresponsethatfol
lowstheATWR
commandbeforeenter
ingthenextcommand
oruseflowcontrol.
Select the Terminal tab of the XCTU Software and enter the following command lines:
Method 1 (One line per command)
Send AT Command
+++
ATDT <Enter>
ATDT1A0D <Enter>
ATWR <Enter>
ATCN <Enter>
System Response
OK <CR> (Enter into Command Mode)
{current value} <CR> (Read Destination Address)
OK <CR> (Modify Destination Address)
OK <CR> (Write to non-volatile memory)
OK <CR> (Exit Command Mode)
System Response
OK <CR> (Enter into Command Mode)
{current value} <CR> (Read Destination Address)
OK <CR> (Execute commands)
Note: When using XCTU Software to program a module, PC com port settings must match the baud
(interface data rate), parity & stop bits parameter settings of the module. Use the 'Com Port Setup'
section of the PC Settings tab to configure PC com port settings to match those of the module.
Binary Commands
To Send Binary Commands
Example: Use binary commands to change the XBee module's destination address to 0x1A0D
and save the new address to non-volatile memory.
1.
2.
3.
4.
low)
Note: CTS is de-asserted high when commands are being executed. Hardware flow control must be
disabled as CTS will hold off parameter bytes.
2014DigiInternationalInc.
109
XBeePRO900HP/XBeePROXSCRFModules
Binary
Command
*AM
AT
Command Category
# Bytes
Returned
Factory
Default
AT Command Name
Range
0x3A (58d)
Auto-set MY
0x05 (5d)
0x0A (10d)
Serial Interfacing
0x03 9600bps
BD
0x15 (21d)
BT
0x04 (4d)
0x0A (10d)
CC
0x13 (19d)
0x20 0x7F
0x2B (+)
CD
0x28 (40d)
DO3 Configuration
0-4
Serial Interfacing
CN
0x09 (9d)
CS
0x1F (31d)
DO2 Configuration
04
Serial Interfacing
CT
0x06 (6d)
0xC8 (200d)
DT
0x00 (0d)
Destination Address
0 0xFFFF
Networking
E0
0x0A (10d)
Echo Off
E1
0x0B (11d)
Echo On
ER
0x0F (15d)
0 0xFFFF
Diagnostics
FH
0x0D (13d)
FL
0x07 (7d)
01
Serial Interfacing
FR
FT
N/A
(Special)
0x24 (36d)
Serial Interfacing
varies
GD
0x10 (16d)
0 0xFFFF
Diagnostics
HP
0x11 (17d)
Hopping Channel
06
Networking
HT
0x03 (3d)
0xFFFF
Networking
ID
0x27 (39d)
Module VID
LH
0x0C (12d)
MD
0x32 (50d)
RF Mode
04
0
0xFFFF
MK
0x12 (18d)
Address Mask
0 0xFFFF
Networking
*MY
0x2A (42d)
Source Address
0 0xFFFF
0xFFFF
NB
0x23 (35d)
Parity
05
Serial Interfacing
PC
0x1E (30d)
Power-up Mode
01
*PK
0x29 (41d)
RF Packet Size
0 - 0x100 [bytes]
Serial Interfacing
0x40 (64d)
*PL
0x3c (60d)
RF Power Level
0-4
(Special)
PW
0x1D (29d)
Pin Wake-up
01
*RB
0x20 (32d)
Packetization Threshold
0 - 0x100 [bytes]
Serial Interfacing
0x01
RE
0x0E (14d)
Restore Defaults
(Special)
RN
0x19 (25d)
Delay Slots
0 0xFF [slots]
Networking
RO
0x21 (33d)
Packetization Timeout
Serial Interfacing
RP
0x22 (34d)
Diagnostics
RR
0x18 (24d)
Retries
0 0xFF
Networking
RS
0x1C (28d)
RSSI
Diagnostics
RT
0x16 (22d)
DI2 Configuration
0-2
Serial Interfacing
*RZ
0x2C (44d)
DI Buffer Size
[read-only]
Diagnostics
SB
0x36 (54d)
Stop Bits
0-1
Serial Interfacing
SH
0x25 (37d)
0 0xFFFF [read-only]
Diagnostics
SL
0x26 (38d)
0 0xFFFF [read-only]
Diagnostics
SM
0x01 (1d)
Sleep Mode
0, 1, 3 - 8
ST
0x02 (2d)
0x64 (100d)
SY
0x17 (23d)
Networking
0 (disabled)
TR
0x1B (27d)
0 0xFFFF
Diagnostics
2014DigiInternationalInc.
110
XBeePRO900HP/XBeePROXSCRFModules
TT
0x1A (26d)
Streaming Limit
0 0xFFFF [0 = disabled]
Networking
VR
0x14 (20d)
Firmware Version
0 - 0xFFFF [read-only]
Diagnostics
0xFFFF
-
WR
0x08 (8d)
Write
(Special)
NOTE:ATCommandsissuedwithoutaparametervalueareinterpretedasqueriesandwillreturnthecurrentlystoredparameter.
*CommandsonlysupportedonS3Bhardware.
Command Summary
AT Command: ATAM
Binary Command: 0x3A (58 decimal)
This command is only supported on S3B
modules.
Description
<Networking & Security> AM Command
is used to automatically set the MY
(Source Address) parameter from the
factory-set module serial number. The
address is formed with bits 29, 28 and
13-0 of the serial number (in that
order).
Command Summary
AT Command: ATAT
Binary Command: 0x05 (5 decimal)
Parameter Range:0x02 0xFFFF
[x 100 milliseconds]
Number of bytes returned: 2
Default Parameter Value: 0x0A (10
decimal)
Related Commands: BT (Guard Time
Before), CC (Command Sequence
Character)
2014DigiInternationalInc.
Description
<Command Mode Options> AT
Command is used to set the time-ofsilence that follows the command
sequence character (CC Command). By
default, AT Command Mode will activate
after one second of silence.
Refer to the AT Commands section to
view the default AT Command Mode
Sequence.
111
XBeePRO900HP/XBeePROXSCRFModules
BD (Interface Data Rate) Command
Command Summary
AT Command: ATBD
Binary Command: 0x15 (21 decimal)
Parameter Range (Standard baud rates): 0
6
(Non-standard baud rates): 0x7D
0xFFFF (125d 65535d)
Parameter
Value
0
1
2
3
4
5
6
BAUD (bps)
Configuration
1200
2400
4800
9600
19200
38400
57600
Description
<Serial Interfacing> BD Command allows the user to adjust the
UART interface data rate and thus modify the rate at which
serial data is sent to the module. The new baud rate does not
take effect until the CN (Exit AT Command Mode) Command is
issued. The RF data rate is not affected by the BD Command.
Although most applications will only require one of the seven
standard baud rates, non-standard baud rates are also
supported.
Note: If the serial data rate is set to exceed the fixed RF data
rate of the module, flow control may need to be implemented
as described in the Pin Signals and Flow Control sections of this
manual.
Non-standard Interface Data Rates: When parameter values
outside the range of standard baud rates are sent, the closest
interface data rate represented by the number is stored in the
BD register. For example, a rate of 19200 bps can be set by
sending the following command line ATBD4B00. NOTE: When
using XCTU Software, non-standard interface data rates can
only be set and read using the XCTU Terminal tab. Nonstandard rates are not accessible through the Modem
Configuration tab.
When the BD command is sent with a non-standard interface
data rate, the UART will adjust to accommodate the requested
interface rate. In most cases, the clock resolution will cause the
stored BD parameter to vary from the parameter that was sent
(refer to the table below). Reading the BD command (send
ATBD command without an associated parameter value) will
return the value that was actually stored to the BD register.
ParameterSentvs.ParameterStored
BD Parameter Sent (HEX)
0
4
6
12C
E100
1200
19,200
57600
300
57600
0
4
6
12B
E883
Command Summary
AT Command: ATBT
Binary Command: 0x04 (4 decimal)
Parameter Range:2 0xFFFF
[x 100 milliseconds]
Default Parameter Value: 0x0A (10
decimal)
Number of bytes returned: 2
Related Commands: AT (Guard Time
After), CC (Command Sequence
Character)
Description
2014DigiInternationalInc.
112
XBeePRO900HP/XBeePROXSCRFModules
CC (Command Sequence Character) Command
Command Summary
AT Command: ATCC
Binary Command: 0x13 (19 decimal)
Parameter Range: 0x20 0x7F
Default Parameter Value: 0x2B (ASCII +
sign)
Number of bytes returned: 1
Related Commands: AT (Guard Time
After), BT (Guard Time Before)
Description
AT Command: ATCD
Binary Command: 0x28 (40 decimal)
Parameter Range: 0 3
Parameter
Value
0
1
2
3
4
Configuration
RX LED
Default high
Default low
(reserved)
Assert only when packet
addressed to module is sent
Description
<Command Mode
Options> CD
Command is used to
define the behavior of
the DO3/RX LED line.
Command Summary
AT Command: ATCN
Binary Command: 0x09 (9 decimal)
Description
Command Summary
AT Command: ATCS
Binary Command: 0x1F (31 decimal)
Parameter Range:0 4
Parameter
Value
0
1
2
3
4
Configuration
RS-232
flow control
RS-485 TX enable low
high
RS-485 TX enable high
low
2014DigiInternationalInc.
Description
<Serial Interfacing> CS
Command is used to
select the behavior of
the DO2 pin signal.
This output can
provide RS-232 flow
control, control the TX
enable signal (for RS485 or RS-422
operations), or set the
default level for the I/O
line passing function.
By default, DO2
provides RS-232 CTS
(Clear-to-Send) flow
control.
113
XBeePRO900HP/XBeePROXSCRFModules
CT (Command Mode Time out) Command
Command Summary
AT Command: ATCT
Binary Command: 0x06 (6 decimal)
Parameter Range:0x02 0xFFFF
[x 100 milliseconds]
Default Parameter Value: 0xC8 (200
decimal, 20 seconds)
Number of bytes returned: 2
Description
<Command Mode Options> CT
Command sets the amount of time
before AT Command Mode terminates
automatically. After a CT time of
inactivity, the module exits AT
Command Mode and returns to Idle
Mode. AT Command Mode can also be
exited manually using CN (Exit AT
Command Mode) Command.
Command Summary
AT Command: ATDT
Binary Command: 0x00
Parameter Range:0 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: HP (Hopping
Channel), ID (Module VID), MK (Address
Mask)
Description
<Networking> DT Command is used to
set the networking address of a Module.
Modules use three network layers
Vendor Identification Number (ATID),
Channels (ATHP), and Destination
Addresses (ATDT). DT Command
assigns an address to a module that
enables it to communicate only with
other modules having the same
addresses. All modules that share the
same Destination Address can
communicate freely with each other.
Modules in the same network with a
different Destination Address (than that
of the transmitter) will listen to all
transmissions to stay synchronized, but
will not send any of the data out their
serial ports.
Command Summary
AT Command: ATE0
Binary Command: 0x0A (10 decimal)
Description
<Command Mode Options> E0
Command turns off character echo in AT
Command Mode. By default, echo is off.
Command Summary
AT Command: ATE1
Binary Command: 0x0B (11 decimal)
Description
<Command Mode Options> E1
Command turns on the echo in AT
Command Mode. Each typed character
will be echoed back to the terminal
when ATE1 is active. E0 is the default.
2014DigiInternationalInc.
114
XBeePRO900HP/XBeePROXSCRFModules
ER (Receive Error Count) Command
Command Summary
AT Command: ATER
Binary Command: 0x0F (15 decimal)
Parameter Range:0 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: GD (Receive Good
Count)
Description
<Diagnostics> Set/Read the receiveerror. The error-count records the
number of packets partially received
then aborted on a reception error. This
value returns to 0 after a reset and is not
non-volatile (Value does not persist in
the modules memory after a power-up
sequence). Once the Receive Error
Count reaches its maximum value (up
to 0xFFFF), it remains at its maximum
count value until the maximum count
value is explicitly changed or the
module is reset.
Command Summary
AT Command: ATFH
Binary Command: 0x0D (13 decimal)
Description
<Sleep (Low Power)> FH Command is
used to force a Wake-up Initializer to be
sent on the next transmit. WR (Write)
Command does not need to be issued
with FH Command.
Use only with cyclic sleep modes active
on remote modules.
Command Summary
AT Command:
ATFL
Binary Command: 0x07 (7
decimal)
Parameter Range: 0 1
Parameter Value
0
1
Configuration
Disable software
flow control
Enable software
flow control
Description
<Serial Interfacing> FL Command
is used to configure software flow
control. Hardware flow control is
implemented with the Module as
the DO2 pin (), which regulates
when serial data can be transferred
to the module. FL Command can be
used to allow software flow control
to also be enabled. XON character
used is 0x11 (17 decimal). XOFF
character used is 0x13 (19
decimal).
Command Summary
AT Command: ATFR
Binary Command: Not available
Description
<Special> FR command is used in order
to reset the module through the UART.
The characters OK<CR> will be
returned and the module will reset
100ms
2014DigiInternationalInc.
115
XBeePRO900HP/XBeePROXSCRFModules
FT (Flow Control Threshold) Command
Command Summary
AT Command: ATFT
Binary Command: 0x24 (36 decimal)
Parameter Range:0 (DI buffer size minus
0x11 bytes)
Default Parameter Value: DI Buffer size
minus 0x11 (17 decimal)
Number of bytes returned: 2
Minimum Firmware Version Required:
4.27B
Description
<Serial Interfacing> Flow Control
Threshold - Set or read flow control
threshold. De-assert CTS and/or send
XOFF when FT bytes are in the UART
receive buffer. Re-assert CTS when less
than FT - 16 bytes are in the UART receive
buffer.
Command Summary
AT Command: ATGD
Binary Command: 0x10 (16 decimal)
Parameter Range:0 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: ER (Receive Error
Count)
Description
<Diagnostics> Set/Read the count of
good received RF packets. Parameter
value is reset to 0 after every reset and is
not non-volatile (Value does not
persist in the modules memory after a
power-up sequence). Once the
Receive Good Count reaches its
maximum value (up to 0xFFFF), it
remains at its maximum count value until
the maximum count value is
manually changed or the module is reset.
Command Summary
AT Command: ATHP
Binary Command: 0x11 (17 decimal)
Parameter Range:0 6
Default Parameter Value: 0
Number of bytes returned: 1
Related Commands: DT (Destination
Address), ID (Module VID), MK (Address
Mask)
2014DigiInternationalInc.
Description
<Networking> HP Command is used to
set the modules hopping channel
number. A channel is one of three layers
of addressing available to the
module. In order for modules to
communicate with each other, the
modules must have the same channel
number since each network uses a
different hopping sequence. Different
channels can be used to prevent
modules in one network from listening
to transmissions of another.
116
XBeePRO900HP/XBeePROXSCRFModules
HT (Time before Wake-up Initializer) Command
Command Summary
AT Command: ATHT
Binary Command: 0x03 (3 decimal)
Parameter Range:0 0xFFFF
[x 100 milliseconds]
Default Parameter Value: 0xFFFF (means
that long wake-up initializer will not be
sent)
Number of bytes returned: 2
Related Commands: LH (Wake-up
Initializer Timer), SM (Sleep Mode), ST
(Time before Sleep)
Description
<Sleep (Low Power)> If any modules within range are running
in a Cyclic Sleep setting, a wake-up initializer must be used
by the transmitting module for sleeping modules to remain
awake [refer to the LH (Wake-up InitializerTimer) Command].
When a receiving module in Cyclic Sleep wakes, it must detect
the wake-up initializer in order to remain awake and
receive data. The value of HT Parameter tells the transmitter,
After a period of inactivity (no transmitting or receiving)
lasting HT amount of time, send a long wake-up initializer. HT
Parameter should be set to match the inactivity time out
[specified by ST (Time before Sleep) Command]
used by the receiver(s). From the receiving module perspective,
after HT time elapses and the inactivity
time out [ST Command] is met, the receiver goes into cyclic
sleep. In cyclic sleep, the receiver wakes once per sleep interval
to check for a wakeup initializer. When a wake-up initializer is
detected, the module will stay awake to receive data. The
wake-up initializer must be longer than the
cyclic sleep interval to ensure that sleeping modules detect
incoming data. When HT time elapses, the transmitter then
knows that it needs to send a long Wake-up Initializer for all
receivers to be able to remain awake and
receive the next transmission. Matching HT to the time
specified by ST on the receiving module guarantees that all
receivers will detect the next transmission.
Command Summary
AT Command: ATID
Binary Command: 0x27 (39 decimal)
Parameter Range (user-set table) 0x10 0x7FFFF
(Factory-set and read-only) 0x8000
0xFFFF
Number of bytes returned: 2
2014DigiInternationalInc.
Description
<Networking> Set/Read the Vendor
Identification Number. Only modems
with matching IDs can communicate
with each other. Modules with nonmatching
VIDs will not receive unintended data
transmission.
117
XBeePRO900HP/XBeePROXSCRFModules
LH (Wake-up Initializer Timer) Command
Command Summary
AT Command: ATLH
Binary Command: 0x0C (12 decimal)
Parameter Range:0 0xFF
[x 100 milliseconds]
Default Parameter Value: 1
Number of bytes returned: 1
Related Commands: HT (Time before
Wake-up Initializer), SM (Sleep Mode), ST
(Time before Sleep)
Description
<Sleep (Low Power)> LH Command
adjusts the duration of time for which
the RF initializer is sent.
When receiving modules are put into
Cyclic Sleep Mode, they power-down
after a period of inactivity [specified by
ST (Time before Sleep) Command] and
will periodically awaken and listen
for transmitted data. In order for the
receiving modules to remain awake, they
must detect~35ms of the wake-up
initializer. LH Command must be used
whenever a receiver is operating in
Cyclic Sleep Mode. This lengthens
the Wake-up Initializer to a specific
amount of time (in tenths of a second).
The Wake-up Initializer Time must be
longer than the cyclic sleep time that is
determined by SM (Sleep Mode)
Command. If the wake-up initializer
time were less than the Cyclic Sleep
interval, the connection would be at risk
of missing the wake-up initializer
transmission. Refer to Figures 3.1 & 3.2
of the SM Command description to view
diagrams of correct and incorrect
configurations. The images help
visualize the importance that the value
of LH be greater than the value of SM.
Command Summary
AT Command: ATMD
Binary Command: 0x32 (50 decimal)
Parameter Range: 0, 3, 4
Parameter
0
3
4
Description
<Networking & Security> The MD
command is used to select/read the RF
Mode (Peer-to-peer or
Repeater Modes) of the module.
Configuration
2014DigiInternationalInc.
End Node
118
XBeePRO900HP/XBeePROXSCRFModules
MK (Address Mask) Command
Command Summary
AT Command: ATMK
Binary Command: 0x12 (18 decimal)
Parameter Range:0 0xFFFF
Default Parameter Value: 0xFFFF
(Destination address (DT parameter) of
the transmitting module must exactly
match the destination address of the
receiving module.)
Number of bytes returned: 2
Related Commands: DT (Destination
Address), HP (Hopping Channel), ID
(Module VID)
Description
<Networking> MK Command is used to
set/read the Address Mask.
All data packets contain the Destination
Address of the transmitting module.
When an RF data packet is received, the
transmitters Destination Address is
logically ANDed (bitwise) with the
Address Mask of the receiver. The
resulting value must match the
Destination Address or the
Address Mask of the receiver for the
packet to be received and sent out the
modules DO serial port. If the ANDed
value does not match either the
Destination Address or the Address
Mask of the receiver, the packet is
discarded. (All 0 values are treated as
irrelevant values and are ignored.)
Command Summary
AT Command: ATMY
Binary Command: 0x2A (42 decimal)
Parameter Range: 0 0xFFFF
Default Parameter Value: 0xFFFF
(Disabled the DT (Destination Address)
parameter serves as both source and
destination address.)
Number of bytes returned: 2
Related Commands: DT (Destination
Address), HP (Hopping Channel), ID
(Modem VID), MK (Address Mask), AM
(Auto-set MY)
This command is only supported on S3B
modules.
Description
<Networking & Security> Set/Read the
source address of the module.
Refer to the Addressing section [p. 38]
of the RF Communication Modes chapter
for more information.
NB (Parity) Command
Command Summary
AT Command: ATNB
Binary Command: 0x23 (35 decimal)
Parameter Range:0 4 (S3 Hardware)
0-5 (S3B Hardware)
Parameter
Value
0
1
2
3
4
5
Configuration
Description
<Serial Interfacing>
Select/Read parity
settings for UART
communications.
2014DigiInternationalInc.
119
XBeePRO900HP/XBeePROXSCRFModules
PC (Power-up to AT Mode) Command
Command Summary
AT Command: ATPC
Binary Command: 0x1E (30 decimal)
Parameter Range:0 1
Parameter
Value
0
1
Configuration
Power-up to Idle Mode
Power-up to
AT Command Mode
Description
<Command Mode
Options> PC
Command allows the
module to power-up
directly into AT
Command Mode from
reset or power-on. If
PC Command is
enabled with SM
Parameter set to 1, DI3
(pin 9) can be used to
enter the
module into AT
Command Mode. When
the DI3 pin is deasserted (low),
the module will wakeup in AT Command
Mode. This behavior
allows module
DTR emulation.
Command Summary
AT Command: ATPK
Binary Command: 0x29 (41 decimal)
Parameter Range: 0 0x100 [Bytes]
Default Parameter Value: 0x40 (64
decimal)
Number of bytes returned: 2
Related Commands: RB (Packetization
Threshold), RO (Packetization Time out)
This command is only supported on S3B
modules.
Description
<Serial Interfacing> Set/Read the
maximum size of the RF packets sent
out a transmitting module. The
maximum packet size can be used along
with the RB and RO parameters to
implicitly set the channel dwell time.
Changes to this parameter may have a
secondary effect on the RB (Packet
Control Characters) parameter. RB must
always be less than or equal to PK. If PK
is changed to a value less than the
current value of RB, RB is automatically
lowered to be equal to PK.
Command Summary
AT Command: ATPL
Binary Command: 0x3C (60 decimal)
Parameter Range:0 4
Parameter
Value
0
1
2
3
4
Configuration
Description
<Special Commands> Set/Read the power level at which the RF
module transmits conducted power. This command is only
supported on S3B hardware. Power level 4 is calibrated and the
other power levels are approximate.
120
XBeePRO900HP/XBeePROXSCRFModules
PW (Pin Wake-up) Command
Command Summary
AT Command: ATPW
Binary Command: 0x1D (29 decimal)
Parameter Range:0 1
Parameter
Value
0
1
Configuration
Disabled
Enabled
Description
<Sleep (Low Power)> Under normal operation, a module in
Cyclic Sleep Mode cycles from an active state to a low-power
state at regular intervals until data is ready to be received. If
the PW Parameter is set to 1, SLEEP (pin 2) can be used to wake
the module from Cyclic Sleep. If the SLEEP pin
is de-asserted (low), the module will be fully operational and
will not go into Cyclic Sleep. Once SLEEP is asserted, the
module will remain active for the period of time specified by ST
(Time before Sleep) Command, and will return to Cyclic Sleep
Mode (if no data is ready to be transmitted). PW
Command is only valid if Cyclic Sleep has been enabled.
Command Summary
AT Command: ATRB
Binary Command: 0x20 (32 decimal)
Parameter Range: 0 0x100 [Bytes]
(Maximum value equals the current value
of PK Parameter (up to 0x100 HEX (800
decimal))
Default Parameter Value: 1
Number of bytes returned: 2
Related Commands: PK (RF Packet Size),
RO (Packetization Time out)
This command is only supported on S3B
modules.
Description
<Serial Interfacing> RF transmission will
commence when data is in the DI Buffer
and either of the following criteria are
met:
RO times out on the UART receive lines
(ignored if RO = 0)
RB characters have been received by
the UART (ignored if RB = 0)
If PK is lowered below the value of RB; RB
is automatically lowered to match PK.
Note: RB and RO criteria only apply to
the first packet of a multi-packet
transmission. If data remains in the DI
Buffer after the first packet,
transmissions will continue in streaming
manner until there is no data left in the
DI Buffer (UART receive buffer).
Command Summary
AT Command: ATRE
Binary Command: 0x0E (14 decimal)
Description
<Diagnostics> RE Command restores all
configurable parameters to factory
default settings. However, RE Command
will not write the default values to
non-volatile (persistent) memory. Unless
the WR (Write) Command is
issued after the RE command, the
default settings will not be saved in the
event of module reset or power-down.
2014DigiInternationalInc.
121
XBeePRO900HP/XBeePROXSCRFModules
RN (Delay Slots) Command
Command Summary
AT Command: ATRN
Binary Command: 0x19 (25 decimal)
Parameter Range:0 0xFF [slots]
Default Parameter Value: 0 (no delay slots
inserted)
Number of bytes returned: 1
Description
<Networking> RN Command is only
applicable if retries have been
enabled [RR (Retries) Command], or if
forced delays will be inserted into
a transmission [refer to TT (Streaming
Limit) Command]. RN Command is
used to adjust the time delay that the
transmitter inserts before attempting
to resend a packet. If the transmitter
fails to receive an acknowledgement
after sending a packet, it will insert a
random number of delay slots
(ranging from 0 to (RN minus 1)) before
attempting to resend the packet.
Each delay slot lasts for a period of
38ms.
If two modules attempted to transmit at
the same time, the random time
delay after packet failure would allow
one of the two modules to transmit
the packet successfully, while the other
would wait until the channel
opens up to begin transmission.
Command Summary
AT Command: ATRO
Binary Command: 0x21 (33 decimal)
Parameter Range:0 0xFFFF [x 200 s]
Default Parameter Value: 0
Number of bytes returned: 2
Description
<Serial Interfacing> RO Command is used
to specify/read the time of
silence (no bytes received) after which
transmission begins. After a serial
byte is received and if no other byte is
received before the RO time out,
the transmission will start.
Command Summary
AT Command: ATRP
Binary Command: 0x22 (34 decimal)
Parameter Range:0 - 0x7F
[x 100 milliseconds]
Default Parameter Value: 0 (disabled)
Number of bytes returned: 1
2014DigiInternationalInc.
Description
<Diagnostics> RP Command is used to
enable a PWM (Pulse Width Modulation)
output on the Config pin which is
calibrated to show the level the
received RF signal is above the sensitivity
level of the module. The PWM
pulses vary from zero to 95 percent. Zero
percent means the received RF
signal is at or below the published
sensitivity level of the module. The
following
table shows levels above sensitivity and
PWM values.
The total period of the PWM output is
8.32 ms. There are 40 steps in the
PWM output and therefore the minimum
step size is 0.208 ms.
122
XBeePRO900HP/XBeePROXSCRFModules
PWMChart
dBm above Sensitivity
10
20
30
PWM percentage
(high period / total period)
47.5 %
62.5 %
77.5 %
A non-zero value defines the time that the PWM output will be active with the RSSI value of the last received
RF packet. After the set time when no RF packets are received, the PWM output will be set low (0 percent
PWM) until another RF packet is received. The PWM output will also be set low at power-up. A parameter value
of 0xFF permanently enables the PWM output and it will always reflect the value of the last received RF
packet.
PWM output shares the Config input pin. When the module is powered, the Config pin will be an input. During
the power-up sequence, the Config pin will be read to determine whether the module is going into AT
Command Mode. After this, if RP parameter is a non-zero value, the Config pin will be configured as an output
and set low until the first RF packet is received. With a non-zero RP parameter, the Config pin will be an input
for RP ms after power up.
Command Summary
AT Command: ATRZ
Binary Command: 0x2C (44 decimal)
Parameter Range:Read-only
Number of bytes returned: 1
This command is only supported on S3B
modules.
Description
<Diagnostics> The RZ command is used
to read the size of the DI buffer (UART RX
(Receive)).
Note: The DO buffer size can be
determined by multiplying the DI buffer
size by 1.5.
RR (Retries) Command
Command Summary
AT Command: ATRR
Binary Command: 0x18 (24 decimal)
Parameter Range:0 0xFF
Default Parameter Value: 0 (disabled)
Number of bytes returned: 1
Description
Networking> RR Command specifies the
number of retries that can be sent
for a given RF packet. Once RR Command
is enabled (set to a non-zero
value), RF packet acknowledgements and
retries are enabled. After transmitting
a packet, the transmitter will wait to
receive an acknowledgement
from a receiver. If the acknowledgement
is not received in the period of
time specified by the RN (Delay Slots)
Command, the transmitter will transmit
the original packet again. The packet will
be transmitted repeatedly
until an acknowledgement is received or
until the packet has been sent RR
times.
Note: For retries to work correctly, all
modules in the system must have
retries enabled.
2014DigiInternationalInc.
123
XBeePRO900HP/XBeePROXSCRFModules
RS (RSSI) Command
Command Summary
AT Command: ATRS
Binary Command: 0x1C (28 decimal)
Parameter Range: 0x06 0x36 [readonly]
Number of bytes returned: 1
Description
<Diagnostics> RS Command returns the
signal level of the last packet
received. This reading is useful for
determining range characteristics of the
modules under various conditions of
noise and distance.
Once the command is issued, the
module will return a value between 0x6
and 0x36 where 0x36 represents a very
strong signal level and 0x4 indicates
a low signal level.
Command Summary
AT Command: ATRT
Binary Command: 0x16 (22 decimal)
Parameter Range:0 2
Parameter
Value
0
1
2
Configuration
disabled
Enable Binary Programming
Enable
Flow Control
Description
<Serial Interfacing> RT
command is used to
dictate the behavior of
the
DI2/RTS/CMD line. RT
Command must be
issued to enable RTS
flow control
or binary
programming.
Command Summary
AT Command: ATSB
Binary Command: 0x36 (54 decimal)
Parameter Range:0 1
Parameter
Value
0
1
Configuration
Description
SB Command is used to
set/read the number of
stop bits in the data
packets.
1 stop bits
2 stop bits
Command Summary
AT Command: ATSH
Binary Command: 0x25 (37 decimal)
Parameter Range:0 0xFFFF [read-only]
Number of bytes returned: 2
Related Commands: SL (Serial Number
Low)
Description
<Diagnostics> Read the serial number
high word of the module.
2014DigiInternationalInc.
124
XBeePRO900HP/XBeePROXSCRFModules
SL (Serial Number Low) Command
Command Summary
AT Command: ATSL
Binary Command: 0x26 (38 decimal)
Parameter Range:0 0xFFFF [read-only]
Number of bytes returned: 2
Related Commands: SH (Serial Number
High)
Description
<Diagnostics> Read the serial number
low word of the module.
Command Summary
AT Command: ATSM
Binary Command: 0x01
Parameter Range:0,1 3-8
Parameter
Value
0
1
3
4
5
6
7
8
Configuration
Disabled
Pin Sleep
Cyclic 0.5 second sleep
(Module wakes every 0.5
seconds)
Cyclic 1.0 second sleep
Cyclic 2.0 second sleep
Cyclic 4.0 second sleep
Cyclic 8.0 second sleep
Cyclic 16.0 second sleep
Description
<Sleep Mode (Low Power)> SM Command is used to adjust
Sleep Mode settings. By default, Sleep Mode is disabled and the
module remains continually active. SM Command allows the
module to run in a lower-powerstate and be configured in one
of eight settings. Cyclic Sleep settings wake the module after
the amount of time designated
by SM Command. If the module detects a wake-up initializer
during the time it is awake, it will synchronize with the
transmitter and start receiving data after the wake-up
initializer runs its duration. Otherwise, it
returns to Sleep Mode and continue to cycle in and out of
inactivity until the Wake-up Initializer is detected. If a Cyclic
Sleep setting is chosen, the ST, LH and HT parameters must
also be set as described in the Sleep
Mode section of this manual.
Command Summary
AT Command: ATST
Binary Command: 0x02
Parameter Range:0x10 0xFFFF
[x 100 milliseconds]
Default Parameter Value: 0x64 (100
decimal)
Number of bytes returned: 2
Related Commands: SM (Sleep Mode), LH
(Wake-up Initializer Timer), HT (Time
before Wake-up Initializer)
2014DigiInternationalInc.
Description
<Sleep Mode (Low Power)> ST
Command sets the period of time (in
tenths of seconds) in which the module
remains inactive before entering
into Sleep Mode. For example, if the ST
Parameter is set to 0x64 (100
decimal), the module will enter into
Sleep mode after 10 seconds of
inactivity
(no transmitting or receiving). This
command can only be used if
Cyclic Sleep or Serial Port Sleep Mode
settings have been selected using
SM (Sleep Mode) Command.
125
XBeePRO900HP/XBeePROXSCRFModules
SY (Time before Initialization) Command
Command Summary
AT Command: ATSY
Binary Command: 0x17 (23 decimal)
Parameter Range:0 0xFF
[x 100 milliseconds]
Default Parameter Value: 0 (Disabled channel initialization information is sent
with each RF packet.)
Number of bytes returned: 1
Description
<Networking> SY Command keeps a communication channel
open as long as module transmits or receives before the active
connection expires. It can be used to reduce latency in a query/
response sequence and should be set 100 ms longer than the
delay between transmissions. This command allows multiple
Modules to share a hopping channel
for a given amount of time after receiving data. By default, all
packets include an RF initializer that contains channel
information used to synchronize any listening receivers to the
transmitters hopping pattern. Once a new module comes
within range, it is able to instantly synchronize to the
transmitter and start receiving data. If no new modules are
introduced into the system, the synchronization information
becomes redundant once modules
have become synchronized.
SY Command allows the modules to remove this information
from the RF Initializer after the initial synchronization. For
example, changing the SY Parameter to 0x14 (20 decimal)
allows all modules to remain in sync for 2
seconds after the last data packet was received.
Synchronization information is not re-sent unless transmission
stops for more than 2 seconds. This command allows
significant savings in packet transmission time.
Warning: Not recommended for use in an interference-prone
environment. Interference can break up the session and the
communications channel will not be available again until SY
time expires. With SY set to zero, the channel session is opened
and closed with each transmission - resulting in a more robust
link with more latency.
Command Summary
AT Command: ATTR
Binary Command: 0x1B (27 decimal)
Parameter Range:0 0xFFFF
Default Parameter Value: 0
Number of bytes returned: 2
Related Commands: RR (Retries)
2014DigiInternationalInc.
Description
<Diagnostics> TR Command records the
number of retransmit failures.
This number is incremented each time a
packet is not acknowledged within
the number of retransmits specified by
the RR (Retries) Command. It
therefore counts the number of packets
that were not successfully received
and have been dropped.
The TR Parameter is not non-volatile and
will therefore be reset to zero
each time the module is reset.
126
XBeePRO900HP/XBeePROXSCRFModules
TT (Streaming Limit) Command
Command Summary
AT Command: ATTT
Binary Command: 0x1A (26 decimal)
Parameter Range:0 0xFFFF (0 =
disabled)
Default Parameter Value: 0xFFFF (65535
decimal)
Number of bytes returned: 2
Related Commands: RN (Delay Slots)
2014DigiInternationalInc.
Description
<Networking> TT Command defines a
limit on the number of bytes that can
be sent out before a random delay is
issued. TT Command is used to simulate
full-duplex behavior.
If a module is sending a continuous
stream of RF data, a delay is inserted
which stops its transmission and allows
other modules time to transmit
(once it sends number of bytes specified
by TT Command). Inserted random
delay lasts between 1 & RN + 1 delay
slots, where each delay slot
lasts 38 ms.
127
XBeePRO900HP/XBeePROXSCRFModules
XBeePROXSCRFCommunicationModes
Network configurations covered in this chapter are described in terms of the following:
Network Topology (Point-to-Point, Point-to-Multipoint or Peer-to-Peer)
RF Communication Type (Basic or Acknowledged)
RF Mode (Streaming, Repeater, Acknowledged or Multi-Streaming)
The following table provides a summary of the network configurations supported.
SummaryofnetworkconfigurationssupportedbytheXStreamRFModule
Point-to Point
Definition
Definition
Point-to -Multipoint
Definition
Peer-to-Peer
*Assumedefaultvaluesforparametersnotlisted.Profilesdonotreflectaddressingimplementations.
**AM (Auto-set MY) Command must be issued through a terminal program such as the one incorporated in
the XCTU Terminal tab.
2014DigiInternationalInc.
128
XBeePRO900HP/XBeePROXSCRFModules
Hopping Channel
Parameter Values:
HP = 0 to 6
RF Data
from antenna
Channels
Match
Non-matching
Channels
Modem IDs
Match
Non-matching
IDs
Desination Address
Parameter Values:
DT = 0 to 0xFFFF
Addresses
Match
RF Data
passes through
to DIO Buffer
Non-matching
Addresses
Address Recognition
Transmissions can be addressed to a specific module or group of modules using the DT (Destination Address)
and MK (Address Mask) parameters. The transmitting module dictates whether the packet is intended for a
specific module (local address) or multiple modules (global address) by comparing the packets DT parameter
to its own MK parameter.
LocalPacketsvs.GlobalPackets(TransmittingModule)
TX_DT = Transmitter Destination Address
TX_MK = Transmitter Address Mask
Note: When TX_DT = 0xFFFF (default), RF packets are global and are received by all modules within range.
(Receivers do not send ACKs.)
A receiving module will only accept a packet if a packet is addressed to it (either as a global or local packet).
The RX module makes this determination by inspecting the destination address of the RF packet and
comparing it to its own address and mask. The Destination Address of the TX module is logically ANDed with
the Address Mask of the RX module.
AddressRecognition(ReceivingModule)
TX_DT = Transmitter Destination Address
RX_DT = Receiver Destination Address
2014DigiInternationalInc.
129
XBeePRO900HP/XBeePROXSCRFModules
RX_MY = Receiver Source Address
Yes
TX_DT = RX_DT?
No
No
No
Source &
Destination
Addressing Enabled
(RX_MY= 0xFFFF)?
Reject Packet
Yes
Global Address: Accept
Packet
Yes
Yes
TX_DT = RX_MY?
No
2014DigiInternationalInc.
130
XBeePRO900HP/XBeePROXSCRFModules
The streaming limit (TT Command) is specified by the transmitting module as the maximum number of bytes the transmitting module can send in one transmission event. After the TT parameter
threshold is reached, the transmitting module will force a random delay of 1 to RN delay slots
(exactly 1 delay slot if RN = 0).
Subsequent packets are sent without an RF initializer since receiving modules stay synchronized
with the transmitting module for the duration of the transmission event (from preceding packet
information). However, due to interference, some receiving modules may lose data (and synchronization to the transmitting module), particularly during long transmission events.
Once the transmitting module has sent all pending data or has reached the TT limit, the transmission event ends. The transmitting module will not transmit again for exactly RN delay slots if the
local (i.e. transmitting modules) RN parameter is set to a non-zero value. The receiving module(s)
will not transmit for a random number of delays between 0 and (RN-1) if the local (i.e. receiving
modules) RN parameter is set to a non-zero value. These delays are intended to lessen congestion
following long bursts of packets from a single transmitting module, during which several receiving
modules may have become ready to transmit.
Repeater Mode
Characteristics: Self-organizing - No route configuration is necessary
Self-healing / Fault-tolerant
Low power consumption and Minimized interference
Network throughput is determined by number of hops, not by number of
repeaters. Multiple repeaters within range of source node count as one hop.
Supports transparent multi-drop mode or addressed data filtering mode.
Duplicate RF packets are automatically filtered out.
All packets propagate to every node in the network (filtering rules apply).
Broadcast communications - each packet comes out every node exactly once.
Addressed communications - all radios see every packet. Only the module with
a matching address will forward it to the DO buffer (UART IN).
Data entering the network on any module is transmitted and forwarded through
every repeater module until it reaches the ends of the network.
Each repeater will repeat a packet only once.
Constraints:
2014DigiInternationalInc.
131
XBeePRO900HP/XBeePROXSCRFModules
When in Repeater Mode, the network repeats each message among all available nodes exactly one
time. This mechanism eliminates the need for configuring specific routes. The network is selforganizing and self-healing so that the system is able to receive transmissions in the event of a
module going down.
SampleRepeaterNetworkTopology
2014DigiInternationalInc.
132
XBeePRO900HP/XBeePROXSCRFModules
Repeater Network Configuration
A network may consist of End Nodes (EN), End/Repeater Nodes (ERN) and a Base Node (BN). The base node
initiates all communications.
The repeater network can be configured to operate using Basic Broadcast or Basic Addressed communications.
The addressing capabilities of the modules allow integrators to send a packet as a global packet (DT = 0xFFFF)
and shift out of every radio in the network (Basic Broadcast). Alternatively, the packet can be sent with a
specific DT (Destination Address) parameter so that it is only accepted by a specific remote node (Basic
Addressed).
Configuration Instruction (Basic Broadcast Communications)
Assign each module a unique MY (source) address. (The AM (Auto-set MY) command will configure a unique
source address that is based on module serial number.)
Enable Basic Broadcast Communications (DT = 0xFFFF) or Addressed Broadcast Communications (ATDT
specifies a specific destination)
Configure PK, RO and RB to ensure that RF packet aligns with protocol packet. (ex. PK=0x100, RB=0x100, RO
depends on baud rate).
Configure one or more repeaters in the system (ATMD = 3).
Configure remote nodes as destinations (MD = 4). This will ensure that the remote node waits for the repeater
traffic to subside before it transmits a response.
The configuration instructions above reflect configuration for a Basic Broadcast Repeater system. To configure
a Basic Addressed Repeater system, use the DT (Destination Address) parameter to assign unique addresses
to each module in the network.
Algorithm details
Packet ID (PID) is composed of transmitting module MY address and packet serial number.
Incoming packets with a PID already found in the PID buffer will be ignored.
Each module maintains a PID buffer 8 deep of previously received packets (managed as
FIFO).
Packets may be shifted out the serial port and/or repeated depending on the DT parameter contained in the
RF packet.
DT(DestinationAddress)parametertruthtable
Address Match
Repeat?
Global
Yes
Yes
Local
Yes
Yes
None
No
Yes
2014DigiInternationalInc.
133
XBeePRO900HP/XBeePROXSCRFModules
Where L is the length of the transmitted packet in milliseconds, DS is the number of delay slots to wait, RSSI
is the received signal strength in dBm, RN is the value of the RN register and RandomInt(A,B) is a function
that returns a random integer from A to B-0.
AT
Command
Binary
Command
AT Command Name
Range
# Bytes
Returned
Factory
Default
AM
0x3A (58d)
Auto-set MY
DT
0x00 (0d)
Destination Address
0-0xFFFF
MD
0x3C (60d)
RF Mode
3-4
MY
0x2A (42d)
Source Address
0-0xFFFF
0xFFFF
RN
0x19 (25d)
Delay Slots
0-0xFF [slots]
WR
0x08 (8d)
Write
Bandwidth Considerations
Using broadcast repeaters in a network reduces the overall network data throughput as each repeater must
buffer an entire packet before retransmitting it. For example: if the destination is within range of the
transmitter and the packet is 32 bytes long, the transmission will take approximately 72ms on a 9600 baud
XSC Module. If that same packet has to propagate through two repeaters, it will take 72ms to arrive at the
first repeater, another 72 ms to get to the second and a final 72ms to get to the destination for a total of
216ms. Taking into account UART transfer times (~1ms/byte at 9600 baud), a server to send a 32 byte query
and receive a 32 byte response is ~200ms, allowing for 5 polls per second. With the two repeaters in the path,
the same query/response sequence would take about 500ms for 2 polls per second.
To summarize, this system is sending and receiving 64 bytes 5 times per second for a throughput of 320 bytes
per second with no repeaters and 128 bytes per second with 2 repeaters. Generally, the network throughput
will decrease by a factor of 1/(R+1), with R representing the number of repeaters between the source and
destination.
2014DigiInternationalInc.
134
XBeePRO900HP/XBeePROXSCRFModules
Module
All
2014DigiInternationalInc.
135
XBeePRO900HP/XBeePROXSCRFModules
Data
Detected
Data
Pending in
DI Buffer?
Idle
Mode
No
Yes
Yes
RB Chars?
Inhibit
Transmission
for RN Delay
Slots
No
No
No
RD Char
times of
Silence?
Data
Pending in
DI Buffer?
Yes
Yes
Initialize
Channel (sync)
Reset IT Counter
No
TT Bytes
Sent
Assemble
Packet
Yes
Discard Packet
Transmit Packet
Initialize
Channel (sync)
ACK
Received?
Reset Retry
Count (RR)
Inhibit
Transmission
for RN Delay
Slots
Yes
No
Decrement
Retry Count
(RR)
RR
Expired?
Increment TX
Failure Count
(TR)
Yes
No
After receiving and acknowledging a packet, the receiving module will move to the next frequency
and listen for either a retransmission or new data for a specific period of time. Even if the
transmitting module has indicated that it has no more pending transmit data, it may have not
received the previous ACK, and so it may retransmit the packet (potentially with no delay after the
ACK slot). In this case, the receiving module will always detect the immediate retransmission,
which will hold off the communications channel and thereby reduce collisions. Receiving modules
acknowledge each retransmission they receive, but they only pass the first copy of a packet they
receive out the UART. RB and RO parameters are not applied to subsequent packets. This means
that once transmission has begun, it will continue uninterrupted until the DI buffer is empty or the
streaming limit (TT) has been reached. As with the first packet, the payload of each subsequent
packet includes up to the maximum packet size (PK parameter). The transmitting module checks
for more pending data near the end of each packet. The streaming limit (TT parameter) specifies
2014DigiInternationalInc.
136
XBeePRO900HP/XBeePROXSCRFModules
the maximum number of bytes that the transmitting module will send in one transmission event,
which may consist of many packets and retries. If the TT parameter is reached, the transmitting
module will force a random delay of 1 to RN delay slots (exactly 1 delay slot if RN is zero). Each
packet is counted only once toward TT, no matter how many times the packet is retransmitted.
Subsequent packets in acknowledged mode are similar to those in streaming mode, with the
addition of an acknowledgement between each packet, and the possibility of retransmissions.
Subsequent packets are sent without an RF initializer, as the receiving modules are already
synchronized to the transmitting module from the preceding packet(s) and they remain
synchronized for the duration of the transmission event. Each retransmission of a packet includes
an RF initializer. Once the transmitting module has sent all pending data or has reached the TT
limit, the acknowledged transmission event is completed. The transmitting module will not
transmit again for exactly RN delay slots, if the local RN parameter is set to a nonzero value. The
receiving module will not transmit for a random number of delay slots between 0 and (RN-1), if
the local RN parameter is set to a nonzero value. These delays are intended to lessen congestion
following long bursts of packets from a single transmitting module, during which several receiving
modules may have themselves become ready to transmit.
2014DigiInternationalInc.
137
XBeePRO900HP/XBeePROXSCRFModules
AppendixB:AgencyCertificationsforS3B
Hardware
Please note that both Appendix B and Appendix C contain Agency Certification information. Please refer to the
Preface for instructions on which appendix applies to your product.
The system integrator must ensure that the text provided with this device [Figure A-01] is
placed on the outside of the final product and within the final product operation manual.
2.
The XBee-PRO 900HP/XBee-PRO XSC RF Module may only be used with antennas that
have been tested and approved for use with this module refer to Table A-1.
Labeling Requirements
WARNING: The Original Equipment Manufacturer (OEM) must ensure that FCC labeling requirements
are met. This includes a clearly visible label on the outside of the final product enclosure that
displays the text shown in the figure below.
FigureA01. RequiredFCCLabelforOEMproductscontainingtheXBeePRO900HP/XBeePROXSCRF
Module.
XBEE PRO 900HP
FCC Notices
IMPORTANT: The XBee-PRO 900HP/XBee-PRO XSC OEM RF Module has been certified by the FCC for use
with other products without any further certification (as per FCC section 2.1091). Modifications not expressly
approved by Digi could void the user's authority to operate the equipment.
IMPORTANT: OEMs must test final product to comply with unintentional radiators (FCC section 15.107 &
15.109) before declaring compliance of their final product to Part 15 of the FCC Rules.
IMPORTANT: The RF module has been certified for remote and base radio applications. If the module will be
used for portable applications, the device must undergo SAR testing.
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: Re-orient or relocate the receiving antenna, Increase the separation between the
equipment and receiver, Connect equipment and receiver to outlets on different circuits, or Consult the dealer
or an experienced radio/TV technician for help.
2014DigiInternationalInc.
138
XBeePRO900HP/XBeePROXSCRFModules
FCC-approved Antennas
WARNING: This device has been tested with Reverse Polarity SMA connectors with the antennas
listed in the tables of this section. When integrated into OEM products, fixed antennas require
installation preventing end-users from replacing them with non-approved antennas. Antennas not
listed in the tables must be tested to comply with FCC Section 15.203 (unique antenna connectors)
and Section 15.247 (emissions).
WARNING: The FCC requires that all spread spectrum devices operating within the Unlicensed radio frequency
bands must limit themselves to a maximum radiated power of 4 Watts EIRP. Failure to observe this limit is a
violation of our warranty terms, and shall void the users authority to operate the equipment.
This can be stated: RF power - cable loss + antenna gain <= 36 dBm eirp.
Fixed Base Station and Mobile Applications
Digi RF Modules are pre-FCC approved for use in fixed base station and mobile applications. When the antenna
is mounted at least 20cm (8") from nearby persons, the application is considered a mobile application.
Portable Applications and SAR Testing
If the module will be used at distances closer than 20cm to all persons, the device may be required to undergo
SAR testing. Co-location with other transmitting antennas closer than 20cm should be avoided.
RF Exposure
This statement must be included as a CAUTION statement in OEM product manuals.
WARNING: This equipment is approved only for mobile and base station transmitting devices.
Antenna(s) used for this transmitter must be installed to provide a separation distance of at least 20
cm from all persons and must not be co-located or operating in conjunction with any other antenna
or transmitter.
Le prsent appareil est conforme aux CNR d'Industrie Canada applicables aux appareils
radio exempts de licence. L'exploitation est autorise aux deux conditions suivantes: (1)
l'appareil ne doit pas produire de brouillage, et (2) l'utilisateur de l'appareil doit accepter
tout brouillage radiolectrique subi, mme si le brouillage est susceptible d'en
compromettre le fonctionnement
2014DigiInternationalInc.
139
XBeePRO900HP/XBeePROXSCRFModules
Labeling Requirements
Labeling requirements for Industry Canada are similar to those of the FCC. A clearly
visible label on the outside of the final product enclosure must display one of the following
text:
Contains IC: 1846A-XB900HP
The integrator is responsible for its product to comply with IC ICES?003 & FCC Part 15,
Sub. B-Unintentional Radiators. ICES-003 is the same as FCC Part 15 Sub. B and Industry
Canada accepts FCC test report or CISPR 22 test report for compliance with ICES-003.
Type
Connector
Gain
Application
Cable Loss or
Power Reduction
for S3B Radio
A09-F0
Fiberglass Base
RPN
0 dBi
Fixed
0dB
A09-F1
Fiberglass Base
RPN
1.0 dBi
Fixed
0dB
A09-F2
Fiberglass Base
RPN
2.1 dBi
Fixed
0dB
A09-F3
Fiberglass Base
RPN
3.1 dBi
Fixed
0dB
A09-F4
Fiberglass Base
RPN
4.1 dBi
Fixed
0dB
A09-F5
Fiberglass Base
RPN
5.1 dBi
Fixed
0dB
A09-F6
Fiberglass Base
RPN
6.1 dBi
Fixed
0dB
A09-F7
Fiberglass Base
RPN
7.1 dBi
Fixed
0dB
A09-F8
Fiberglass Base
RPN
8.1 dBi
Fixed
0dB
A09-F9
Base Station
RPSMAF
9.2dBi
Fixed
0dB
A09-W7
RPN
7.1 dBi
Fixed
0dB
A09-F0
Fiberglass Base
RPSMA
0 dBi
Fixed
0dB
A09-F1
Fiberglass Base
RPSMA
1.0 dBi
Fixed
0dB
A09-F2
Fiberglass Base
RPSMA
2.1 dBi
Fixed
0dB
A09-F3
Fiberglass Base
RPSMA
3.1 dBi
Fixed
0dB
A09-F4
Fiberglass Base
RPSMA
4.1 dBi
Fixed
0dB
A09-F5
Fiberglass Base
RPSMA
5.1 dBi
Fixed
0dB
A09-F6
Fiberglass Base
RPSMA
6.1 dBi
Fixed
0dB
A09-F7
Fiberglass Base
RPSMA
7.1 dBi
Fixed
0dB
Part Number
Omni-directional antennas
A09-F8
Fiberglass Base
RPSMA
8.1 dBi
Fixed
0dB
A09-M7
Base Station
RPSMAF
7.2dBi
Fixed
0dB
A09-W7SM
RPSMA
7.1 dBi
Fixed
0dB
A09-F0TM
Fiberglass Base
RPTNC
0 dBi
Fixed
0dB
A09-F1TM
Fiberglass Base
RPTNC
1.0 dBi
Fixed
0dB
A09-F2TM
Fiberglass Base
RPTNC
2.1 dBi
Fixed
0dB
A09-F3TM
Fiberglass Base
RPTNC
3.1 dBi
Fixed
0dB
A09-F4TM
Fiberglass Base
RPTNC
4.1 dBi
Fixed
0dB
A09-F5TM
Fiberglass Base
RPTNC
5.1 dBi
Fixed
0dB
A09-F6TM
Fiberglass Base
RPTNC
6.1 dBi
Fixed
0dB
2014DigiInternationalInc.
140
XBeePRO900HP/XBeePROXSCRFModules
A09-F7TM
Fiberglass Base
RPTNC
7.1 dBi
Fixed
0dB
A09-F8TM
Fiberglass Base
RPTNC
8.1 dBi
Fixed
0dB
A09-W7TM
RPTNC
7.1 dBi
Fixed
0dB
A09-HSM-7
Straight half-wave
RPSMA
3.0 dBi
Fixed / Mobile
0dB
A09-HASM-675
Articulated half-
RPSMA
2.1 dBi
Fixed / Mobile
0dB
A09-HABMM-P6I
Articulated half-
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-HABMM-6-P6I
Articulated half-
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-HBMM-P6I
Straight half-wave
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-HRSM
RPSMA
2.1 dBi
Fixed
0dB
A09-HASM-7
Articulated half-
RPSMA
2.1 dBi
Fixed
0dB
A09-HG
Glass mounted
RPSMA
2.1 dBi
Fixed
0dB
A09-HATM
Articulated half-
RPTNC
2.1 dBi
Fixed
0dB
A09-H
Half-wave dipole
RPSMA
2.1 dBi
Fixed
0dB
A09-HBMMP6I
MMCX
2.1dBi
Mobile
0dB
A09-QBMMP6I
MMCX
1.9 dBi
Mobile
0dB
Integrated
1.9 dBi
Mobile
0dB
29000187
Integrated
-2.0 dBi
Fixed/Mobile
0dB
A09-QW
Quarter-wave wire
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QRAMM
3 Quarter-wave
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-QSM-3
Quarter-wave
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QSM-3H
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QBMM-P6I
Quarter-wave w/ 6
MMCX
1.9 dBi
Fixed / Mobile
0dB
A09-QHRN
Miniature Helical
Permanent
-1 dBi
Fixed / Mobile
0dB
A09-QHSN
Miniature Helical
Permanent
-1 dBi
Fixed / Mobile
0dB
A09-QHSM-2
2 Straight
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QI
A09-QHRSM-2
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QHRSM-170
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QRSM-380
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QAPM-520
5.2 Articulated
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QSPM-3
3 Straight screw
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QAPM-3
3 Articulated screw
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QAPM-3H
3 Articulated screw
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-DPSM-P12F
omni directional
RPSMA
3.0 dBi
Fixed
0dB
A09-D3NF-P12F
omni directional
RPN
3.0 dBi
Fixed
0dB
A09-D3SM-P12F
omni directional w/
RPSMA
3.0 dBi
Fixed
0dB
A09-D3PNF
omni directional
RPN
3.0 dBi
Fixed
0dB
A09-D3TM-P12F
omni directional w/
RPTNC
3.0 dBi
Fixed
0dB
A09-D3PTM
omni directional
RPTNC
3.0 dBi
Fixed
0dB
A09-M0SM
Mag Mount
RPSMA
0 dBi
Fixed
0dB
A09-M2SM
Mag Mount
RPSMA
2.1 dBi
Fixed
0dB
A09-M3SM
Mag Mount
RPSMA
3.1 dBi
Fixed
0dB
A09-M5SM
Mag Mount
RPSMA
5.1 dBi
Fixed
0dB
A09-M7SM
Mag Mount
RPSMA
7.1 dBi
Fixed
0dB
A09-M8SM
Mag Mount
RPSMA
8.1 dBi
Fixed
0dB
A09-M0TM
Mag Mount
RPTNC
0 dBi
Fixed
0dB
A09-M2TM
Mag Mount
RPTNC
2.1 dBi
Fixed
0dB
A09-M3TM
Mag Mount
RPTNC
3.1 dBi
Fixed
0dB
2014DigiInternationalInc.
141
XBeePRO900HP/XBeePROXSCRFModules
A09-M5TM
Mag Mount
RPTNC
5.1 dBi
Fixed
0dB
A09-M7TM
Mag Mount
RPTNC
7.1 dBi
Fixed
0dB
A09-M8TM
Mag Mount
RPTNC
8.1 dBi
Fixed
0dB
A09-Y6
2 Element Yagi
RPN
6.1 dBi
Fixed / Mobile
0dB
A09-Y7
3 Element Yagi
RPN
7.1 dBi
Fixed / Mobile
0dB
A09-Y8
4 Element Yagi
RPN
8.1 dBi
Fixed / Mobile
0dB
A09-Y9
4 Element Yagi
RPN
9.1 dBi
Fixed / Mobile
0dB
A09-Y10
5 Element Yagi
RPN
10.1 dBi
Fixed / Mobile
0dB
A09-Y11
6 Element Yagi
RPN
11.1 dBi
Fixed / Mobile
0dB
A09-Y12
7 Element Yagi
RPN
12.1 dBi
Fixed / Mobile
0dB
A09-Y13
9 Element Yagi
RPN
13.1 dBi
Fixed / Mobile
0.8dB
A09-Y14
10 Element Yagi
RPN
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y14
12 Element Yagi
RPN
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y15
13 Element Yagi
RPN
15.1 dBi
Fixed / Mobile
2.8dB
Yagi antennas
A09-Y15
15 Element Yagi
RPN
15.1 dBi
Fixed / Mobile
2.8dB
A09-Y6TM
2 Element Yagi
RPTNC
6.1 dBi
Fixed / Mobile
0dB
A09-Y7TM
3 Element Yagi
RPTNC
7.1 dBi
Fixed / Mobile
0dB
A09-Y8TM
4 Element Yagi
RPTNC
8.1 dBi
Fixed / Mobile
0dB
A09-Y9TM
4 Element Yagi
RPTNC
9.1 dBi
Fixed / Mobile
0dB
A09-Y10TM
5 Element Yagi
RPTNC
10.1 dBi
Fixed / Mobile
0dB
A09-Y11TM
6 Element Yagi
RPTNC
11.1 dBi
Fixed / Mobile
0dB
A09-Y12TM
7 Element Yagi
RPTNC
12.1 dBi
Fixed / Mobile
0dB
A09-Y13TM
9 Element Yagi
RPTNC
13.1 dBi
Fixed / Mobile
0.8dB
A09-Y14TM
10 Element Yagi
RPTNC
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y14TM
12 Element Yagi
RPTNC
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y15TM
13 Element Yagi
RPTNC
15.1 dBi
Fixed / Mobile
2.8dB
A09-Y15TM
15 Element Yagi
RPTNC
15.1 dBi
Fixed / Mobile
2.8dB
2014DigiInternationalInc.
142
XBeePRO900HP/XBeePROXSCRFModules
Brazil ANATEL
This device complies with Brazil ANATEL standards in Resolution No. 506. For the XBee PRO S3B product using
900HP firmware, the operating frequencies are 902 MHz to 907.5 MHz and 915 MHz to 928 MHz. For the XBee
PRO S3B product using XSC firmware, the operating frequencies are 915 MHz to 928 MHz. The following
information is required in the user manual for the product containing the radio and on the product containing
the radio (in Portuguese):
2014DigiInternationalInc.
143
XBeePRO900HP/XBeePROXSCRFModules
AppendixC:AgencyCertificationsforLegacy
S3/S3BHardware
Please note that both Appendix B and Appendix C contain Agency Certification information. Please refer to the
Preface for instructions on which appendix applies to your product.
The system integrator must ensure that the text provided with this device [Figure A-01] is
placed on the outside of the final product and within the final product operation manual.
2.
The XBee-PRO XSC RF Module may only be used with antennas that have been tested and
approved for use with this module refer to Table A-1.
Labeling Requirements
WARNING: The Original Equipment Manufacturer (OEM) must ensure that FCC labeling requirements
are met. This includes a clearly visible label on the outside of the final product enclosure that
displays the text shown in the figure below.
FigureA01. RequiredFCCLabelforOEMproductscontainingtheXBee-PRO XSCRFModule.
XBEE PRO S3
FCC Notices
IMPORTANT: The XBee-PRO XSC OEM RF Module has been certified by the FCC for use with other products
without any further certification (as per FCC section 2.1091). Modifications not expressly approved by Digi
could void the user's authority to operate the equipment.
IMPORTANT: OEMs must test final product to comply with unintentional radiators (FCC section 15.107 &
15.109) before declaring compliance of their final product to Part 15 of the FCC Rules.
IMPORTANT: The RF module has been certified for remote and base radio applications. If the module will be
used for portable applications, the device must undergo SAR testing.
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
2014DigiInternationalInc.
144
XBeePRO900HP/XBeePROXSCRFModules
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: Re-orient or relocate the receiving antenna, Increase the separation between the
equipment and receiver, Connect equipment and receiver to outlets on different circuits, or Consult the dealer
or an experienced radio/TV technician for help.
FCC-approved Antennas
WARNING: This device has been tested with Reverse Polarity SMA connectors with the antennas
listed in the tables of this section. When integrated into OEM products, fixed antennas require
installation preventing end-users from replacing them with non-approved antennas. Antennas not
listed in the tables must be tested to comply with FCC Section 15.203 (unique antenna connectors)
and Section 15.247 (emissions).
Fixed Base Station and Mobile Applications
Digi RF Modules are pre-FCC approved for use in fixed base station and mobile applications. When the antenna
is mounted at least 20cm (8") from nearby persons, the application is considered a mobile application.
Portable Applications and SAR Testing
If the module will be used at distances closer than 20cm to all persons, the device may be required to undergo
SAR testing. Co-location with other transmitting antennas closer than 20cm should be avoided.
RF Exposure
This statement must be included as a CAUTION statement in OEM product manuals.
WARNING: This equipment is approved only for mobile and base station transmitting devices.
Antenna(s) used for this transmitter must be installed to provide a separation distance of at least 20
cm from all persons and must not be co-located or operating in conjunction with any other antenna
or transmitter.
Le prsent appareil est conforme aux CNR d'Industrie Canada applicables aux appareils
radio exempts de licence. L'exploitation est autorise aux deux conditions suivantes: (1)
2014DigiInternationalInc.
145
XBeePRO900HP/XBeePROXSCRFModules
l'appareil ne doit pas produire de brouillage, et (2) l'utilisateur de l'appareil doit accepter
tout brouillage radiolectrique subi, mme si le brouillage est susceptible d'en
compromettre le fonctionnement
Labeling Requirements
Labeling requirements for Industry Canada are similar to those of the FCC. A clearly
visible label on the outside of the final product enclosure must display one of the following
text:
Contains IC: 1846A-XBEEXSC
OR
Contains IC: 1846A-XBPS3B
The integrator is responsible for its product to comply with IC ICES?003 & FCC Part 15,
Sub. B-Unintentional Radiators. ICES-003 is the same as FCC Part 15 Sub. B and Industry
Canada accepts FCC test report or CISPR 22 test report for compliance with ICES-003.
Part Number
Gain
Application
Cable Loss or
Power Reduction
for S3B Radio
Type
Connector
A09-F0
Fiberglass Base
RPN
0 dBi
Fixed
0dB
A09-F1
Fiberglass Base
RPN
1.0 dBi
Fixed
0dB
A09-F2
Fiberglass Base
RPN
2.1 dBi
Fixed
0dB
A09-F3
Fiberglass Base
RPN
3.1 dBi
Fixed
0dB
A09-F4
Fiberglass Base
RPN
4.1 dBi
Fixed
0dB
A09-F5
Fiberglass Base
RPN
5.1 dBi
Fixed
0dB
A09-F6
Fiberglass Base
RPN
6.1 dBi
Fixed
0dB
A09-F7
Fiberglass Base
RPN
7.1 dBi
Fixed
0dB
A09-F8
Fiberglass Base
RPN
8.1 dBi
Fixed
0dB
Omni-directional antennas
A09-F9
Base Station
RPSMAF
9.2dBi
Fixed
0dB
A09-W7
RPN
7.1 dBi
Fixed
0dB
A09-F0
Fiberglass Base
RPSMA
0 dBi
Fixed
0dB
A09-F1
Fiberglass Base
RPSMA
1.0 dBi
Fixed
0dB
A09-F2
Fiberglass Base
RPSMA
2.1 dBi
Fixed
0dB
A09-F3
Fiberglass Base
RPSMA
3.1 dBi
Fixed
0dB
A09-F4
Fiberglass Base
RPSMA
4.1 dBi
Fixed
0dB
A09-F5
Fiberglass Base
RPSMA
5.1 dBi
Fixed
0dB
A09-F6
Fiberglass Base
RPSMA
6.1 dBi
Fixed
0dB
A09-F7
Fiberglass Base
RPSMA
7.1 dBi
Fixed
0dB
A09-F8
Fiberglass Base
RPSMA
8.1 dBi
Fixed
0dB
A09-M7
Base Station
RPSMAF
7.2dBi
Fixed
0dB
A09-W7SM
RPSMA
7.1 dBi
Fixed
0dB
A09-F0TM
Fiberglass Base
RPTNC
0 dBi
Fixed
0dB
2014DigiInternationalInc.
146
XBeePRO900HP/XBeePROXSCRFModules
A09-F1TM
Fiberglass Base
RPTNC
1.0 dBi
Fixed
0dB
A09-F2TM
Fiberglass Base
RPTNC
2.1 dBi
Fixed
0dB
A09-F3TM
Fiberglass Base
RPTNC
3.1 dBi
Fixed
0dB
A09-F4TM
Fiberglass Base
RPTNC
4.1 dBi
Fixed
0dB
A09-F5TM
Fiberglass Base
RPTNC
5.1 dBi
Fixed
0dB
A09-F6TM
Fiberglass Base
RPTNC
6.1 dBi
Fixed
0dB
A09-F7TM
Fiberglass Base
RPTNC
7.1 dBi
Fixed
0dB
A09-F8TM
Fiberglass Base
RPTNC
8.1 dBi
Fixed
0dB
A09-W7TM
RPTNC
7.1 dBi
Fixed
0dB
A09-HSM-7
Straight half-wave
RPSMA
3.0 dBi
Fixed / Mobile
0dB
A09-HASM-675
Articulated half-
RPSMA
2.1 dBi
Fixed / Mobile
0dB
A09-HABMM-P6I
Articulated half-
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-HABMM-6-P6I
Articulated half-
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-HBMM-P6I
Straight half-wave
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-HRSM
RPSMA
2.1 dBi
Fixed
0dB
A09-HASM-7
Articulated half-
RPSMA
2.1 dBi
Fixed
0dB
A09-HG
Glass mounted
RPSMA
2.1 dBi
Fixed
0dB
A09-HATM
Articulated half-
RPTNC
2.1 dBi
Fixed
0dB
A09-H
Half-wave dipole
RPSMA
2.1 dBi
Fixed
0dB
A09-HBMMP6I
A09-QBMMP6I
MMCX
MMCX
2.1dBi
1.9 dBi
Mobile
Mobile
0dB
0dB
Integrated
1.9 dBi
Mobile
0dB
29000187
Integrated
-2.0 dBi
Fixed/Mobile
0dB
A09-QW
Quarter-wave wire
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QRAMM
3 Quarter-wave
MMCX
2.1 dBi
Fixed / Mobile
0dB
A09-QI
A09-QSM-3
Quarter-wave
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QSM-3H
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QBMM-P6I
Quarter-wave w/ 6
MMCX
1.9 dBi
Fixed / Mobile
0dB
A09-QHRN
Miniature Helical
Permanent
-1 dBi
Fixed / Mobile
0dB
A09-QHSN
Miniature Helical
Permanent
-1 dBi
Fixed / Mobile
0dB
A09-QHSM-2
2 Straight
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QHRSM-2
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QHRSM-170
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QRSM-380
RPSMA
1.9 dBi
Fixed / Mobile
0dB
A09-QAPM-520
5.2 Articulated
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QSPM-3
3 Straight screw
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QAPM-3
3 Articulated screw
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-QAPM-3H
3 Articulated screw
Permanent
1.9 dBi
Fixed / Mobile
0dB
A09-DPSM-P12F
omni directional
RPSMA
3.0 dBi
Fixed
0dB
A09-D3NF-P12F
omni directional
RPN
3.0 dBi
Fixed
0dB
A09-D3SM-P12F
omni directional w/
RPSMA
3.0 dBi
Fixed
0dB
A09-D3PNF
omni directional
RPN
3.0 dBi
Fixed
0dB
A09-D3TM-P12F
omni directional w/
RPTNC
3.0 dBi
Fixed
0dB
A09-D3PTM
omni directional
RPTNC
3.0 dBi
Fixed
0dB
A09-M0SM
Mag Mount
RPSMA
0 dBi
Fixed
0dB
A09-M2SM
Mag Mount
RPSMA
2.1 dBi
Fixed
0dB
A09-M3SM
Mag Mount
RPSMA
3.1 dBi
Fixed
0dB
2014DigiInternationalInc.
147
XBeePRO900HP/XBeePROXSCRFModules
A09-M5SM
Mag Mount
RPSMA
5.1 dBi
Fixed
0dB
A09-M7SM
Mag Mount
RPSMA
7.1 dBi
Fixed
0dB
A09-M8SM
Mag Mount
RPSMA
8.1 dBi
Fixed
0dB
A09-M0TM
Mag Mount
RPTNC
0 dBi
Fixed
0dB
A09-M2TM
Mag Mount
RPTNC
2.1 dBi
Fixed
0dB
A09-M3TM
Mag Mount
RPTNC
3.1 dBi
Fixed
0dB
A09-M5TM
Mag Mount
RPTNC
5.1 dBi
Fixed
0dB
A09-M7TM
Mag Mount
RPTNC
7.1 dBi
Fixed
0dB
A09-M8TM
Mag Mount
RPTNC
8.1 dBi
Fixed
0dB
A09-Y6
2 Element Yagi
RPN
6.1 dBi
Fixed / Mobile
0dB
A09-Y7
3 Element Yagi
RPN
7.1 dBi
Fixed / Mobile
0dB
A09-Y8
4 Element Yagi
RPN
8.1 dBi
Fixed / Mobile
0dB
Yagi antennas
A09-Y9
4 Element Yagi
RPN
9.1 dBi
Fixed / Mobile
0dB
A09-Y10
5 Element Yagi
RPN
10.1 dBi
Fixed / Mobile
0dB
A09-Y11
6 Element Yagi
RPN
11.1 dBi
Fixed / Mobile
0dB
A09-Y12
7 Element Yagi
RPN
12.1 dBi
Fixed / Mobile
0dB
A09-Y13
9 Element Yagi
RPN
13.1 dBi
Fixed / Mobile
0.8dB
A09-Y14
10 Element Yagi
RPN
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y14
12 Element Yagi
RPN
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y15
13 Element Yagi
RPN
15.1 dBi
Fixed / Mobile
2.8dB
A09-Y15
15 Element Yagi
RPN
15.1 dBi
Fixed / Mobile
2.8dB
A09-Y6TM
2 Element Yagi
RPTNC
6.1 dBi
Fixed / Mobile
0dB
A09-Y7TM
3 Element Yagi
RPTNC
7.1 dBi
Fixed / Mobile
0dB
A09-Y8TM
4 Element Yagi
RPTNC
8.1 dBi
Fixed / Mobile
0dB
A09-Y9TM
4 Element Yagi
RPTNC
9.1 dBi
Fixed / Mobile
0dB
A09-Y10TM
5 Element Yagi
RPTNC
10.1 dBi
Fixed / Mobile
0dB
A09-Y11TM
6 Element Yagi
RPTNC
11.1 dBi
Fixed / Mobile
0dB
A09-Y12TM
7 Element Yagi
RPTNC
12.1 dBi
Fixed / Mobile
0dB
A09-Y13TM
9 Element Yagi
RPTNC
13.1 dBi
Fixed / Mobile
0.8dB
A09-Y14TM
10 Element Yagi
RPTNC
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y14TM
12 Element Yagi
RPTNC
14.1 dBi
Fixed / Mobile
1.8dB
A09-Y15TM
13 Element Yagi
RPTNC
15.1 dBi
Fixed / Mobile
2.8dB
A09-Y15TM
15 Element Yagi
RPTNC
15.1 dBi
Fixed / Mobile
2.8dB
Le prsent metteur radio (IC: 1846A-XBPS3B ou IC: 1846A-XBPS3B) a t approuv par Industrie Canada
pour fonctionner avec les types d'antenne numrs ci?dessous et ayant un gain admissible maximal et
l'impdance requise pour chaque type d'antenne. Les types d'antenne non
inclus dans cette liste, ou dont le gain est suprieur au gain maximal indiqu, sont strictement interdits pour
l'exploitation de l'metteur.
2014DigiInternationalInc.
148
XBeePRO900HP/XBeePROXSCRFModules
Detachable Antenna
Under Industry Canada regulations, this radio transmitter may only operate using an antenna of a type and
maximum (or lesser) gain approved for the transmitter by Industry Canada. To reduce potential radio
interference to other users, the antenna type and its gain should be so chosen that the equivalent isotropically
radiated power (e.i.r.p.) is not more than that necessary for successful communication.
2014DigiInternationalInc.
149
AppendixD:AdditionalInformation
1-Year Warranty
XBee RF Modules from Digi International Inc. (the Product) are warranted against defects in materials and
workmanship under normal use, for a period of 1-year from the date of purchase. In the event of a product
failure due to materials or workmanship, Digi will repair or replace the defective product. For warranty service,
return the defective product to Digi International, shipping prepaid, for prompt repair or replacement.
The foregoing sets forth the full extent of Digi International's warranties regarding the Product. Repair or
replacement at Digi International's option is the exclusive remedy. THIS WARRANTY IS GIVEN IN LIEU OF ALL
OTHER WARRANTIES, EXPRESS OR IMPLIED, AND DIGI SPECIFICALLY DISCLAIMS ALL WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL DIGI, ITS SUPPLIERS OR
LICENSORS BE LIABLE FOR DAMAGES IN EXCESS OF THE PURCHASE PRICE OF THE PRODUCT, FOR ANY LOSS
OF USE, LOSS OF TIME, INCONVENIENCE, COMMERCIAL LOSS, LOST PROFITS OR SAVINGS, OR OTHER
INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
PRODUCT, TO THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW. SOME STATES DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES. THEREFORE, THE FOREGOING
EXCLUSIONS MAY NOT APPLY IN ALL CASES. This warranty provides specific legal rights. Other rights which
vary from state to state may also apply.
2014DigiInternationalInc.
150