Table of Contents

Advertisement

Quick Links

Digi XBee® 3 ZigBee®
RF Module
User Guide

Advertisement

Table of Contents
loading

Summary of Contents for Digi XBee 3 ZigBee

  • Page 1 Digi XBee® 3 ZigBee® RF Module User Guide...
  • Page 2 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.
  • Page 3 Feedback To provide feedback on this document, email your comments to techcomm@digi.com Include the document title and part number (Digi XBee® 3 Zigbee® RF Module, 90001539 F) in the subject line of your email. Digi XBee® 3 Zigbee® RF Module...
  • Page 4: Table Of Contents

    Add the device to XCTU Update to the latest firmware Get started with MicroPython About MicroPython MicroPython on the XBee 3 Zigbee RF Module Use XCTU to enter the MicroPython environment Use the MicroPython Terminal in XCTU MicroPython examples Example: hello world Example: enter MicroPython paste mode Digi XBee®...
  • Page 5 Directory structure Paths Limitations XCTU interface Get started with BLE Enable BLE on the XBee 3 Zigbee RF Module Enable BLE and configure the BLE password Get the Digi XBee Mobile phone application Connect with BLE and configure your XBee 3 device BLE reference...
  • Page 6 Zigbee networks The Zigbee specification Zigbee stack layers Zigbee networking concepts Device types PAN ID Operating channels Zigbee application layers: in depth Application Support Sublayer (APS) Application profiles Zigbee coordinator operation Form a network Digi XBee® 3 Zigbee® RF Module...
  • Page 7 64-bit device addresses 16-bit device addresses Application layer addressing Data transmission Broadcast transmissions Unicast transmissions Address resolution Address table Group table Binding transmissions Multicast transmissions Address resolution Address resolution Binding table Fragmentation Data transmission examples Digi XBee® 3 Zigbee® RF Module...
  • Page 8 Place devices Test links in a network - loopback cluster Transparent operating mode configuration (AP = 0) RSSI indicators Device discovery Network discovery ZDO discovery Joining Announce Commissioning pushbutton and associate LED XBee 3 SMT Digi XBee® 3 Zigbee® RF Module...
  • Page 9 Example 2: Configure an end device to sleep for 20 seconds, send 4 I/O samples in 2 seconds, and return to sleep. Example 3: configure a device for extended sleep: to sleep for 4 minutes. Digi XBee® 3 Zigbee® RF Module...
  • Page 10 EO (Encryption Options) DM (Disable Features) KY (Link Key) NK (Trust Center Network Key) KT (Trust Center Link Key Registration Timeout) I? (Install Code) SA (Secure Access) Zigbee Addressing commands SH (Serial Number High) Digi XBee® 3 Zigbee® RF Module...
  • Page 11 GT (Guard Times) CC (Command Character) MicroPython commands PS (Python Startup) PY (MicroPython Command) File system commands FS (File System) FK (File System Public Key) BLE commands BL (Bluetooth Address) BT (Bluetooth Enable) BI (Bluetooth Identifier) Digi XBee® 3 Zigbee® RF Module...
  • Page 12 LZ (Location Z) Diagnostic commands VR (Firmware Version) VL (Version Long) VH (Bootloader Version) HV (Hardware Version) %C (Hardware/Software Compatibility) %P (Invoke Bootloader) %V (Voltage Supply Monitoring) EA (MAC ACK Failure Count) TP (Temperature) Digi XBee® 3 Zigbee® RF Module...
  • Page 13 Example use cases Example Secure Session Control frame - 0x2E AT Command Response frame - 0x88 Modem Status frame - 0x8A Transmit Status frame - 0x8B TX Status frame - 0x89 Receive Packet frame - 0x90 Digi XBee® 3 Zigbee® RF Module...
  • Page 14 Perform the OTA file system update OTA file system updates: OEM Generate a public/private key pair Set the public key on the XBee 3 device Create the OTA file system image Perform the OTA file system update Digi XBee® 3 Zigbee® RF Module...
  • Page 15: Digi Xbee® 3 Zigbee® Rf Module

    Digi XBee® 3 Zigbee® RF Module This manual describes the operation of the XBee 3 Zigbee RF Module, which consists of Zigbee firmware loaded onto XBee 3 hardware. The XBee 3 Zigbee RF Modules provide wireless connectivity to end-point devices in Zigbee mesh networks.
  • Page 16: Applicable Firmware And Hardware

    Digi XBee® 3 Zigbee® RF Module Applicable firmware and hardware Applicable firmware and hardware This manual supports the following firmware: v.10xx Zigbee It supports the following hardware: XBee 3 Change the firmware protocol You can switch the firmware loaded onto the XBee 3 hardware to run any of the following protocols: Zigbee 802.15.4...
  • Page 17: Get Started

    Get started Refer to the XBee Zigbee Mesh Kit User Guide for comprehensive instructions and examples on how to get started with the XBee 3 Zigbee RF Module. Digi XBee® 3 Zigbee® RF Module...
  • Page 18 Configure the XBee 3 Zigbee RF Module Configure the device using XCTU Custom defaults Custom configuration: Create a new factory default XBee bootloader Send a firmware image Software libraries XBee Network Assistant XBee Multi Programmer Digi XBee® 3 Zigbee® RF Module...
  • Page 19: Configure The Xbee 3 Zigbee Rf Module

    XBee Configuration and Test Utility (XCTU) is a multi-platform program that enables users to interact with Digi radio frequency (RF) devices through a graphical interface. The application includes built-in tools that make it easy to set up, configure, and test Digi RF devices.
  • Page 20: Set A Custom Configuration

    3. Send AT!C. XBee bootloader You can update firmware on the XBee 3 Zigbee RF Module serially. This is done by invoking the XBee 3 bootloader and transferring the firmware image using XMODEM. This process is also used for updating a local device's firmware using XCTU.
  • Page 21: Send A Firmware Image

    1 and begin uploading the gbl. Software libraries One way to communicate with the XBee 3 Zigbee RF Module is by using a software library. The libraries available for use with the XBee 3 Zigbee RF Module include: XBee Java library XBee Python library The XBee Java Library is a Java API.
  • Page 22: Xbee Multi Programmer

    Each XBee Multi Programmer board allows you to program up to six devices simultaneously. Connect more boards to increase the programming concurrency. Different board variants cover all the XBee form factors to program almost any Digi RF device. Download the XBee Multi Programmer application from: digi.com/support/productdetail?pid=5641...
  • Page 23: Update The Firmware Over-The-Air

    Update the firmware over-the-air The XBee 3 Zigbee RF Module supports firmware over-the-air (FOTA) updates. To perform an FOTA update, the device to be updated must be associated and communicable with a Zigbee network. In this section, the node performing the update is considered the server and the node being updated is the client.
  • Page 24: Add The Device To Xctu

    4. Select the product family of the XBee module, the function set, and the latest firmware version. Note XBee 3 Zigbee 3.0 does not support forced upgrades to the same version of the firmware. 5. Click Update. A dialog displays update progress. Click Show details for details of the firmware update process.
  • Page 25 Get started with MicroPython This user guide provides an overview of how to use MicroPython with the XBee 3 Zigbee RF Module. For in-depth information and more complex code examples, refer to the Digi MicroPython Programming Guide. Continue with this user guide for simple examples to get started using MicroPython on the XBee 3 Zigbee RF Module.
  • Page 26: Get Started With Micropython

    Add devices to XCTU. 2. The XBee 3 Zigbee RF Module appears as a box in the Radio Modules information panel. Each module displays identifying information about itself. 3. Click this box to select the device and load its current settings.
  • Page 27: Use The Micropython Terminal In Xctu

    Use the MicroPython Terminal in XCTU Use the MicroPython Terminal in XCTU You can use the MicroPython Terminal to communicate with the XBee 3 Zigbee RF Module when it is in MicroPython mode. This requires XCTU 6.3.10 or higher. To enter MicroPython mode, follow the steps Use XCTU to enter the MicroPython environment.
  • Page 28: Example: Use The Time Module

    Example: AT commands using MicroPython AT commands control the XBee 3 Zigbee RF Module. The "AT" is an abbreviation for "attention", and the prefix "AT" notifies the module about the start of a command line. For a list of AT commands that can be used on the XBee 3 Zigbee RF Module, see commands.
  • Page 29: Micropython Networking And Communication Examples

    MicroPython does not have support for all of the XBee API frame types, particularly for source routing. If you are planning to operate with a network of more than 40 nodes, Digi highly recommends that you operate with the aggregator in API mode and implement source routing.
  • Page 30: Example: Forming And Joining A Zigbee Network Using Micropython

    This example forms a two-node Zigbee network using MicroPython. This is a prerequisite for subsequent networking examples. This example assumes that you have two XBee 3 Zigbee RF Modules configured for MicroPython and two terminals open, one for each radio.
  • Page 31: Example: Network Discovery Using Micropython

    Identification). node_type: Value of 0, 1 or 2 for coordinator, router, or end device. device_type: The device's 32-bit DD value, also referred to as Digi Device Type; this is used to identify different types of devices or hardware. rssi: Relative signal strength indicator (in dBm) of the node discovery request packet received by the sending node.
  • Page 32: Examples: Transmitting Data

    Example: transmit message Use the xbee module to transmit a message from the XBee 3 Zigbee device. The transmit() function call consists of the following parameters: 1.
  • Page 33: Receiving Data

    True or False depending on whether the frame was broadcast or unicast. payload: "Bytes object" of the payload. This is a bytes object instead of a string, because the payload can contain binary data. Digi XBee® 3 Zigbee® RF Module...
  • Page 34: Example: Communication Between Two Xbee 3 Zigbee Modules

    World!' Note Digi recommends calling the receive() function in a loop so no data is lost. On modules where there is a high volume of network traffic, there could be data lost if the messages are not pulled from the queue fast enough.
  • Page 35 # Apply changes time.sleep(1) while network_status() != 0: time.sleep(0.1) print("Network Established\n") print("Waiting for a remote node to join...") node_list = [] while len(node_list) == 0: # Perform a network discovery until the router joins Digi XBee® 3 Zigbee® RF Module...
  • Page 36 = 5000 # How often to send a message # Start the transmit/receive loop print("Sending temp data every {} seconds".format(interval/1000)) while True: p = xbee.receive() if p: format_packet(p) else: # Transmit temperature if ready Digi XBee® 3 Zigbee® RF Module...
  • Page 37: Exit Micropython Mode

    Source code and in-depth information, see github.com/npat-efault/picocom. Tera Term for Windows With the XBee 3 Zigbee RF Module in MicroPython mode (AP = 4), you can access the MicroPython prompt using a terminal. 1. Open Tera Term. The Tera Term: New connection window appears.
  • Page 38: Use Picocom In Linux

    Note The user must have read and write permission for the serial port the XBee 3 Zigbee RF Module is connected to in order to communicate with the device. 1. Open a terminal in Linux and type picocom -b 115200 /dev/ttyUSB0. This assumes you have no other USB-to-serial devices attached to the system.
  • Page 39: Micropython Help ()

    An easy way to list these is to type: ls /dev/ttyUSB*. This produces a list of any device with a name that starts with ttyUSB. 2. Take note of the devices present with that name, and then connect the XBee 3 Zigbee RF Module.
  • Page 40 -- ('micropython', (1, 10, 0)) platform -- xbee3-Zigbee byteorder -- little maxsize -- 2147483647 exit -- <function> stdin -- <io.FileIO 0> stdout -- <io.FileIO 1> stderr -- <io.FileIO 2> modules -- {} print_exception -- <function> ------------------------------------------------------- Digi XBee® 3 Zigbee® RF Module...
  • Page 41 Secure access By default, the XBee 3 Zigbee RF Module is easy to configure and allows for rapid prototyping. For deployment, you can encrypt networks to prevent unauthorized network access. This can prevent entities outside of the network from accessing data on that network. Some customers may also desire a way to restrict communication between nodes from inside the same network.
  • Page 42: Secure Access

    (not a broadcast address), the options bit field set to 0x00, the timeout for the session, and the password that was previously set on the server. 2. The client and server devices will send/exchange several packets to authenticate the session. Digi XBee® 3 Zigbee® RF Module...
  • Page 43: End A Secure Session

    In this example, the password is pickle. 1. The salt is randomly generated and the verifier is derived from the salt and password as follows: *S = 0x1938438E *V = 0x0771F57C397AE4019347D36FD1B9D91FA05B2E5D7365A161318E46F72942A45D *W = 0xD4E44C664B5609C6D2BE3258211A7A20374FA65FC7C82895C6FD0B3399E73770 *X = 0x63018D3FEA59439A9EFAE3CD658873F475EAC94ADF7DC6C2C005b930042A0B74 Digi XBee® 3 Zigbee® RF Module...
  • Page 44: Remotely Configure A Node That Has Been Secured

    The address of the remote that is responding and the status is included in the response. For example, the response to the request above is as follows: 7E 00 0B AE 00 00 13 A2 00 41 7B 21 62 00 5D. The 0x00 status indicates success. Digi XBee® 3 Zigbee® RF Module...
  • Page 45: Send Data To A Secured Remote Node

    1. Send a Secure Session Control frame - 0x2E to the server node with: The client's 64-bit address. The options field set to 0x02 for server side session termination. Set the timeout to 0x0000. Digi XBee® 3 Zigbee® RF Module...
  • Page 46: Secure Session Api Frames

    These frames will contain the status that caused them to be emitted as well as the address of the node that initiated the session, the session options, and the timeout value. Frame exchanges: Digi XBee® 3 Zigbee® RF Module...
  • Page 47: Secure Transmission Failures

    0x0C Encryption Error There was an internal encryption error on the radio. 0x0D TO Bit Not Set The client has a session with the server but forgot to set the TO bit. Digi XBee® 3 Zigbee® RF Module...
  • Page 48: File System

    File system For detailed information about using MicroPython on the XBee 3 Zigbee RF Module refer to the Digi MicroPython Programming Guide. Overview of the file system Directory structure Paths Limitations XCTU interface Digi XBee® 3 Zigbee® RF Module...
  • Page 49: Overview Of The File System

    Directory structure The XBee 3 Zigbee RF Module's internal flash appears in the file system as /flash, the only entry at the root level of the file system. Files and directories other than /flash cannot be created within the root directory, only within /flash.
  • Page 50: Xctu Interface

    See the File System manager tool section of the XCTU User Guide for details of its functionality. Digi XBee® 3 Zigbee® RF Module...
  • Page 51: Get Started With Ble

    For example, you can use your cellphone to connect to your XBee device, and then from your phone, configure and program the device. Enable BLE on the XBee 3 Zigbee RF Module Enable BLE and configure the BLE password Get the Digi XBee Mobile phone application Connect with BLE and configure your XBee 3 device...
  • Page 52: Enable Ble On The Xbee 3 Zigbee Rf Module

    Enable BLE on the XBee 3 Zigbee RF Module To enable BLE on a XBee 3 Zigbee RF Module and verify the connection: 1. Set up the XBee 3 Zigbee RF Module and make sure to connect the antenna to the device. Enable BLE and configure the BLE password.
  • Page 53: Get The Digi Xbee Mobile Phone Application

    8. Click OK to save the configuration. Get the Digi XBee Mobile phone application To see the nearby devices that have BLE enabled, you must get the free Digi XBee Mobile application from the iOS App Store or Google Play and downloaded to your phone.
  • Page 54: Connect With Ble And Configure Your Xbee 3 Device

    Android 5.0 or higher iOS 11 or higher Connect with BLE and configure your XBee 3 device You can use the Digi XBee Mobile application to verify that BLE is enabled on your XBee device. Get the Digi XBee Mobile phone application. 2. Open the Digi XBee Mobile application. The Find XBee devices screen appears and the app automatically begins scanning for devices.
  • Page 55: Ble Reference

    BLE reference BLE advertising behavior and services Device Information Service XBee API BLE Service API Request characteristic API Response characteristic Digi XBee® 3 Zigbee® RF Module...
  • Page 56: Ble Advertising Behavior And Services

    XBee API BLE Service You can configure the XBee 3 Zigbee RF Module through the BLE interface using API frame requests and responses. The API frame format through Bluetooth is equivalent to setting AP = 1 and transmitting the frames over the UART or SPI interface.
  • Page 57: Api Response Characteristic

    This characteristic cannot be read directly. Response data is presented through indications on this characteristic. Indications are acknowledged and re-transmitted at the BLE link layer and application layer and provide a robust transport for this data. Digi XBee® 3 Zigbee® RF Module...
  • Page 58 Serial communication Serial interface UART data flow Serial buffers UART flow control Break control Digi XBee® 3 Zigbee® RF Module...
  • Page 59: Serial Communication

    UART data flow Devices that have a UART interface connect directly to the pins of the XBee 3 Zigbee RF Module as shown in the following figure. The figure shows system data flow in a UART-interfaced environment. Low-asserted signals have a horizontal line over the signal name.
  • Page 60: Serial Buffers

    Serial buffers The XBee 3 Zigbee RF Module maintains internal buffers to collect serial and RF data that it receives. The serial receive buffer collects incoming serial characters and holds them until the device can process them. The serial transmit buffer collects the data it receives via the RF link until it transmits that data out the serial port.
  • Page 61: Serial Transmit Buffer

    Command mode with default baud settings (9600 baud). If either P3 or P4 are not enabled, this break function is disabled. I2C master operation is supported using MicroPython. See the Class I2C: two-wire serial protocol section in the Digi MicroPython Programming Guide details. Digi XBee® 3 Zigbee® RF Module...
  • Page 62: Spi Operation

    This section specifies how SPI is implemented on the device, what the SPI signals are, and how full duplex operations work. SPI communications Full duplex operation Low power operation Select the SPI port Force UART operation Digi XBee® 3 Zigbee® RF Module...
  • Page 63: Spi Communications

    SPI communications SPI communications The XBee 3 Zigbee RF Module supports SPI communications in slave mode. Slave mode receives the clock signal and data from the master and returns data to the master. The following table shows the signals that the SPI port uses on the device.
  • Page 64: Full Duplex Operation

    Full duplex operation Full duplex operation When using SPI on the XBee 3 Zigbee RF Module the device uses API operation without escaped characters to packetize data. The device ignores the configuration of AP because SPI does not operate in any other mode. SPI is a full duplex protocol, even when data is only available in one direction.
  • Page 65: Select The Spi Port

    Otherwise, the device formats all output in API mode 1 format, as described in Operate in API mode. The attached host is expected to ignore all data that is not part of a formatted API frame. Digi XBee® 3 Zigbee® RF Module...
  • Page 66: Force Uart Operation

    Command mode on the UART port. You can then send the appropriate commands to the device to configure it for UART operation. If you write those parameters, the device comes up with the UART enabled on the next reset. Digi XBee® 3 Zigbee® RF Module...
  • Page 67: Modes

    Modes The XBee 3 Zigbee RF Module is in Receive Mode when it is not transmitting data. It shifts into the other modes of operation under the following conditions: Transmit mode (Serial data in the serial receive buffer is ready to be packetized)
  • Page 68: Transparent Operating Mode

    AT commands. When you want to read or set any parameter of the XBee 3 Zigbee RF Module using this mode, you have to send an AT command. Every AT command starts with the letters AT followed by the two characters that identify the command and then by some optional configuration values.
  • Page 69: Enter Command Mode

    Every AT command starts with the letters AT, which stands for "attention." The AT is followed by two characters that indicate which command is being issued, then by some optional configuration values. To read a parameter value stored in the device’s register, omit the parameter field. Digi XBee® 3 Zigbee® RF Module...
  • Page 70: Response To At Commands

    AT command parameters. Valid formats for hexidecimal values include with or without a leading 0x for example FFFF or 0xFFFF. Response to AT commands When using AT commands to set parameters the XBee 3 Zigbee RF Module responds with OK<cr> if successful and ERROR<cr> if not. Apply command changes Any changes you make to the configuration command registers using AT commands do not take effect until you apply the changes.
  • Page 71: Idle Mode

    The XBee modules do not filter out duplicate packets. We recommend that the application includes provisions to address this issue. For more information, see Transmission, addressing, and routing. Digi XBee® 3 Zigbee® RF Module...
  • Page 72: Receive Mode

    XBee devices support pin sleep, where the device enters sleep mode upon pin transition, and cyclic sleep, where the device sleeps for a fixed time. For more information, see Manage End Devices. Digi XBee® 3 Zigbee® RF Module...
  • Page 73 Zigbee networks The Zigbee specification Zigbee stack layers Zigbee networking concepts Zigbee application layers: in depth Zigbee coordinator operation Router operation End device operation Channel scanning Digi XBee® 3 Zigbee® RF Module...
  • Page 74: Zigbee Networks

    Most Zigbee applications operate on the 2.4 GHz ISM band at a 250 kb/s data rate. See the IEEE 802.15.4 specification for details. Digi XBee® 3 Zigbee® RF Module...
  • Page 75: Zigbee Networking Concepts

    An end device is essentially a reduced version of a router. This device: Can join existing networks and send and receive information, but cannot act as messenger between any other devices. Cannot allow other devices to join the network. Digi XBee® 3 Zigbee® RF Module...
  • Page 76 If DH/DL is not changed from the default value when the device is changed to a coordinator, then the device sends data to itself, causing characters to be echoed back to the screen as they are typed. Since this is probably not the desired Digi XBee® 3 Zigbee® RF Module...
  • Page 77: Pan Id

    802.15.4 PHY defines 16 operating channels (channels 11 to 26) in the 2.4 GHz frequency band. XBee modules support all 16 channels. FCC regulations mandate lower power levels on channel 26, so if you fix your network to channel 26, you will experience significantly less range on the devices. Digi XBee® 3 Zigbee® RF Module...
  • Page 78: Zigbee Application Layers: In Depth

    Digi XBee Zigbee firmware operates on a private profile called the Digi Drop-In Networking profile. However, in many cases the XBee 3 Zigbee RF Module can use API mode to talk to devices in public profiles or non-Digi private profiles. For more information, see Operation.
  • Page 79 0xC105 as the Profile ID as this combination is reserved for internal XBee 3 Zigbee RF Module operations. Endpoints 0xDC - 0xEE are reserved for special use by Digi and should not be used in an application outside of the listed purpose. The reserved Digi endpoints are:...
  • Page 80: Zigbee Coordinator Operation

    Once a coordinator starts a network, it retains the following information through power cycle or reset events: PAN ID Operating channel Security policy and frame counter value Child table (end device children that are joined to the coordinator) Binding table Group table Digi XBee® 3 Zigbee® RF Module...
  • Page 81: Coordinator Startup

    NJ (Node Join Time) Sets AI = 0 Starts blinking the Associate LED Sends an API modem status frame (“coordinator started”) out the serial port when using API mode These behaviors are configurable using the following commands: Digi XBee® 3 Zigbee® RF Module...
  • Page 82: Permit Joining

    Set NJ < 0xFF, to enable joining for only a number of seconds, based on the NJ parameter. Once the XBee 3 Zigbee RF Module joins a network, the timer starts. The coordinator does not re-enable joining if the device is power cycled or reset. The following actions restart the permit-joining timer: Changing NJ to a different value (and applying changes with the AC or CN commands).
  • Page 83: Leave A Network

    After reading the commands from a device on the network, program the parameter values into the new coordinator using the following commands. Command Description Set the 64-bit PAN ID to match the read OP value. Digi XBee® 3 Zigbee® RF Module...
  • Page 84: Example: Start A Coordinator

    4. Set the II (Initial 16-bit PAN ID) parameter on the new coordinator to match the read OI value on the old coordinator. 5. Wait for the new coordinator to start (AI = 0). Digi XBee® 3 Zigbee® RF Module...
  • Page 85: Router Operation

    After the router is joined (and authenticated, in a secure network), it can allow new devices to join the network. Persistent data Once a router joins a network, it retains the following information through power cycle or reset events: Digi XBee® 3 Zigbee® RF Module...
  • Page 86: Router Joining

    Allows other devices to join the network for a time Sets AI = 0 Starts blinking the Associate LED Sends an API modem status frame (associated) out the serial port when using API mode Digi XBee® 3 Zigbee® RF Module...
  • Page 87: Router Network Connectivity

    If the router cannot discover the address, it records one watchdog timeout. After three consecutive network watchdog timeouts expire (3 * NW) and the coordinator has not responded to the address discovery attempts, the router will enter one of three Digi XBee® 3 Zigbee® RF Module...
  • Page 88 This restores the device to a default configuration state. Send a network leave command. Note Changes to ID, SC, ZS, and security command values only take effect when changes are applied (AC or CN commands). Digi XBee® 3 Zigbee® RF Module...
  • Page 89: End Device Operation

    Has a valid 64-bit PAN ID (PAN ID matches ID if ID > 0) Has the correct stack profile (ZS command) Allows joining the network Has capacity for additional end devices Digi XBee® 3 Zigbee® RF Module...
  • Page 90: Join A Network

    There is no limit to the number of routers that can join a given router or coordinator device and no “router capacity” metric. Authentication In a network where security is enabled, the end device must then go through an authentication process. For more information, see Zigbee security. Digi XBee® 3 Zigbee® RF Module...
  • Page 91: Persistent Data

    Set the trust center link key. If set to 0 (default), the link key is expected to be obtained (unencrypted) during joining. If encryption is enabled (EE = 1), set the joining device's Encryption Options to match the Encryption Options of the network. Digi XBee® 3 Zigbee® RF Module...
  • Page 92: Parent Connectivity

    Parent connectivity The XBee 3 Zigbee RF Module end device sends regular poll transmissions to its parent when it is awake. These poll transmissions query the parent for any new received data packets. The parent always sends a MAC layer acknowledgment back to the end device. The acknowledgment indicates whether the parent has data for the end device.
  • Page 93: Manage Multiple Zigbee Networks

    For example, if the SC command is set to 0x400F and the device joins a PAN on channel 12 (0x0C), if the XBee 3 Zigbee RF Module leaves the channel, it starts scanning on channel 13, followed by channels 14 and 25 if it does not find a valid network. Once all channels have been scanned, the next join attempt starts scanning on the lowest channel specified in the SC bitmask.
  • Page 94: Application Messaging Framework

    If the application does not receive the expected response message after joining, it could force the device to leave and continue scanning; see NR (Network Reset). Digi XBee® 3 Zigbee® RF Module...
  • Page 95 Transmission, addressing, and routing Addressing Data transmission Binding transmissions Multicast transmissions Fragmentation Data transmission examples RF packet routing Encrypted transmissions Maximum RF payload size Throughput ZDO transmissions Transmission timeouts Digi XBee® 3 Zigbee® RF Module...
  • Page 96: Transmission, Addressing, And Routing

    IDs, cluster IDs, and endpoints. Application layer addressing is useful if an application must do any of the following: Interoperate with other Zigbee devices outside of the Digi application profile. Use service and network management capabilities of the ZDO.
  • Page 97: Broadcast Transmissions

    Large broadcast packets require more buffer space. Users cannot change any buffer spacing; information on buffer space is for general knowledge only. The XBee 3 Zigbee RF Module handles buffer spacing automatically. Since each device in the network retransmits broadcast transmissions, use broadcast messages sparingly to avoid network congestion.
  • Page 98: Address Table

    0013 A200 4002 1123 0xFFFE (unknown) The XBee 3 Zigbee RF Module supports up to 20 address table entries. For applications where a single device (for example, coordinator) sends unicast transmissions to more than 10 devices, the application implements an address table to store the 16-bit and 64-bit addresses for each remote device.
  • Page 99: Group Table

    0xFFFFFFFFFFFFFFFF. Set the 16 bit destination address value to the destination groupID. Address resolution The XBee 3 Zigbee RF Module use the source endpoint and cluster ID values of a binding transmission as keys to lookup matching binding table entries. For each matching binding table entry, the type field of the entry indicates whether to send a unicast or a multicast message.
  • Page 100: Binding Table

    0x0000000000000000 is the coordinator's address (in Zigbee firmware). The default values of DH and DL are 0x00, which sends data to the coordinator. Example: Send a transmission to the coordinator. In this example, a '\r' refers to a carriage return character. Digi XBee® 3 Zigbee® RF Module...
  • Page 101: Send Data In Api Mode

    (0x10) sends an ASCII 1 to the coordinator: 7E 00 0F 10 01 0013 A200 404A 2244 0000 0000 31 18 Example: Send a broadcast transmission In this example, a '\r' refers to a carriage return character. Digi XBee® 3 Zigbee® RF Module...
  • Page 102: Api Frame Examples

    0xFE. The Tx Option 0x08 indicates use of multicast (group) addressing. RF packet routing Unicast transmissions may require some type of routing. Zigbee includes several different methods to route data, each with its own advantages and disadvantages as summarized in the following table. Digi XBee® 3 Zigbee® RF Module...
  • Page 103: Link Status Transmission

    Suppose that the output power of device A is +18 dBm, and the output power of device B is +3 dBm (considerably less than the output power of device A). The link status messages might indicate the following: Digi XBee® 3 Zigbee® RF Module...
  • Page 104: Aodv Mesh Routing

    Routers and coordinators can participate in establishing routes between source and destination devices using a process called route discovery. The Route discovery process is based on the Ad-hoc On-demand Distance Vector routing (AODV) protocol. Sample transmission through a mesh network: Digi XBee® 3 Zigbee® RF Module...
  • Page 105 The following graphic is a sample route request (broadcast) transmission where R3 is trying to discover a route to R6: Digi XBee® 3 Zigbee® RF Module...
  • Page 106 Ack, it retransmits the data, up to two times until it receives an Ack. This Ack is called the Zigbee APS layer acknowledgment. Note Refer to the Zigbee specification for more details. Digi XBee® 3 Zigbee® RF Module...
  • Page 107: Many-To-One Routing

    APS unicast message. By default the device uses high RAM mode. If you have a network with more than 40 devices or will be using a Digi gateway, we recommend operating in low RAM concentrator mode and externally manage source routing.
  • Page 108 The data collector sends a many-to-one route request broadcast to create reverse routes on all devices. A remote device sends an RF data packet to the data collector. This is prefaced by a route record transmission to the data collector. Digi XBee® 3 Zigbee® RF Module...
  • Page 109 Create Source Route - 0x21 to the XBee 3 Zigbee RF Module to create a source route in its internal source route table. After sending the Create Source Route frame, the application can send data transmission or remote command request frames as needed to the same destination, or any destination in the source route.
  • Page 110 If a Create Source Route API frame does not precede the data frames, you may encounter data loss. The XBee 3 Zigbee RF Module can buffer one source route that includes up to 11 hops (excluding source and destination). For example, suppose a network exists with a coordinator and 5 routers (R1, R2, R3, R4, R5) with known source routes as shown in the following image.
  • Page 111 This removes the aggregator's status as an aggregator from the network's routing tables so that no more route records will be sent to the aggregator. Digi XBee® 3 Zigbee® RF Module...
  • Page 112: Encrypted Transmissions

    APS encryption overhead (EE1, TxOption 0x20) is too high, the message fragments into a maximum of five fragments. The firmware encrypts and transmits each fragment separately. The destination radio reassembles the fragments into a full message. Digi XBee® 3 Zigbee® RF Module...
  • Page 113 Source routing enabled or AR setting which is not 0xFF The following table shows the aggregator source-routed payload maximums as a function of hops and APS encryption: Hops Maximum encrypted payload Maximum unencrypted payload Digi XBee® 3 Zigbee® RF Module...
  • Page 114: Throughput

    0x8031 Response that includes neighbor table data from a remote device. Routing Table Response 0x8032 Response that includes routing table entry data from a remote device. Refer to the Zigbee specification for a detailed description of all Zigbee device profile services. Digi XBee® 3 Zigbee® RF Module...
  • Page 115: Send A Zdo Command

    0x90 receive frame format. In this configuration, the XBee application will handle and respond to any incoming ZDO requests. For unsupported ZDO commands, the XBee 3 Zigbee RF Module will respond with: ZDO not supported. The following figure shows AO set to 0.
  • Page 116 Bits 1, 2, and 3 of the AO command dictate the routing of incoming ZDO messages. When these bits are cleared, the XBee 3 Zigbee RF Module will handle and respond to ZDO commands. When these bits are set, then Supported ZDO, Unsupported ZDO, and/or Bind Requests are passed through the UART and the XBee device will not respond.
  • Page 117 0, and the transaction sequence number is set to 0x44. API frame 7E 001F 11 01 00000000 0000FFFF FFFE 00 00 0000 0000 00 00 44 34124040 00A21300 00 00 33 Digi XBee® 3 Zigbee® RF Module...
  • Page 118: Transmission Timeouts

    If you set this bit, the extended timeout will be used when sending RF data to the specified destination. To improve routing reliability, applications set the extended timeout bit when sending data to end devices if: Digi XBee® 3 Zigbee® RF Module...
  • Page 119: Unicast Timeout

    The total extended timeout to the end device is approximately: 3 * ((50 * NH) + (1.2 * SP)) or one of the following: 3 * (1500 + 12000) 3 * (13500) Digi XBee® 3 Zigbee® RF Module...
  • Page 120: Transmission Examples

    7E 0014 10 01 00000000 0000FFFF FFFE 00 00 54 78 44 61 74 61 AD Field composition 0x0014 length 0x10 API ID (TX data) 0x01 Frame ID (set to a non-zero value to enable the TX-status response) Digi XBee® 3 Zigbee® RF Module...
  • Page 121 0xFFFF, all devices, including sleeping end devices can receive this broadcast. If receiver application addressing is enabled, the XBee 3 Zigbee RF Module reports all received data frames in the explicit format (0x91) to indicate the source and destination endpoints, cluster ID, and profile ID where each packet was received.
  • Page 122 Zigbee security Security overview Network key Link key Join window Key management Device registration Digi XBee® 3 Zigbee® RF Module...
  • Page 123: Zigbee Security

    Security is a very important factor in designing a mesh network. Digi makes it easy to find the right level of security for your specific application, ranging from a completely open and unencrypted network to a high security model with out-of-band device registration.
  • Page 124: Well-Known Default Link Key - Low Security

    The Zigbee Alliance specifies a well-known default link key. You can use this link key to allow unsecure devices to easily join a secured network. By default, the XBee 3 Zigbee RF Module rejects any device that attempts to join using this well-known key. To allow these devices to join, set the EO bit 4 (EO=0x10) on the centralized trust center.
  • Page 125: Key Management

    The network key is protected by encrypting the exchange with the joining device with a global link key. The network key can optionally be sent in-the-clear by setting EO bit 1 on every device on the network. Digi strongly discourages this setting, because it allows unsecure devices access the network key.
  • Page 126: Centralized Trust Center

    Configure an XBee 3 device with the following parameters: CE = 1 This indicates that the device attempts to form a network rather than join an existing one. EE = 1 This enables encryption for the network. Digi XBee® 3 Zigbee® RF Module...
  • Page 127: Example: Join A Secure Network Using A Preconfigured Link Key

    NJ < 0xFF Consider the join time that is configured on joining devices. If the device successfully joins the network as a router (SM = 0), it immediately opens the join window for NJ seconds, effectively Digi XBee® 3 Zigbee® RF Module...
  • Page 128: Example: Register A Joining Node Without A Preconfigured Link Key

    When the registration succeeds, the join window automatically opens for NJ seconds (or 60 seconds if NJ = 0). If the trust center is centralized, this registered key table entry is transient and expires after KT seconds. In a distributed trust center, it persist until it is explicitly cleared. Digi XBee® 3 Zigbee® RF Module...
  • Page 129: Example: Register A Joining Node Using An Install Code

    Example: Register a joining node using an install code To provide the highest level of security, Digi recommends using install codes to register devices. Install codes are randomly assigned to each Zigbee 3.0 device at the factory for the purpose of securely joining a network.
  • Page 130: Registration Scenario

    KT seconds, or when the device joins the network through the centralized trust center, the temporary link key will be removed from the table. Again, if the node is then removed from the network, it will need to be registered again with the trust center. Digi XBee® 3 Zigbee® RF Module...
  • Page 131 To accommodate these requirements, modules include features to aid in placing devices, configuring devices, and network diagnostics. Place devices Device discovery Commissioning pushbutton and associate LED Binding Group Table API Digi XBee® 3 Zigbee® RF Module...
  • Page 132: Network Commissioning And Diagnostics

    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 Digi XBee® 3 Zigbee® RF Module...
  • Page 133: Device Discovery

    The Zigbee device profile includes provisions to discover devices in a network that are supported on all Zigbee devices (including non-Digi products). These include the LQI Request (cluster ID 0x0031) and the Network Update Request (cluster ID 0x0038). You can use the LQI Request to read the devices in the neighbor table of a remote device, and the Network Update Request for a remote device to complete an active scan to discover all nearby Zigbee devices.
  • Page 134: Xbee 3 Smt

    Network commissioning and diagnostics Commissioning pushbutton and associate LED XBee 3 SMT A pushbutton and an LED can be connected to the surface-mount device to support the commissioning pushbutton and associate LED functionalities. XBee 3 Micro Digi XBee® 3 Zigbee® RF Module...
  • Page 135: Xbee 3 Through-Hole

    If NJ is 0x00 or 0xFF, PermitDuration is set to one minute, otherwise PermitDuration is set to NJ. Restore configuration to default values and leave the network. Equivalent to issuing NR, RE, and AC commands. Digi XBee® 3 Zigbee® RF Module...
  • Page 136: Associate Led

    The following image illustrates the behavior pressing the commissioning button press once when the device has not joined a network, causing the associate pin to blink to indicate the AI Code where: AI = # blinks + 0x20. In this example, AI = 0x22. Digi XBee® 3 Zigbee® RF Module...
  • Page 137: Binding

    All devices that receive this transmission blink their associate pin rapidly for one second if the associate LED functionality is enabled (D5 = 1). Binding The Digi XBee firmware supports three binding request messages: End Device Bind Bind...
  • Page 138 C sends responses to the original End_Device_Bind_req messages. R1-<C End_Device_Bind_rsp R2-<C End_Device_Bind_rsp End Device binding sequence (removal) This example shows a correctly formatted End_Device_Bind_req (ZDO cluster 0x0020) using a Digi 0x11 Explicit API Frame: The frame as a bytelist: 7e002811010000000000000000fffe000000200000000001f2995cb5474000a21300e605c10101000102 0046 Same frame broken into labeled fields.
  • Page 139: End_Device_Bind_Req

    The Bind request (ZDO cluster 0x0021) is described in the Zigbee Specification. A binding may be coded for either a unicast or a multicast/groupID message. Unbind_req The Unbind request (ZDO cluster 0x0022) is described in the Zigbee Specification. Digi XBee® 3 Zigbee® RF Module...
  • Page 140: Group Table Api

    But to implement multicast (group) addressing within the XBee, the external processor must keep the XBee device's group table state in sync with its own. For this reason, a Group Table API has been defined where the external processor can manage the state of the XBee 3 Zigbee RF Module group table.
  • Page 141: View Group

    The packet is addressed to the local node, using a source endpoint of 0xE6, clusterID of 0x0006, and profileID of 0xC105. The destination endpoint E7 is the endpoint parameter for the “View Group” command. ZCL_header = “01 ee 01" Digi XBee® 3 Zigbee® RF Module...
  • Page 142: Get Group Membership (1 Of 2)

    The intent of the example is to get all the groupIDs associated with endpoint E7. The example packet is given in three parts, the preamble, ZCL Header, and ZCL payload: Digi XBee® 3 Zigbee® RF Module...
  • Page 143 The following is the decoded second message, which is a Tx Status for the original command request. If the FrameId value in the original command request had been zero, or if no space was available in the transmit UART buffer, then no Tx Status message would occur. Digi XBee® 3 Zigbee® RF Module...
  • Page 144: Get Group Membership (2 Of 2)

    The response in terms of Preamble, ZCL Header, and ZCL Payload: Preamble = “910013a2004047b55cfffee7e68006c10500” The packet has the endpoints reversed from the request, the clusterID is 0x8006 indicating a Group cluster response. ZCL_header = “09 ee 02" Digi XBee® 3 Zigbee® RF Module...
  • Page 145: Remove Group

    7e001911010013a2004047b55cfffee6e70006c105000001ee033412d2 The response in raw hex byte form, consisting of two packets: 7e0018910013a2004047b55cfffee7e68006c1050009ee0300341235 7e00078b01fffe00000076 The command response in decoded form: Zigbee Explicit Rx Indicator API 0x91 64DestAddr 0x0013A2004047B55C 16DestAddr 0xFFFE SrcE 0xE DestEP 0xE6 Digi XBee® 3 Zigbee® RF Module...
  • Page 146: Remove All Groups

    >Server direction(0x00). The second field is a transaction sequence number which is used to associate the response with the command request. The third field is the command identifier “Remove All Groups” (0x04) . ZCL_payload = “” No payload is needed for this command. Digi XBee® 3 Zigbee® RF Module...
  • Page 147: Default Responses

    ZCL_header = “08 01 03" - general command/server-to-client, transseqnum=1, default_response_command(0x03) ZCL_payload = “78 8b” - original cmdID, status code (0x8b) status not found Common status codes This section lists some of the more frequently occurring status codes. Digi XBee® 3 Zigbee® RF Module...
  • Page 148 0x84: unexpected manufacturer specific indication in the Frame Control Field of the ZCL Header 0x8b: An attempt at Get Group Membership or Remove Group could not find a matching entry in the group table Digi XBee® 3 Zigbee® RF Module...
  • Page 149 End Device configuration Recommended sleep current measurements Transmit RF data Receiving RF data I/O sampling Wake end devices with the Commissioning Pushbutton Parent verification Rejoining Router/Coordinator configuration Short sleep periods Extended sleep periods Sleep examples Digi XBee® 3 Zigbee® RF Module...
  • Page 150: Manage End Devices

    The data packet remains buffered until a timeout expires, or until the end device sends a poll request to retrieve the data. Digi XBee® 3 Zigbee® RF Module...
  • Page 151: End Device Poll Timeouts

    Unicast messages waiting for end device to wake Applications that use regular broadcasting or that require regular address or route discoveries use up a significant number of buffers, reducing the buffer availability for managing packets for end device Digi XBee® 3 Zigbee® RF Module...
  • Page 152: Non-Parent Device Operation

    Programming Guide. Pin sleep allows an external microcontroller to determine when the XBee 3 Zigbee RF Module sleeps and when it wakes by controlling the SLEEP_RQ pin. In contrast, cyclic sleep allows the sleep period and wake times to be configured through the use of AT commands. Cyclic sleep with pin wake-up is the same as cyclic sleep except the device can be awakened before the sleep period expires by lowering the SLEEP_RQ line.
  • Page 153: Pin Sleep

    (set P5 , P6 , and P8 to 0 ). See Low power operation for information on using SPI_SSEL for sleep control while communicating over SPI. Sleep pin diagrams The following figures show the device's sleep pins. Surface-mount sleep pins Digi XBee® 3 Zigbee® RF Module...
  • Page 154 Manage End Devices End Device configuration Through-hole sleep pins Micro sleep pins Sleep pin waveform The following figure show the pin sleep waveforms: Digi XBee® 3 Zigbee® RF Module...
  • Page 155: Cyclic Sleep

    6 ms for a PRO device. When the XBee 3 Zigbee RF Module is awake and is joined to a network, it sends a poll request to its parent to see if the parent has any buffered data. The end device continues to send poll requests every 100 ms while it is awake.
  • Page 156 If you enable hardware flow control (D7 command), the CTS pin asserts (low) when the device wakes and can receive serial data, and de-assert (high) when the device sleeps. Cyclic sleep pin diagrams The following figure shows the device's cyclic sleep pins. Surface-mount cyclic sleep pins Digi XBee® 3 Zigbee® RF Module...
  • Page 157 Manage End Devices End Device configuration Through-hole cyclic sleep pins Micro cyclic sleep pins Cyclic sleep pin waveform The following figure shows the cyclic sleep waveforms. Digi XBee® 3 Zigbee® RF Module...
  • Page 158 SI (Sleep Immediately) as shown in the following image. Sleep period Configure the sleep period based on the SP, SN, and SO commands. The following table lists the behavior of these commands. Digi XBee® 3 Zigbee® RF Module...
  • Page 159 SP time has expired. After the sleep period expires, the XBee 3 Zigbee RF Module sends a poll request transmission to its parent to determine if the parent has any buffered data waiting for the end device. Since router and coordinator devices can buffer data for end device children up to 30 seconds, the SP range (up to 28 seconds) allows the end device to poll regularly enough to receive buffered data.
  • Page 160 Each GPIO input line with a pullup resistor which is driven low draws about 100 uA current through the internal pullup resistor. If circuitry external to the XBee drives such input lines low, then the current draw rises above expected deep sleep levels. Digi XBee® 3 Zigbee® RF Module...
  • Page 161: Recommended Sleep Current Measurements

    If you use an analog-to-digital converter (ADC) to read the analog voltage of a pin, it may not be possible to stop all leakage current unless you can disconnect the voltage during sleep. Each floating Digi XBee® 3 Zigbee® RF Module...
  • Page 162: Transmit Rf Data

    Otherwise, the end device continues polling every 100ms. If the parent does not send an acknowledgment response to three consecutive poll request transmissions, the end device assumes the parent is out of range, and attempts to find a new parent. Digi XBee® 3 Zigbee® RF Module...
  • Page 163: Rejoining

    For applications that require sleeping longer than 30 seconds, end devices should transmit an I/O sample or other data when they wake to alert other devices that they can send data to the end device. Digi XBee® 3 Zigbee® RF Module...
  • Page 164: Child Poll Timeout

    SP and SN should be set on routers and coordinators such that (SP * SN) matches the longest expected sleep time. As a general rule, SP and SN should be set the same on all devices in almost all cases. Digi XBee® 3 Zigbee® RF Module...
  • Page 165: Sleep Examples

    (Micro pin 30/SMT pin 32/TH pin 19) as a digital input line, you must set the following: D1 = 3 Set all router and coordinator devices on the network SP to match SP on the end device. This ensures that RF packet buffering times and transmission timeouts are set correctly. Digi XBee® 3 Zigbee® RF Module...
  • Page 166: Example 3: Configure A Device For Extended Sleep: To Sleep For 4 Minutes

    This ensures the parent does not timeout the end device from its child table too quickly. The SI command can optionally be sent to the end device to cause it to sleep before the sleep timer expires. Digi XBee® 3 Zigbee® RF Module...
  • Page 167: I/O Support

    The following topics describe analog and digital I/O line support, line passing and output control. Digital I/O support Analog I/O support Monitor I/O lines I/O sample data format API frame support On-demand sampling Periodic I/O sampling Digital I/O change detection I/O behavior during sleep Digi XBee® 3 Zigbee® RF Module...
  • Page 168: Digital I/O Support

    Analog input is available on D0 through D3. Configure these pins to 2 (ADC) to enable analog sampling. PWM output is available on P0 and P1, which can be used for Analog line passing. Use M0 (PWM0 Duty Cycle) and M1 (PWM1 Duty Cycle) to set a fixed PWM level. Digi XBee® 3 Zigbee® RF Module...
  • Page 169: Monitor I/O Lines

    (IR (I/O Sample Rate)) Periodic sampling based on a timer Samples are taken immediately upon wake (excluding pin sleep) Sample data is sent to DH+DL destination address Can be used with line passing Requires API mode on receiver Digi XBee® 3 Zigbee® RF Module...
  • Page 170: I/O Sample Data Format

    12 = DIO12 bit 13 = DIO13 bit 14 = DIO14 bit 15 = N/A Example: a digital channel mask of 0x002F means DIO0, 1, 2, 3 and 5 are configured as digital inputs or outputs. Digi XBee® 3 Zigbee® RF Module...
  • Page 171: Api Frame Support

    AT command response frame (AT Command Response frame - 0x88 Remote Command Response frame - 0x97). Example: Command mode An IS command sent in Command mode returns the following sample data: Digi XBee® 3 Zigbee® RF Module...
  • Page 172: Example: Local At Command In Api Mode

    Indicates the AT command that this response corresponds to 0x49 0x53 = IS Status Indicates success or failure of the AT command 00 = OK if no I/O lines are enabled, this will return 01 (ERROR) Digi XBee® 3 Zigbee® RF Module...
  • Page 173: Example: Remote At Command In Api Mode

    Indicates the AT command that this response corresponds to 0x49 0x53 = IS Command Status Indicates success or failure of the AT command 00 = OK if no I/O lines are enabled, this will return 01 (ERROR) Digi XBee® 3 Zigbee® RF Module...
  • Page 174: Periodic I/O Sampling

    The figure below shows how I/O change detection can work in combination with Periodic I/O sampling to improve sampling accuracy. In the figure, the gray dashed lines with a dot on top represent samples taken from the monitored DIO line. The top graph shows only periodic IR samples, Digi XBee® 3 Zigbee® RF Module...
  • Page 175: I/O Behavior During Sleep

    PWM output pins set by analog line passing are shutdown during sleep and revert to their preset values (M0 and M1) on wake. This happens regardless of whether the timeout has expired or not. Digi XBee® 3 Zigbee® RF Module...
  • Page 176: At Commands

    Serial interfacing commands Command mode options MicroPython commands File system commands BLE commands Sleep commands I/O settings commands I/O sampling commands Location commands Diagnostic commands Memory access commands Custom default commands Secure Session commands Digi XBee® 3 Zigbee® RF Module...
  • Page 177: Networking Commands

    The preconfigured 16-bit PAN ID used when forming a network. Use this command to replace a coordinator node on an existing network. When you set II to the default value (recommended) the module forms a network on a random 16-bit PAN ID. Range 0 - 0xFFFF Digi XBee® 3 Zigbee® RF Module...
  • Page 178: Zs (Zigbee Stack Profile)

    NJ only affects the window for the local node and does not affect the timing of the rest of the network. This value can be changed at run time without requiring a Coordinator or Router to restart. Digi XBee® 3 Zigbee® RF Module...
  • Page 179: Dj (Disable Joining)

    Note This parameter is not written to flash with the WR command and reverts to default after a power cycle. Parameter range 0 - 1 Value Description Enable Joining Disable Joining Default Digi XBee® 3 Zigbee® RF Module...
  • Page 180: Nw (Network Watchdog Timeout)

    This action blinks the Associate LED rapidly on all devices that receive the transmission, and sends an API frame out the serial port of API devices. Digi recommends you disable this feature for large networks to prevent excessive broadcasts. Parameter range 0 - 1 Digi XBee®...
  • Page 181: Do (Miscellaneous Device Options)

    A bitfield that contains advanced joining device controls that do not have dedicated AT commands. These options only apply to joining devices (CE=0). Leave unused bits clear so future device controls are not inadvertently enabled during a firmware update. Digi XBee® 3 Zigbee® RF Module...
  • Page 182: C8 (Compatibility Options)

    Devices prior to the XBee 3 use a different scale to represent LQI. C8 bit 4 (C8 | 0x10) enables an LQI compatibility mode. Networks that contain a mix of XBee 3 Zigbee and legacy XBee devices should enable this feature. Otherwise operating a mixed network without this bit set will prioritize legacy devices when determining route cost.
  • Page 183: Cb (Commissioning Pushbutton)

    NR and NR0 both perform the same function and may be used interchangeably. Parameter range 0 - 1 Default Operational Network Parameters commands The following read-only AT commands provide information about the attached Zigbee network. Digi XBee® 3 Zigbee® RF Module...
  • Page 184: Ai (Association Indication)

    OP (Operating Extended PAN ID) Read the 64-bit extended PAN ID of the attached network. The OP value reflects the operating 64-bit extended PAN ID where the device is running. Parameter range 1 - 0xFFFFFFFFFFFFFFFF Default Digi XBee® 3 Zigbee® RF Module...
  • Page 185: Oi (Operating 16-Bit Pan Id)

    Configure these parameters prior to forming/joining a network. Changing these parameters may cause the node to leave any currently attached network. EE (Encryption Enable) Set or read the encryption enable setting of the local device. Parameter range 0 - 1 Digi XBee® 3 Zigbee® RF Module...
  • Page 186: Eo (Encryption Options)

    Allow joining using well-known default link keys (unsecure). 5 - 15 Reserved. Parameter range 0 - 0xFF Default DM (Disable Features) A bit field mask that you can use to enable or disable specific features. Bit Description Reserved Reserved Digi XBee® 3 Zigbee® RF Module...
  • Page 187: Ky (Link Key)

    In a distributed trust center, every router has a copy of the network key, so it cannot be changed after the network is formed. Parameter range 0 - 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [write-only] Digi XBee® 3 Zigbee® RF Module...
  • Page 188: Kt (Trust Center Link Key Registration Timeout)

    The Secure Access Options bit-field defines the feature set(s) intended to be secure against unauthorized access. The XBee 3 Zigbee RF Module should establish a secure session in order to access functionality defined by the feature set(s) on the local device.
  • Page 189: Zigbee Addressing Commands

    Reads the 16-bit network address of the device, which is randomly assigned by the network upon association. A value of 0xFFFE means the device has not joined a Zigbee network. Parameter range 0 - 0xFFFF [read-only] Digi XBee® 3 Zigbee® RF Module...
  • Page 190: Mp (16-Bit Parent Network Address)

    (AP = 0) and I/O sampling. This destination address corresponds to the serial number (SH + SL) of the target device. Reserved Zigbee network addresses: 0x000000000000FFFF is a broadcast address. 0x0000000000000000 addresses the network coordinator. Parameter range 0 - 0xFFFFFFFF Default Digi XBee® 3 Zigbee® RF Module...
  • Page 191: Ni (Node Identifier)

    Set or read the periodic time for broadcasting aggregate route messages. Setting AR enables many- to-one routing from the broadcasting device using the concentrator mode determined by DO Bit 6. Set AR to 0x00 to send only one broadcast. Digi XBee® 3 Zigbee® RF Module...
  • Page 192: Dd (Device Type Identifier)

    0 - 0xFF (x10 sec) Default 0xFF (disabled) DD (Device Type Identifier) Stores the Digi device type identifier value. Use this value to differentiate between multiple types of devices(for example, sensors or lights). If you change DD, RE (Restore Defaults) will not restore defaults.
  • Page 193: Dn (Discover Node)

    When you issue the ND command, the transmission includes the NT value to provide all remote devices with a response timeout. Remote devices wait a random time, less than NT, before sending their response to avoid collisions. Digi XBee® 3 Zigbee® RF Module...
  • Page 194: Network Discovery Options)

    Parameter range 0 - 3 Option Description Append the DD (Digi Device Identifier) value to ND responses and node identification frames. Local device sends ND response when the ND is issued. Default NP (Maximum Packet Payload Bytes) Reads the maximum number of RF payload bytes that you can send in a transmission based on current parameter settings.
  • Page 195: Se (Source Endpoint)

    This command only affects outgoing transmissions in Transparent mode (AP = 0). Note Endpoints 0xDC - 0xEE are reserved for special use by Digi and should not be used in an application outside of the listed purpose. The reserved Digi endpoints are:...
  • Page 196: Ci (Cluster Id)

    AT commands RF interfacing commands 0xE8 - Digi data endpoint 0xE6 - Digi device object endpoint 0xE5 - Secure Session Server endpoint 0xE4 - Secure Session Client endpoint 0xE3 - Secure Session SRP authentication endpoint Parameter range 0 - 0xFF...
  • Page 197: Pp (Power At Pl4)

    An active scan is performed any time a network is formed or prior to a join attempt. You can force an active scan by issuing an AS command. Parameter range 1 - 0xFFFF (bit field) Bit field mask: IEEE 802.15.4 channel Digi XBee® 3 Zigbee® RF Module...
  • Page 198: Sd (Scan Duration)

    RSSI – Relative Signal Strength Indicator - signed byte, lower values are better Each field in the AS response is separated by a carriage return (0x0D character). An additional carriage return separates multiple beacons. Two additional carriage returns indicate the end of the Active Scan. Digi XBee® 3 Zigbee® RF Module...
  • Page 199: Ed (Energy Detect)

    After setting a non-standard baud rate, query BD to find the actual operating baud rate before applying changes. The following table provides some example BD parameters sent versus the parameters stored. Digi XBee® 3 Zigbee® RF Module...
  • Page 200: Nb (Parity)

    Set or read the serial parity settings for UART communications. Parameter range 0 - 2 Parameter Description No parity Even parity Odd parity Default SB (Stop Bits) Sets or displays the number of stop bits for UART communications. Parameter range 0 - 1 Digi XBee® 3 Zigbee® RF Module...
  • Page 201: Ap (Api Enable)

    AO bit 4 will allow supported ZDO message that are handled by the XBee application to be echoed to the serial port. Leave unused bits clear so future API options are not inadvertently enabled during a firmware update. Digi XBee® 3 Zigbee® RF Module...
  • Page 202: Az (Extended Api Options)

    Parameter Description Suppress ZCL output Output receive frames for FOTA update commands Output supported ZCL packets Output Extended Modem Status (0x98) frames instead of Modem Status (0x8A) frames when a Secure Session status change occurs Default Digi XBee® 3 Zigbee® RF Module...
  • Page 203: Packetization Timeout)

    Digital output, low Digital output, high Default D7 (DIO7/CTS) Sets or displays the DIO7/CTS configuration (Micro pin 24/SMT pin 25/TH pin 12). Parameter range 0, 1, 3 - 7 Parameter Description Disabled CTS flow control Digital input Digi XBee® 3 Zigbee® RF Module...
  • Page 204: P3 (Dio13/Dout Configuration)

    Digital output, high Default P4 (DIO14/DIN Configuration) Sets or displays the DIO14/DIN configuration (Micro pin 4/SMT pin 4/TH pin 3). Parameter range 0, 1, 3 - 5 Parameter Description Disabled UART DIN Digital input Digi XBee® 3 Zigbee® RF Module...
  • Page 205: Command Mode Options

    CC (Command Character) Sets or displays the character value used to break from data mode to Command mode. . The command character must be sent three times in succession while observing the minimum guard time Digi XBee® 3 Zigbee® RF Module...
  • Page 206: Micropython Commands

    MicroPython commands The following commands relate to using MicroPython on the XBee 3 Zigbee RF Module. PS (Python Startup) Sets whether or not the XBee 3 Zigbee RF Module runs the stored Python code at startup. Range 0 - 1...
  • Page 207: File System Commands

    E. FS (File System) When sent without any parameters, FS prints a list of supported commands. FS PWD Prints the current working directory, which always starts with / and defaults to /flash at startup. Digi XBee® 3 Zigbee® RF Module...
  • Page 208 FS INFO Report on the size of the filesystem, showing bytes in use, available, marked bad and total. The report ends with a blank line, as with most multi-line AT command output. Example output: Digi XBee® 3 Zigbee® RF Module...
  • Page 209: Fk (File System Public Key)

    The following AT commands are BLE commands. BL (Bluetooth Address) BL reports the EUI-48 Bluetooth device address. Due to standard XBee AT Command processing, leading zeroes are not included in the response when in Command mode. Digi XBee® 3 Zigbee® RF Module...
  • Page 210: Bt (Bluetooth Enable)

    The Secure Remote Password (SRP) Salt is a 32-bit number used to create an encrypted password for the XBee 3 Zigbee RF Module. Use the $S command in conjunction with the $V, $W, $X, and $Y verifiers. Together, the command and the verifiers authenticate the client for the BLE API Service without storing the XBee password on the XBee 3 Zigbee RF Module.
  • Page 211: V, $W, $X, $Y Commands (Srp Salt Verifier)

    AT commands Sleep commands Note The XBee 3 Zigbee RF Module does not allow for 0 to be valid salt. If the value is 0, SRP is disabled and you are not able to authenticate using Bluetooth. Parameter range 0 - FFFFFFFF Default $V, $W, $X, $Y commands (SRP Salt verifier)
  • Page 212: Sp (Cyclic Sleep Period)

    This command allows a host application to sleep for an extended time if no RF data is present. Parameter range 1 - 0xFFFF Default SO (Sleep Options) A bitfield that contains advanced sleep options that do not have dedicated AT commands. Digi XBee® 3 Zigbee® RF Module...
  • Page 213: Wh (Wake Host Delay)

    Sets the child table parent timeout. This command is only set on the sleepy end device. The sleepy end device sends the timeout to the parent when joining the network. Parameter range 0 - 14 Digi XBee® 3 Zigbee® RF Module...
  • Page 214: Sleep Immediately)

    Parameter Default I/O settings commands The following commands configure the various I/O lines available on the XBee 3 Zigbee RF Module. D0 (DIO0/AD0/Commissioning Button Configuration) Sets or displays the DIO0/AD0/CB configuration (Micro pin 31/SMT pin 33/TH pin 20). Digi XBee® 3 Zigbee® RF Module...
  • Page 215: D1 (Ad1/Dio1/Th_Spi_Attn Configuration)

    Digital output, low Digital output, high Default D2 (DIO2/AD2/TH_SPI_CLK Configuration) Sets or displays the DIO2/AD2 configuration (Micro pin 29/SMT pin 31/TH pin 18). Parameter range SMT/MMT: 0, 2 - 5 TH: 0 - 5 Digi XBee® 3 Zigbee® RF Module...
  • Page 216: D3 (Dio3/Ad3/Th_Spi_Ssel Configuration)

    Digital output, low Digital output, high Default D4 (DIO4/TH_SPI_MOSI Configuration) Sets or displays the DIO4 configuration (Micro pin 23/SMT pin 24/TH pin 11). Parameter range SMT/MMT: 0, 3 - 5 TH: 0, 1, 3 - 5 Digi XBee® 3 Zigbee® RF Module...
  • Page 217: D5 (Dio5/Associate Configuration)

    Sets or displays the DIO8/DTR/SLP_RQ configuration (Micro pin 9/SMT pin 10/TH pin 9). Parameter range 0, 1, 3 - 5 Parameter Description Disabled DTR/Sleep Request (used with pin hibernate and cyclic sleep with pin wake) Digital input Digi XBee® 3 Zigbee® RF Module...
  • Page 218: D9 (Dio9/On_Sleep)

    Sets or displays the DIO10/RSSI configuration (Micro pin 7/SMT pin 7/TH pin 6). Parameter range 0 - 5 Parameter Description Disabled RSSI PWM output PWM0 output. M0 (PWM0 Duty Cycle) controls the value. Digital input Digital output, low Digital output, high Default Digi XBee® 3 Zigbee® RF Module...
  • Page 219: P1 (Dio11 Configuration)

    Digital output, low Digital output, high Default P5 (DIO15/SPI_MISO Configuration) Sets or displays the DIO15 configuration (Micro pin 16/SMT pin 17/TH Pin N/A). Note The DIO15 configuration is not available with the XBee 3 through-hole module. Digi XBee® 3 Zigbee® RF Module...
  • Page 220: P6 (Dio16/Spi_Mosi Configuration)

    Sets or displays the DIO17 configuration (Micro pin 14/SMT pin 15/TH Pin N/A). Note The DIO17 configuration is not available with the XBee 3 through-hole module. Parameter range 0, 4, 5 Parameter Description Disabled Digi XBee® 3 Zigbee® RF Module...
  • Page 221: P8 (Dio18/Spi_Clk Configuration)

    Sets or displays the DIO19 configuration (Micro pin 11/SMT pin 12/TH Pin N/A). Note The DIO19 configuration is not available with the XBee 3 through-hole module. Parameter range 0, 4, 5 Parameter Description Disabled SPI_ATTN Digital output, low Digital output, high Digi XBee® 3 Zigbee® RF Module...
  • Page 222: Pr (Pull-Up/Down Resistor Enable)

    Surface-mount pin Through-hole pin DIO4 DIO3 DIO2 DIO1 DIO0 DIO6 DIO8 DIO14 DIO5 DIO9 DIO12 DIO10 DIO11 DIO7 DIO13 DIO15 DIO16 DIO17 DIO18 DIO19 Parameter range Through-hole: 0 - 0xFFFF SMT/MMT: 0 - 0xFFFFF Digi XBee® 3 Zigbee® RF Module...
  • Page 223: Pd (Pull Up/Down Direction)

    3. Apply settings (use CN or AC). The PWM period is 64 µs and there are 0x03FF (1023 decimal) steps within this period. When M1 = 0 (0% PWM), 0x01FF (50% PWM), 0x03FF (100% PWM), and so forth. Digi XBee® 3 Zigbee® RF Module...
  • Page 224: Associate Led Blink Time)

    I/O Samples transmit to the address specified by DH +DL. At least one I/O line must be configured as an input or explicit output for samples to be generated. Parameter range 0, 0x32 - 0xFFFF (ms) Digi XBee® 3 Zigbee® RF Module...
  • Page 225: Ic (Digital Change Detection)

    Through-hole pin DIO0 DIO1 DIO2 DIO3 DIO4 DIO5 DIO6 DIO7 DIO8 DIO9 DIO10 DIO11 DIO12 DIO13 DIO14 Parameter range 0 - 0x7FFF Default AV (Analog Voltage Reference) The analog voltage reference used for A/D sampling. Digi XBee® 3 Zigbee® RF Module...
  • Page 226: Is (Force Sample)

    To include a measurement of the supply voltage when it falls below 2.7 V, set V+ to 2700 = 0xA8A. Parameter range 0 - 0xFFFF (in mV) Default Location commands The following commands are user-defined parameters used to store the physical location of the deployed device. Digi XBee® 3 Zigbee® RF Module...
  • Page 227: Lx (Location X)

    AT commands Diagnostic commands LX (Location X) User-defined GPS latitude coordinates of the node that is displayed on Digi Remote Manager and Network Assistant. Parameter range 0 - 15 ASCII characters Default One ASCII space character (0x20) LY (Location Y) User-defined GPS longitude coordinates of the node that is displayed on Digi Remote Manager and Network Assistant.
  • Page 228: Vh (Bootloader Version)

    Parameter range [read-only] Default %P (Invoke Bootloader) Forces the device to reset into the bootloader menu. This command can only be issued locally. Parameter range Default Digi XBee® 3 Zigbee® RF Module...
  • Page 229: Voltage Supply Monitoring)

    Reads the cyclic redundancy check (CRC) of the current AT command configuration settings to determine if the configuration has changed. After a firmware update this command may return a different value. Parameter range 0 - 0xFFFF [read-only] Default Digi XBee® 3 Zigbee® RF Module...
  • Page 230: Software Reset)

    Once you issue a WR command, do not send any additional characters to the device until after you receive the OK response. Use the WR command sparingly; the device’s flash supports a limited number of write cycles. Parameter range Digi XBee® 3 Zigbee® RF Module...
  • Page 231: Re (Restore Defaults)

    0x17. %F (Set Custom Default) When %F is received, the XBee 3 Zigbee RF Module takes the next command received and applies it to both the current configuration and the custom defaults, so that when defaults are restored with (Restore Defaults) the custom value is used.
  • Page 232: Secure Session Commands

    *S (Secure Session Salt) The Secure Remote Password (SRP) Salt is a 32-bit number used to create an encrypted password for the XBee 3 Zigbee RF Module. The *S command contains the salt value in the salt/verifier pair used for secure session authentication.
  • Page 233 SRP server would be AP = 0, the client would still have to send the Secure Session Control frame - 0x2E via API mode. The server will also not emit any 0x90 or 0x91 frames when this bit is set. Default Digi XBee® 3 Zigbee® RF Module...
  • Page 234: Api Operation

    Data Frame. API serial exchanges API frame format Send ZDO commands with the API Send Zigbee cluster library (ZCL) commands with the API Send Public Profile Commands with the API Digi XBee® 3 Zigbee® RF Module...
  • Page 235: Api Serial Exchanges

    The following image shows the API frame exchange that takes place at the serial interface when sending an AT command request to read or set a device parameter. You can disable the response by setting the frame ID to 0 in the request. Digi XBee® 3 Zigbee® RF Module...
  • Page 236: Transmit And Receive Rf Data

    Source routing The following image shows the API frame exchanges that take place at the serial port when sending a source routed transmission. Digi XBee® 3 Zigbee® RF Module...
  • Page 237: Device Registration

    When operating in API 2, if an unescaped 0x7E byte is observed, it is treated as the start of a new API frame and all data received prior to this delimiter is silently discarded. For more information on using this API mode, see the Escaped Characters and API Mode 2 in the Digi Knowledge base. Digi XBee® 3 Zigbee® RF Module...
  • Page 238 1. Insert a 0x7D. 2. XOR byte 0x13 with 0x20: 13 ⊕ 20 = 33 The following figure shows the resulting frame. Note that the length and checksum are the same as the non-escaped frame. Digi XBee® 3 Zigbee® RF Module...
  • Page 239 2. If the checksum is correct, the last two digits on the far right of the sum equal 0xFF. Example Consider the following sample data packet: 7E 00 08 08 01 4E 49 58 42 45 45 3B Digi XBee® 3 Zigbee® RF Module...
  • Page 240: Send Zdo Commands With The Api

    Subtract 0xC4 from 0xFF and you get 0x3B (0xFF - 0xC4 = 0x3B). 0x3B is the checksum for this data packet. If an API data packet is composed with an incorrect checksum, the XBee 3 Zigbee RF Module will consider the packet invalid and will ignore the data.
  • Page 241 Set to 0xFFFE for broadcast, or if the 16-bit address is unknown. Source endpoint Set to 0x00 for ZDO transmissions (endpoint 0 is the ZDO endpoint). Destination endpoint Set to 0x00 for ZDO transmissions (endpoint 0 is the ZDO endpoint). Digi XBee® 3 Zigbee® RF Module...
  • Page 242: Example

    Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x17 Frame type 0x11 Frame ID 0x01 64-bit destination address MSB 5 0x00 0x00 0x00 0x00 0x00 0x00 0xFF LSB12 0xFF Digi XBee® 3 Zigbee® RF Module...
  • Page 243: Send Zigbee Cluster Library (Zcl) Commands With The Api

    Thermostat (0x0201) Setpoint raise / lower (0x00) Occupancy (0x0002) The ZCL defines a number of profile-wide commands that can be supported on any profile, also known as general commands. These commands include the following. Digi XBee® 3 Zigbee® RF Module...
  • Page 244 Frame type Frame ID Identifies the serial port data frame for the host to correlate with a subsequent transmit status. If set to 0, no transmit status frame will be sent out the serial port. Digi XBee® 3 Zigbee® RF Module...
  • Page 245 All bits must be set to 0. options Data Frame Bitfield that defines the command type and other payload frame control relevant information in the ZCL command. For more header information, see the ZCL specification. Digi XBee® 3 Zigbee® RF Module...
  • Page 246: Example

    Reserved Set to 0. For more information, see the Zigbee Cluster Library specification. Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x19 Frame type 0x11 Frame ID 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 247 MSB 19 0xD1 LSB 20 0x23 Broadcast radius 0x00 Transmit options 0x00 Data payload 0x00 ZCL frame header Frame control Transaction sequence number 24 0x01 Command ID 0x00 ZCL payload Attribute ID 0x03 0x00 Checksum 0xFA Digi XBee® 3 Zigbee® RF Module...
  • Page 248: Send Public Profile Commands With The Api

    The 16-bit address of the destination device (big destination endian byte order). Set to 0xFFFE for broadcast, or if network the 16-bit address is unknown. address Source Set to the source endpoint on the sending device. endpoint (0x41 arbitrarily selected). Digi XBee® 3 Zigbee® RF Module...
  • Page 249 The 4-byte unique identifier. Issuer event payload Note The 4-byte ID is sent in little endian byte order - load (0x78563412). control event The event ID in this example (0x12345678) is data arbitrarily selected. Digi XBee® 3 Zigbee® RF Module...
  • Page 250 Requested cooling set point in 0.01 degrees Celsius. Cooling A value of 0x8000 means the set point field is not temperature used in this event. set point Note The 0x80000 is sent in little endian byte order. Digi XBee® 3 Zigbee® RF Module...
  • Page 251: Example

    Response Reserved Set to 0. For more information, see the Zigbee cluster library specification. Offset Example Frame fields Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x19 Frame type 0x11 Frame ID 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 252 0x13 0xA2 0x00 0x40 0x40 0x12 0x34 16-bit destination 0x56 network address 0x78 Source endpoint 0x41 Destination endpoint 0x42 Cluster ID 0x07 0x01 Profile ID 0x01 0x09 Broadcast radius 0x00 Transmit options 0x00 Digi XBee® 3 Zigbee® RF Module...
  • Page 253 Cooling temperature 0xFF Heating temperature 0xFF offset Cooling temperature set 0x00 point 0x80 Heating temperature set 0x00 point 0x80 Average load adjustment 0x80 percentage Duty cycle 0xFF Duty cycle event control 0x00 Checksum 0x5B Digi XBee® 3 Zigbee® RF Module...
  • Page 254 Route Record Indicator - 0xA1 Register Device Status - 0xA4 Many-to-One Route Request Indicator - 0xA3 BLE Unlock Response frame - 0xAC User Data Relay Output - 0xAD Secure Session Response frame - 0xAE Digi XBee® 3 Zigbee® RF Module...
  • Page 255: At Command Frame - 0X08

    The following example illustrates an AT Command frame where the device's NJ parameter value is queried. Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 Frame type 0x08 Frame ID 0x52 Digi XBee® 3 Zigbee® RF Module...
  • Page 256 Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x06 Frame type 0x08 Frame ID 0x01 AT command 0x42 (B) 0x44 (D) Parameter value (0x04B0 = 1200) 0x04 0xB0 Checksum 0xBC Digi XBee® 3 Zigbee® RF Module...
  • Page 257: At Command - Queue Parameter Value Frame - 0X09

    Note In this example, you could send the parameter as a zero-padded 2-byte or 4-byte value. Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x05 Digi XBee® 3 Zigbee® RF Module...
  • Page 258 AT Command - Queue Parameter Value frame - 0x09 Frame data fields Offset Example Frame type 0x09 Frame ID 0x01 AT command 0x42 (B) 0x44 (D) Parameter value (BD7 = 115200 baud) 0x07 Checksum 0x68 Digi XBee® 3 Zigbee® RF Module...
  • Page 259: Transmit Request Frame - 0X10

    0xFFFE. network address Broadcast Sets the maximum number of hops a broadcast transmission can occur. If radius set to 0, the broadcast radius is set to the maximum hops value. Digi XBee® 3 Zigbee® RF Module...
  • Page 260 0x10 Frame ID 0x01 64-bit destination MSB 5 0x00 address 0x13 0xA2 0x00 0x40 0x0A 0x01 LSB 12 0x27 16-bit destination 0xFF MSB 13 network address 0xFE LSB 14 Broadcast radius 0x00 Options 0x00 Digi XBee® 3 Zigbee® RF Module...
  • Page 261 0x7E 0x00 0x16 0x10 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0xFE 0x00 0x00 0x54 0x78 032 0x43 0x6F 0x6F 0x72 0x64 0xFC Where 0x16 = length (22 bytes excluding checksum). Digi XBee® 3 Zigbee® RF Module...
  • Page 262: Explicit Addressing Command Frame - 0X11

    Reserved 64-bit address for the coordinator = 0x0000000000000000 destination Broadcast = 0x000000000000FFFF Address 16-bit Set to the 16-bit address of the destination device, if known. Set to 0xFFFE if the address is unknown, or if sending a broadcast. destination Network Address Digi XBee® 3 Zigbee® RF Module...
  • Page 263 Cluster ID used in the transmission. Use 0x11 for data transmissions. Profile ID 19-20 Profile ID used in the transmission. 0xC105 is the Digi profile ID that should be used to communicate with XBee modules. Sets the maximum number of hops a broadcast transmission can Broadcast traverse.
  • Page 264 Network Address 0xFE LSB 14 Source endpoint 0xA0 Destination endpoint 0xA1 Cluster ID 0x15 0x54 Profile ID 0xC1 0x05 Broadcast radius 0x00 Transmit options 0x00 Data payload 0x54 0x78 0x44 0x61 0x74 0x61 Checksum 0x3A Digi XBee® 3 Zigbee® RF Module...
  • Page 265: Remote At Command Request Frame - 0X17

    Reserved broadcast address: 0x000000000000FFFF Note Digi highly discourages sending remote AT commands to a broadcast. You will only receive a single acknowledgment despite there being multiple recipients, and there is no assurance that the broadcast will be successfully received by the rest of the network.
  • Page 266 The BH command is being set to 1 on the remote device with the change being applied immediately (equivalent to sending a separate AC command). Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x10 0x17 Frame type Frame ID 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 267 64-bit destination address MSB 5 0x00 0x13 0xA2 0x00 0x40 0x40 0x11 LSB 12 0x22 Reserved 0xFF 0xFE Remote command options 0x02 (apply changes) AT command 0x42 (B) 0x48 (H) Command parameter 0x01 Checksum 0xF5 Digi XBee® 3 Zigbee® RF Module...
  • Page 268: Create Source Route - 0X21

    A route can only traverse across 30 hops. If this number is 0 or exceeds the maximum hop count, the frame is silently discarded and a route will not be created. Address 1 Neighbor of destination Digi XBee® 3 Zigbee® RF Module...
  • Page 269 LSB 2 0x14 0x21 Frame type 0x00 Frame ID MSB 5 0x00 64-bit destination address 0x13 0xA2 0x00 0x40 0x40 0x11 LSB 12 0x22 16-bit destination 0x33 MSB 13 network address 0x44 LSB 14 Digi XBee® 3 Zigbee® RF Module...
  • Page 270: Register Joining Device - 0X24

    Offset Description Frame type 0x24 Register Joining Device Identifies the data frame for the host to correlate with a subsequent Frame ID response. If set to 0, the device does not send a response. Digi XBee® 3 Zigbee® RF Module...
  • Page 271 Frame type 0x24 Frame ID 0x18 MSB 5 64-bit registrant address 0x00 0x13 0xA2 0x00 0x12 0x34 0x56 LSB 12 0x78 Reserved MSB 13 0xFF LSB 14 0xFE 0x00 (Key came from KY) Options Digi XBee® 3 Zigbee® RF Module...
  • Page 272 Frame type 0x24 Frame ID 0x43 MSB 5 64-bit registrant address 0x00 0x13 0xA2 0x00 0x87 0x65 0x43 LSB 12 0x21 Reserved MSB 13 0xFF LSB 14 0xFE 0x01 (Key came from I?) Options Digi XBee® 3 Zigbee® RF Module...
  • Page 273 Removing the key entry will not prevent the module from rejoining the network if it had previously been associated. Frame data fields Offset Example Start delimiter 0x7E MSB 1 0x00 Length LSB 2 0x0D Digi XBee® 3 Zigbee® RF Module...
  • Page 274: Ble Unlock Api Frame - 0X2C

    BLE Unlock API frame - 0x2C Description The XBee 3 Zigbee RF Module uses this frame to authenticate a connection on the Bluetooth interface and unlock the processing of AT command frames. This frame is used in conjunction with the Unlock Response frame - 0xAC.
  • Page 275 If the A value is zero, the server will terminate the connection. Frame data field Offset in frame Length 128 bytes Phase 2 (Server presents B and salt) Frame data field Offset in frame Length salt 4 bytes 128 bytes Digi XBee® 3 Zigbee® RF Module...
  • Page 276: Example Sequence To Perform At Command Xbee Api Frames Over Ble

    The counter for data sent into the XBee API Service is prefixed with the TX nonce value (see the Phase 4 table) and the counter for data sent by the XBee 3 Zigbee RF Module to the client is prefixed with the RX nonce value.
  • Page 277: User Data Relay Frame - 0X2D

    Interface not accepting frames (0x7D): (0x7D): The destination interface is a valid interface, but is not in a state that can accept data. For example, UART not in API mode, BLE does not have a GATT client connected, or buffer queues are full. Digi XBee® 3 Zigbee® RF Module...
  • Page 278: Example Use Cases

    Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x0D Frame type 0x2D Frame ID 0x01 Destination Interface 0x02 Data 0x52 0x65 0x6C 0x61 0x79 0x20 0x44 0x61 0x74 0x61 Checksum 0x38 Digi XBee® 3 Zigbee® RF Module...
  • Page 279: Secure Session Control Frame - 0X2E

    The following table provides the contents of the frame. For details on frame structure, see API frame format. Frame data fields Offset Description Frame 0x2E - Control Frame type 64-bit 4-11 The 64-bit address of the destination device. Broadcast transmissions are not allowed. source address Digi XBee® 3 Zigbee® RF Module...
  • Page 280 Fixed or Inter-packet 1: Inter-packet For fixed interval timeouts, the session terminates after the timeout period has elapsed. An inter-packet timeout is refreshed every time a secure transmission occurs between client and server. Digi XBee® 3 Zigbee® RF Module...
  • Page 281 Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x17 Frame type 0x2E 64-bit destination address MSB 4 0x00 0x00 0x00 0x00 0x00 0x00 0x00 LSB11 0x00 Session Options 0x00 Timeout 0x15 0x54 Digi XBee® 3 Zigbee® RF Module...
  • Page 282 Frame descriptions Secure Session Control frame - 0x2E Frame data fields Offset Example Password 0x50 (P) 0x41 (A) 0x53 (S) 0x53 (S) 0x57 (W) 0x4F (O) 0x52 (R) 0x44 (D) Checksum 0xF8 Digi XBee® 3 Zigbee® RF Module...
  • Page 283: At Command Response Frame - 0X88

    If you change the BD parameter on a local device with a frame ID of 0x01, and the parameter is valid, the user receives the following response. Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x05 Frame type 0x88 Frame ID 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 284 AT Command Response frame - 0x88 Frame data fields Offset Example AT command 0x42 (B) 0x44 (D) Command status 0x00 (success) Command data (No command data implies the parameter was set rather than queried) Checksum 0xF0 Digi XBee® 3 Zigbee® RF Module...
  • Page 285: Modem Status Frame - 0X8A

    Bluetooth connection has been made and API mode has been unlocked, and also when an unlocked connection disconnects. Example When a device powers up, it returns the following API frame. Frame data fields Offset Example Start delimiter 0x7E Digi XBee® 3 Zigbee® RF Module...
  • Page 286 Frame descriptions Modem Status frame - 0x8A Frame data fields Offset Example Length MSB 1 0x00 LSB 2 LSB 2 0x02 Frame type 0x8A 0x00 (Hardware reset) Status Checksum 0x75 Digi XBee® 3 Zigbee® RF Module...
  • Page 287: Transmit Status Frame - 0X8B

    0x2E = Attempted unicast with APS transmission, but EE=0 0x32 = Resource error lack of free buffers, timers, etc. 0x34 = No Secure Session Connection 0x35 = Encryption Failure 0x74 = Data payload too large 0x75 = Indirect message unrequested Digi XBee® 3 Zigbee® RF Module...
  • Page 288: Tx Status Frame - 0X89

    0x11) will send a 0x8B status frame. This message indicates only when there is a failure in the User Data Relay frame. Format The following table provides the contents of the frame. For details on frame structure, see API frame format. Digi XBee® 3 Zigbee® RF Module...
  • Page 289 Example The following example shows a successful status received. Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x03 Frame type 0x89 Frame ID 0x01 Status 0x7D Checksum 0xF8 Digi XBee® 3 Zigbee® RF Module...
  • Page 290: Receive Packet Frame - 0X90

    RxData. If AO = 0 on the receiving device, it sends the following frame out its serial interface. Frame data fields Offset Example Start delimiter 0x7E Digi XBee® 3 Zigbee® RF Module...
  • Page 291 MSB 4 0x00 0x13 0xA2 0x00 0x40 0x52 0x2B LSB 11 0xAA 16-bit source network address 0x7D MSB 12 0x84 LSB 13 Receive options (Acknowledged) Received data 0x52 0x78 0x44 0x61 0x74 0x61 Checksum 0x0D Digi XBee® 3 Zigbee® RF Module...
  • Page 292: Explicit Rx Indicator Frame - 0X91

    Received RF data. Example In the following example, a device with a 64-bit address of 0x0013A200 40522BAA sends a broadcast data transmission to a remote device with payload RxData. If a device sends the transmission: Digi XBee® 3 Zigbee® RF Module...
  • Page 293 0x40 0x52 0x2B LSB 11 0xAA 16-bit Source Network Address 0x7D MSB 12 0x84 LSB 13 Source endpoint 0xE0 Destination endpoint 0xE0 Cluster ID 0x22 0x11 Profile ID 0xC1 0x05 Receive options 0x02 (Broadcast) Digi XBee® 3 Zigbee® RF Module...
  • Page 294 Frame descriptions Explicit Rx Indicator frame - 0x91 Frame data fields Offset Example Received data 0x52 0x78 0x44 0x61 0x74 0x61 Checksum 0x52 Digi XBee® 3 Zigbee® RF Module...
  • Page 295: I/O Data Sample Rx Indicator Frame - 0X92

    12 = DIO12 bit 13 = DIO13 bit 14 = DIO14 bit 15 = N/A For example, a digital channel mask of 0x002F means DIOs 0, 1, 2, 3, and 5 are enabled as digital I/O. Digi XBee® 3 Zigbee® RF Module...
  • Page 296 0x02 = 0010b (AD1 is configured as an analog input) Analog Sample: 0x0225 = 549 = (549 * 1.25) / 1023 = 670 mV Frame fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x14 Frame type 0x92 Digi XBee® 3 Zigbee® RF Module...
  • Page 297 MSB 12 0x7D LSB 13 0x84 Receive options 0x01 Number of samples 0x01 Digital channel mask 0x00 0x1C Analog channel mask 0x02 Digital samples (if included) 0x00 0x14 Analog sample 0x02 0x25 Checksum 0xF5 Digi XBee® 3 Zigbee® RF Module...
  • Page 298: Node Identification Indicator Frame - 0X95

    JN (Join Notification)). 3 = Frame sent after power cycle event occurred (see JN (Join Notification)). Digi Profile ID 31-32 Set to Digi’s application profile ID. Digi 33-34 Set to Digi’s Manufacturer ID. Manufacturer Digi XBee® 3 Zigbee® RF Module...
  • Page 299 0x95 64-bit source address MSB 4 0x00 0x13 0xA2 0x00 0x40 0x52 0x2B LSB 11 0xAA 16-bit source 0x7D MSB 12 network address 0x84 LSB 13 Receive options 0x02 Source 16-bit address 0x7D 0x84 Digi XBee® 3 Zigbee® RF Module...
  • Page 300 0x13 0xA2 0x00 0x40 0x52 0x2B 0xAA NI string 0x20 0x00 Parent 16-bit address 0xFF 0xFE Device type 0x01 Source event 0x01 Digi Profile ID 0xC1 0x05 Digi Manufacturer ID 0x10 0x1E Checksum 0x1B Digi XBee® 3 Zigbee® RF Module...
  • Page 301: Remote Command Response Frame - 0X97

    If a device sends a remote command 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 following example. Frame data fields Offset Example Start delimiter 0x7E Digi XBee® 3 Zigbee® RF Module...
  • Page 302 0x13 0xA2 0x00 0x40 0x52 0x2B LSB 12 0xAA 16-bit source (remote) address MSB 13 0x7D LSB 14 0x84 AT commands 0x53 0x4C Command status 0x00 Command data 0x40 0x52 0x2B 0xAA Checksum 0xF4 Digi XBee® 3 Zigbee® RF Module...
  • Page 303: Extended Modem Status Frame - 0X98

    7E 00 0C 98 00 00 00 00 00 00 00 00 00 15 54 97 Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x0C Frame type 0x0x98 Digi XBee® 3 Zigbee® RF Module...
  • Page 304 0x02 - Received a transmission with an invalid encryption counter 0x03 - Encryption counter overflow - the maximum number of transmissions for a single session has been reached 0x04 - Remote node out of memory Digi XBee® 3 Zigbee® RF Module...
  • Page 305 A Secure Session Address Address of the client node. authentication attempt failed Error (1) Error that caused the authentication to fail. See Secure Session Response frame - 0xAE for a list of error statuses. Digi XBee® 3 Zigbee® RF Module...
  • Page 306: Verbose Join Status Code Descriptions

    Verbose Join status code descriptions The following table describes the various Verbose Join trace messages in Status Code order. The Transparent mode string column shows the string which appears if you run Verbose Join in Command mode. The Description column gives a more detailed explanation of each particular message. When a message accompanies Status Data, the Status Data column shows how to parse the hexadecimal string into fields.
  • Page 307 Status Transparent code mode string Description Status data Description 0x02 Joining An association request is being made. radioChannel channel number ranging from 11 to 26 (0x0B to 0x1A) radioTxPower low level signed byte value for transmit power, values range from 0xC9 to 0x05 inclusive panid(2) 16 bit 4med' a network, or a Router/End Device has 'joined' a network.
  • Page 308 Status Transparent code mode string Description Status data Description Reject ID Not an association candidate because 0x06 configured pan ID does not match that given in the beacon response. Reject NJ 0x07 Not an association candidate because it is not allowing joins.
  • Page 309 Status Transparent code mode string Description Status data Description 0x0F Join Request High level request for a form/join. 0x10 Reject LQI Reject because LQI is worse than an already lqi(1) link quality indicator saved beacon 0x11 Reject RSSI Rejected because RSSI is worse than an rssi(1) relative signal strength indicator already saved beacon...
  • Page 310 Status Transparent code mode string Description Status data Description 0x20 FormNetwork Forming a network radioChannel channel number ranging form 11 to 26 - parameters radioTxPower low level radio transmit power setting panid(2) 16 bit PAN identifier for network extendedpanid 64 bit PAN identifier for network Discovering 0x21 Looking for Key Establishment Endpoint...
  • Page 311 V Scanning:03FFF800 ...Channels 11 through 25 are enabled by the SC setting for the Active Search. V Beacon Rsp:0000000000000042A6010B949AC8FF ...ZS(0), extendedPanId(00000000000042A6), allowingJoin(1), radiochannel(0x0B), panid(949A), rssi(C8), lqi(FF) V Reject ID ...beacon response's extendedPanId does not match this radio's ID setting of 3151 V Beacon Rsp:0200000000000002AB010C55D2B2DB ...ZS(2), extendedPanId(00000000000002AB), allowingJoin(1), radiochannel(0x0C), panid(55D2), rssi(B2), lqi(DB) V Reject ZS...
  • Page 312: Route Record Indicator - 0Xa1

    A < B < C < D < E In this frame, the following route information is provided: Device E 64-bit address: 0x0013A200 40401122 Device E 16-bit address: 0x3344 Device D 16-bit address: 0xEEFF Digi XBee® 3 Zigbee® RF Module...
  • Page 313: Register Device Status - 0Xa4

    Register Device Status - 0xA4 Description This frame is sent out of the UART of the trust center as a response to a 0x24 Register Device frame, indicating whether the registration was successful or not. Digi XBee® 3 Zigbee® RF Module...
  • Page 314 Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x03 Frame type 0xA4 Frame ID 0x53 Status 0x00 (Success) Checksum 0x08 Digi XBee® 3 Zigbee® RF Module...
  • Page 315: Many-To-One Route Request Indicator - 0Xa3

    All remote routers operating in API mode that receive the many-to-one broadcast send the following example API frame out their serial port. Frame data fields Offset Example Start delimiter 0x7E Length MSB 1 0x00 LSB 2 0x0C Frame type 0xA3 Digi XBee® 3 Zigbee® RF Module...
  • Page 316: Ble Unlock Response Frame - 0Xac

    0xF4 BLE Unlock Response frame - 0xAC Description The XBee 3 Zigbee RF Module uses BLE Unlock API frame - 0x2C to authenticate a connection on the Bluetooth interface and unlock the processing of AT command frames. This frame is used in conjunction with the Response (0xAC) frame.
  • Page 317: Example

    Secure Session Response frame - 0xAE Description This frame is output as a result of the Secure Session Control frame - 0x2E attempt. It indicates whether the 0x2E frame operation was successful or not. Digi XBee® 3 Zigbee® RF Module...
  • Page 318 0x81 - Received an SRP packet we were not expecting 0x82 - Offset for a split value (A/B) came out of order 0x83 - Unrecognized or invalid SRP frame type 0x84 - Authentication protocol version is not supported 0xFF - An undefined error occurred Digi XBee® 3 Zigbee® RF Module...
  • Page 319 ZCL OTA messaging Image Notify Create the Image Notify request Query Next Image request Query Next Image response Image Block request Image Block response Upgrade End request Upgrade End response ZCL OTA cluster status codes Digi XBee® 3 Zigbee® RF Module...
  • Page 320: Over-The-Air Firmware/File System Upgrade Process For Zigbee 3.0

    The .ota file extension represents a file which contains a FOTA upgrade image. The .otb file extension represents a file which contains a FOTA combined upgrade image containing both the bootloader and the firmware. However, the way the XBee 3 Zigbee RF Module processes both the files remain the same.
  • Page 321: Parse The Image Blocks

    If the new image is deemed invalid, the running Zigbee firmware rejects the image and continues operating with the current, valid application. ZCL OTA messaging The following figure provides the messaging sequence between the Server (updater node) and the Client (target node). Digi XBee® 3 Zigbee® RF Module...
  • Page 322: Image Notify

    The Image Notify message is sent when the upgrade process is initiated from the server. Create the Image Notify request The Image Notify Request is an explicit transmit frame (0x11 type) passed into the server with the following information: Digi XBee® 3 Zigbee® RF Module...
  • Page 323 MSB 5 0x00 0x13 0xA2 0xFE 0x00 0x00 0x00 0x03 16-bit destination address 0x28 0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Broadcast radius 0x00 Transmit options 0x00 Digi XBee® 3 Zigbee® RF Module...
  • Page 324: Query Next Image Request

    Payload type 0x03 Contains Jitter, Image Type, Firmware Version Query  jitter 0x00 Manufacturer 0x1E Digi's Manufacturer ID in Little Endian  0x10 Image type 0x00 0x0000 - OTA/OTB file 0x0100 - OTA file system image 0x00 Firmware 0x01 Firmware version of the new update file in version Little Endian.
  • Page 325 16-bit source address 0x28 LSB  0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Receive options 0x01 Data ZCL frame Frame control 0x01 payload header Transaction sequence 0x00 number Digi XBee® 3 Zigbee® RF Module...
  • Page 326: Query Next Image Response

    0x7E - NOT_AUTHORIZED: The server is not authorized to update the client. Frame data fields Offset Example Comments Start delimiter 0x7E Length MSB 1 0x00 LSB   2 0x24 Frame Type 0x11 Frame ID 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 327 0x13 0xA2 0xFE 0x00 0x00 0x00 LSB  0x03 16-bit destination address 0x28 LSB  0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Broadcast radius 0x00 Transmit options 0x00 Digi XBee® 3 Zigbee® RF Module...
  • Page 328: Image Block Request

    The size of the FOTA upgrade image is usually obtained by the client in the Query Next Image response message and hence it knows the exact number of Image Block requests it needs to send. Digi XBee® 3 Zigbee® RF Module...
  • Page 329 MSB 4 0x00 0x13 0xA2 0xFE 0x00 0x00 0x00 LSB  0x03 16-bit source address 0x28 LSB  0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Receive options 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 330: Image Block Response

    SUCCESS status on being able to retrieve the data for the client. The server uses the file offset sent by the client to determine the location of the requested data within the OTA upgrade image. If you wish to cancel the update process, send an ABORT (0x95) status. Digi XBee® 3 Zigbee® RF Module...
  • Page 331 0x13 0xA2 0xFE 0x00 0x00 0x00 LSB  0x03 16-bit destination address 0x28 LSB  0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Broadcast radius 0x00 Transmit options 0x00 Digi XBee® 3 Zigbee® RF Module...
  • Page 332 Data payload payload 0x40 64 byte blocks Data Image Block Size payload payload 0xEB- Data Image Block Data An image block of the size 0x00 payload payload mentioned in Image Block Size 0x4E Checksum Digi XBee® 3 Zigbee® RF Module...
  • Page 333: Upgrade End Request

    MSB 4 0x00 0x13 0xA2 0xFE 0x00 0x00 0x00 LSB  0x03 16-bit source address 0x28 LSB  0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Receive options 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 334: Upgrade End Response

    Frame data fields Offset Example Comments Start delimiter 0x7E Length MSB 1 0x00 LSB   2 0x24 Frame Type 0x11 Frame ID 0x01 Digi XBee® 3 Zigbee® RF Module...
  • Page 335 0x13 0xA2 0xFE 0x00 0x00 0x00 LSB  0x03 16-bit destination address 0x28 LSB  0x2F Source Endpoint 0xE8 Destination Endpoint 0xE8 Cluster ID 0x00 0x19 Profile ID 0xC1 0x05 Broadcast radius 0x00 Transmit options 0x00 Digi XBee® 3 Zigbee® RF Module...
  • Page 336 LSB38 0x00 0x1B 0x53 0x21 Checksum 0xE5 Note We use only Image Block requests / responses and not an Image Page Request, which is specified as an optional message type in the ZCL OTA specification. Digi XBee® 3 Zigbee® RF Module...
  • Page 337: Zcl Ota Cluster Status Codes

    Command ID for Default Response commands ZCL OTA Command 0x00 The Command ID for which the client is sending the status Status 0x00 ZCL error status We expect to encounter the following error cases: Digi XBee® 3 Zigbee® RF Module...
  • Page 338 ZCL OTA command Status Error message 0x06 0x94 Client Timed Out Upgrade End Request 0x96 Invalid OTA Image 0x95 Client Aborted Upgrade 0x05 Storage Erase Failed 0x87 Contact Tech Support (Highly unlikely to occur) Digi XBee® 3 Zigbee® RF Module...
  • Page 339: Ota File System Upgrades

    This section contains information on how to update the file system of remote devices over the air. OTA file system update process OTA file system updates using XCTU OTA file system updates: OEM Digi XBee® 3 Zigbee® RF Module...
  • Page 340: Ota File System Update Process

    OTA file system updates. Note You cannot set FK remotely. You must either set FK before the XBee 3 Zigbee RF Module is deployed, or else serial access to the device is needed to set it. To perform an OTA file system update: 1.
  • Page 341: Set The Public Key On The Xbee 3 Device

    Set the public key on the XBee 3 device 1. Open the configuration view of the target device in XCTU and go to the File System category. 2. In the File System Public Key row, click Configure. Digi XBee® 3 Zigbee® RF Module...
  • Page 342: Create The Ota File System Image

    5. Once the path shows up on the Private Key file field, click Save to assign the .fs.ota an appropriate file name and location. 6. Save the file. You will be prompted with a File system image successfully saved dialog box if the file was successfully generated. Digi XBee® 3 Zigbee® RF Module...
  • Page 343: Perform The Ota File System Update

    3. Click the down arrow next to the Update button and choose Update File System. 4. Choose the OTA file system image (.fs.ota) that the target node needs to be updated to. 5. Click Open. Digi XBee® 3 Zigbee® RF Module...
  • Page 344: Ota File System Updates: Oem

    OTA file system updates: OEM Use the following steps to perform a file system update OTA using OEM tools: Generate a public/private key pair Set the public key on the XBee 3 device Digi XBee® 3 Zigbee® RF Module...
  • Page 345: Generate A Public/Private Key Pair

    These instructions show how to do so using OpenSSL. To create an OTA file system image, use the following steps. Create a staged file system In order to create a usable file system image, first create a 'staged' copy of the file system you want to send on a local device. Digi XBee® 3 Zigbee® RF Module...
  • Page 346: Perform The Ota File System Update

    Perform the OTA file system update The process for performing an OTA file system update is the same as the process for performing a FOTA upgrade, as described in Over-the-air firmware/file system upgrade process for Zigbee 3.0. Note Digi XBee® 3 Zigbee® RF Module...
  • Page 347 OTA file system upgrades OTA file system updates: OEM that the data that goes in the image blocks starts at the beginning of the image data, after the OTA header and sub-element tag. Digi XBee® 3 Zigbee® RF Module...

Table of Contents