nRF5 SDK for Thread and Zigbee v2.0.0
Introduction

The nRF5 Software Development Kit for Thread and Zigbee helps you when developing products for these protocols with Nordic Semiconductor's advanced nRF52840 System on Chip (SoC).

Both the Zigbee stack and the Thread stack and examples are production level.

Release Notes:

nRF5 SDK for Thread and Zigbee v2.0.0
---------------------------
Release Date: Week 39, 2018

This release is the production-ready release of the Thread features available on the nRF52840 chip.
The nRF52840 running the OpenThread stack is Thread 1.1 Certified (https://www.threadgroup.org/What-is-Thread#certifiedproducts).

This release is the production-ready release of the Zigbee features available on the nRF52840 chip.
The nRF52840 running the Zigbee stack conforms to Zigbee PRO R21 + Green Power Proxy specifications. The Zigbee stack provided by the release has been successfully tested in Zigbee Alliance Authorized Test Laboratory and has received formal approval from Zigbee Alliance as a Zigbee Compliant Platform. 
The Nordic Zigbee software solution released as part of nRF5 SDK for Thread and Zigbee incorporates the Base Device Behavior 
specification and the latest of the ZCL specification (ver. 7). This enables to build, certify, and ship commercial Zigbee 3.0 Certified Products. 

Software components and application examples for MDK, peripherals, BLE, and NFC
have been inherited from nRF5 SDK v15.2.0. Minor changes to the SDK v15.2.0 are
summarized in the following section.

*** Changes to nRF5 SDK v15.2.0
********************************

- Introduced a new option FDS_VIRTUAL_PAGES_RESERVED to the FDS module to prevent overwriting of persistent data.
- Modified nrf_drv_power driver to prevent double initialization.
- Fixes in the background DFU module.

****** Multiprotocol limitations ******
- Interrupts with IRQ priority 2 and 3 must not be used for multiprotocol examples.
- Limitations of simultaneous operation of the SoftDevice frontend and the 802.15.4 frontend:
	- Do not use the PPI channels reserved by the SoftDevice (17, 18, 19).
	- The SoftDevice and the 802.15.4 driver must use separate sets of PPI channels, for example (1, 2) and (3, 4).
	- The SoftDevice and the 802.15.4 driver must use separate sets of GPIOTE channels, for example 4 and (6, 7).

****** Thread ******

The Thread examples in this SDK are built on top of the OpenThread stack: https://github.com/openthread/openthread.

*** New features
*****************

- Added new examples presenting multiprotocol BLE Scanner and Thread Sleepy End Devices.
- Added new features to the benchmark example: BLE connection and data exchange, and 802.15.4 CSL wake-up sequence simulator.
- Added a new PCA10059 (nRF52840 USB dongle) variant to CLI and NCP examples.

*** Changes
*****************

- Updated pre-built OpenThread libraries for all supported toolchains.
- Updated the Thread Border Router project based on OpenThread's border router project to support the updated OpenThread libraries.
- Updated nRF Thread Topology Monitor with new features, such as:
   - Improved management of serial port, for example adding support for PCA10059.
   - Added indication about number of nodes in the network and TTM node.
   - Added more options for polling time.

*** Limitations
*****************
- Thread initialization must be done outside of the FreeRTOS thread, that is before the FreeRTOS thread is created.

*** Known issues:
*****************
- Nordic OpenThread Border Router occasionally fails to initialize the access point service. Currently,
  a reboot is required in such situations.
- In order to use Ethernet connection on Nordic OpenThread Border Router, the Ethernet cable must be plugged in prior to boot.
- Download and Debug procedure fails under IAR Embedded Workbench with Thread/BLE Dynamic MTD CoAP Client and
  Bluetooth Low Energy Nordic UART Service (NUS) example. To resolve this issue, flash the firmware using nrfjprog directly,
  or proceed as follows:
    - Right-click the project name -> Options -> Linker -> Output -> uncheck "Include debug information in output".
    - Make the project (F7) and repeat the Download and Debug procedure.

*** Compatible tools:
*****************
- nrfutil-4.0.0 (available from https://github.com/NordicSemiconductor/pc-nrfutil)
- nRF Thread Topology Monitor (nRF TTM) v0.12.0-1.alpha
- RaspPi_OT_Border_Router_Demo_v2.0.0-1.alpha.img

These tools are available from https://www.nordicsemi.com/thread#Downloads and https://www.nordicsemi.com/eng/Products/nRF-Thread-Topology-monitor#Downloads

The following OpenThread commit has been used to generate pre-built Thread stack libraries, and for testing and verification:
- https://github.com/openthread/openthread/tree/704511c (with revert of 136a444)

The following nRF IEEE 802.15.4 radio driver has been included in pre-built Thread stack libraries, and used for testing
and verification:
- https://github.com/NordicSemiconductor/nRF-IEEE-802.15.4-radio-driver/tree/68a54db (v1.2.1)

The following wpantund and Border Router commits have been used as part of the
Nordic OpenThread Border Router solution, and for testing and verification:
-	https://github.com/openthread/wpantund/tree/2635e667202577499e04880ed450aae425c72ead
-	https://github.com/openthread/borderrouter/tree/3fd00c00f75c9e7e52f8ced54ddfc7b5fb398b6b

*** Certification
*****************

The OpenThread stack has been officially certified on nRF52840 as Thread Group Certified Component.

The included stack was internally tested using Thread V1.1 Test Harness 1.3.2 R48 and the complete Thread Test Bed.

The DUT device has been tested in the following combinations:

- PCA10056 v1.0.0 - GCC libraries
- PCA10056 v1.0.0 - IAR libraries

All 150 out of 150 tests passed.

The test Router_9_2_10 occasionally fails due to the incorrect test case definition in Thread V1.1 Test Harness 1.3.2 software.
In step 7, the test case checks if unicast MLE Data Response sent to SED includes non-stable data. This problem is being processed
by Thread Group: https://threadgroup.atlassian.net/browse/TSTBED-96. As a workaround, the incorrect step was removed as suggested.

Due to Thread Harness issue and non-compliant implementation of Golden Devices in the Thread Test Bed,
several certification tests fail (https://threadgroup.atlassian.net/browse/TESTPLAN-380) with the default topology config file.
For seven test cases, 5.6.4, 5.6.6, 5.6.9, 7.1.3, 7.1.5, 9.2.6, 9.2.18, an OpenThread device is used as a SED Golden Device.
The modified topology config is available in the release zip. Thread Authorized Test Laboratories
also use OpenThread devices as SED devices in those test cases. The modified topology configuration is available
in the directory \external\openthread\thread_harness\config. This modification is acceptable by Thread Authorized Test
Laboratories until Thread Harness and Golden Device vendors fix the non-compliance issue.

*** Environment
***************

The following toolchains have been used for testing and verification of the examples:
- GCC: GCC ARM Embedded 6.3 2017-q2-update
- IAR: IAR Workbench 7.80.4
- SES: SES 3.40
- ARM: MDK-ARM version 5.18a
- J-Link: 6.34f

Supported SoftDevices for multiprotocol support:
- S140 v6.0.0
- S140 v6.1.0

Supported boards:
- PCA10056 (from version 1.0.0)
- PCA10059


****** Zigbee ******
This release is the first production-ready release of the Zigbee features available on the nRF52840 chip.

*** New features
*****************
- Pre-built Zigbee 3.0 certified (pending formal aproval) stack provided as a library.
- Support for Keil and SES compilers. 
- Support for Zigbee Sleepy End Device role and a light switch example presenting the role.
- Support for Zigbee 3.0 Green Power Proxy feature.
- Support for dynamic memory configuration of the stack.
- Zigbee/Bluetooth LE multiprotocol examples:
  - an example of a Zigbee Sleepy End Device, acting as a BLE Central at the same time.
  - dynamic multiprotocol example template.
- Extended benchmark example with support for Zigbee.
- A Command Line Interface (CLI) example with a support for a subset of the Zigbee stack functionality.
- Added a new PCA10059 (nRF52840 USB dongle) variant to CLI, Zigbee light bulb, Zigbee light bulb + BLE Eddystone beacon, Zigbee Coordinator examples.
- An experimental Zigbee Over-the-Air Device Firmware Update (OTA DFU) example consisting of:
	- Zigbee 3.0/Bluetooth 5.0 multiprotocol Zigbee OTA Upgrade Server which disseminates Zigbee images received over Bluetooth Low Energy,
	- Zigbee OTA Upgrade Client which uses Secure DFU.

*** Changes
*****************
- Updated Zigbee stack pre-built libraries.
- Removed support for touchlink commissioning and associated examples.
- Examples have been power optimized.

*** Limitations
*****************

*** Known issues:
*****************
- Multiprotocol devices: Match Descriptor Response message might not be propagated to the application layer.
- Bluetooth Low Energy Central/Zigbee Sleepy End Device example: Long press of BSP_BUTTON_0 and BSP_BUTTON_1 might be ignored.
- Bluetooth Low Energy Central/Zigbee OTA Server: Self-upgrade might be unsuccessful. Bluetooth Low Energy connection is right after the DFU transfer.
- Bluetooth Low Energy Central/Zigbee OTA Server: Image transfer from iOS requires increasing NRF_FSTORAGE_SD_QUEUE_SIZE to 205.

*** Compatible tools:
*****************
- nrfutil-4.0.0 (available from https://github.com/NordicSemiconductor/pc-nrfutil)
- production config generator tool (available in the SDK package)


The following nRF IEEE 802.15.4 radio driver has been included in the pre-built Zigbee stack libraries, and used for testing
and verification:
- https://github.com/NordicSemiconductor/nRF-IEEE-802.15.4-radio-driver/tree/68a54db (v1.2.1)

*** Environment
***************

The following toolchains have been used for testing and verification of the examples:
- GCC: GCC ARM Embedded 6.3 2017-q2-update
- IAR: IAR Workbench 7.80.4
- SES: SES 3.40
- ARM: MDK-ARM version 5.18a
- J-Link: 6.34f

Supported SoftDevices for multiprotocol support:
- S140 v6.0.0
- S140 v6.1.0

Supported boards:
- PCA10056 (from version 1.0.0)
- PCA10059

Documentation feedback | Developer Zone | Subscribe | Updated