The EFR32MG12 and later devices (MG13, MG14) list EM2 sleep current in the datasheet with voltage scaling enabled. However, the default energy mode configuration for EM2 is voltage scaling disabled. To enable voltage scaling, select the "DefaultMode Peripherals" tab of the hwconf file and click on the EMU peripheral.
In the properties window, change the property "EM2/3 voltage scaling level" from "Fast wake-up" to "Low power".
Click the Save icon and then Generate and Build your project.
Note: A feature request has been logged to enable voltage scaling in EM2 mode for sleepy device types selected in AppBuilder.
The End Device Timeout Request command is sent by an end device to informing its parent of its timeout requirements when joining/rejoining to the network.This allows the parent the ability to delete the child entry from the child table if the child has not communicated with the parent in end device poll timeout.The valid values for the requested timeout will be an enumerated type between 0 and 14. This will be converted to an actual timeout value according to Table below(For more details please refer to zigbee Specification Revision 22).
Historically, the stack did end device timeouts based on EMBER_END_DEVICE_POLL_TIMEOUT and EMBER_END_DEVICE_POLL_TIMEOUT_SHIFT, because the Zigbee standard didn't have child aging. R21 added standard child aging based on an NETWORK_TIMEOUT_REQUEST command. The timeout request allows choosing from an enumerated list of times.
Q: What is Zigbee?
A: Please check out the introduction at Zigbee Alliance website: http://www.zigbee.org/what-is-zigbee/
Q: What is EmberZNet?
A: EmberZNet is the implementation of Zigbee by Silicon Labs. It consists of the core Zigbee stack, Zigbee Cluster Library support, and an Application Framework. With the aid of AppBuilder in Simplicity Studio, you can easily create a Zigbee application that you can run on one of our development kit.
Q: How do I download the stack?
A: Please refer to this KBA on access to Silicon Labs wireless mesh networking stacks.
Once you have obtained stack access privilege, run software update in Simplicity Studio while you are logged in, and you can download the stack under the SDKs tab.
Q: Is EmberZNet free to use?
A: Yes, provided that you have first obtained stack access privilege through one of our qualifying development kits, as explained by the KBA mentioned above.
Q: How do I make a coordinator and/or router?
A: The easiest is to start with our Z3Gateway and Z3Light sample apps. To gain deeper understanding of Zigbee, check out our extensive user guides and online training content.
Q: How do I create and/or join a Zigbee network?
Q: What is a bootloader and do I need one?
A: Please refer to UG103.6. Usually, if you need in-the-field upgradeablitly, then you will need a bootloader.
Q: Are chips preloaded with a bootloader?
A: Unless you obtained the IC from a third-party vendor who has programmed a bootloader on it, you can assume it isn't preloaded with a bootloader.
Q: How do I customize a sample app to make it my own?
A: Most easily through custom callbacks. You can also extend AppBuilder by adding your own custom clusters and plugins. Under our online training content, see the module on "Extending App Builder: Customizing ZCL".
Q: What is a callback?
A: You can find an explanation of a callback in any computer programming reference. But simply put, in the context of EmberZNet and our App Framework, a callback provides an opportunity to insert any executable code under specific conditions, for example, when the stack initializes or when the stack status changes, etc.
Q: What is the best way to quickly get familiar with the app framework and the stack?
A: The best way is to start with our development kits, sample applications, and quick start guide. If you are proficient with software development and/or embedded programming, but have no or minimal experience in wireless protocol stack and haven't used Simplicity Studio before, you may expect a few hours to a day's time to play with your new dev kit and set up your first Zigbee network. After that, you can explore our online training content, Knowledge Base, and documentation under your EmberZNet installation, to continue to gain further knowledge. Please also visit our community forum to connect with fellow developers and ask questions.
Q: What is the difference between customizable network coprocessor(NCP) Applications and ZCL Application Framework V2? When to use which?
A: If you intend to make a customizable NCP application for your NCP+Host architecuture, please choose customizable network coprocessor(NCP) Applications when you start to create the new project. If you intend to make a host application, or SoC application, please choose ZCL Application Framework V2 when you start to create the new project. For the difference between NCP and SoC, please refer to "Design Choices" in UG103.3.
This KBA deals with getting access to the wireless mesh stacks. If you are looking for information on downloading the stacks, go here.
Silicon Labs is the vendor of choice for OEMs developing Zigbee and Thread networking into their products by providing reliable, low-power, secure, and scalable networking solution for connecting Things to the IoT. The Silicon Labs EmberZNet platform is the most integrated, complete and feature rich Zigbee solution available. While the Silicon Labs Thread platform is a proven IPv6-based mesh networking protocol. Both solutions help accelerate time to market with the most reliable, scalable and advanced Zigbee and Thread software, supported by best-in-class development tools.
Requirements for Stack Access
Access to our wireless mesh stacks requires the purchase of one of our full mesh networking development kits (such as the EFR32 Mighty Gecko Wireless Starter Kit, the EM35x Mesh Networking Development Kit or the Samsung ARTIK 030 Development Kit) or being a contract manufacturer for an existing customer (contact your FAE for these requests).
This does not include non-mesh wireless development kits, like the Flex Gecko or Blue Gecko kits. And unfortunately at this time, the Thunderboards (React, Sense and Sense 2), ETRX Development Kits and the Connected Home Reference Designs do not grant access to our stacks.
It is important for customers to have one of Silicon Labs development kits as they provide a complete mesh networking platform environment to develop and deploy successful ZigBee and Thread applications. With multiple nodes you can develop a complete mesh network and the WSTK development boards provide a full JTAG debugging and programming solution.
Unlocking stack access
First locate your development kit software serial number. The location of the serial number depends on your development kit:
Once you have located the serial number, you can register you kit in one of two ways:
1. In the support portal
Log in to your portal account and register your software serial number at: https://siliconlabs.force.com/KitRegistration
2. In Simplicity Studio
Download and install Simplicity Studio v4.
From the launcher view, the Sign In menu includes a Kit Registration option. Fill in your portal registration information along with your kit serial number.
Downloading the Stacks
Once you have registered your kit, the stacks will be instantly available to you. See this KBA for information on downloading them.
Silicon Labs provides pre-built NCP images and sample NCP applications for different use cases in the stack. The customer has the option either use one of the pre-built NCP images or use sample NCP applications or a blank NCP application to build customised NCP application.
The below resopurces provide good information before continue with generating Smart Energy customized NCP image.
The AN1010 application note provides detailed guide about building a customised NCP appliocation.
You can find this here:
Another useful application note is AN714, this guide provides information about smart energy ECC-enabled device setup process.
You can find this here:
The KBA at below link provides information about the ECC libraries and adding them to the stack.
Although the customer cannot generate exactly NCP binary as pre-built, however if they use one of NCP sample applications and make below changes then they can generate a NCP image functionaly similar to pr-built NCP image.
The steps to generate smart energy NCP image similar to pre-built smart energy NCP image:
(1) Start a new customised NCP project based on one of sample NCP applications. You may select 'xncp-commshub-uart-dual' sample NCP application for ComsHub and 'ncp-uart-hw' for end device depending on your needs.
(2) Select the following plugins and do not change any other already selected plugins.
XNCP Stub Library
Zigbee PRO Stack Library
Zigbee Light Link Stub Library
Zigbee PRO Core Security Library
Security Link Keys Library
End Device Bind Library
Binding Table Library
ECC 163k1 Library
ECC 283k1 Library
CBKE Core Library
CBKE 163k Library
CBKE 283k Library
Install Code Library
CBKE DSA Verify Library
CBKE DSA Sign Stub Library
CBKE 283k DSA Verify Library
Packet Validate Library
Multi-Network Stub Library
GreenPower Stack Stub Library
Concentrator Support Library
(3) Select Zigbee PRO Stack Library plugin and set Child Table Size to 32. The other settings selected by sample NCP application are ok.
(4) Generate and build the project.
In our recent change to a new Community platform, some of our best KBAs were migrated but haven't been indexed for search. Until this occurs, we're collecting some of our most useful KBAs here to make them easily available and searchable by title:
Migrating to the new HAL Config file format for EFR32 (ZNet 5.10, Thread 2.3)
The attached document is a docx reference for the October release of the 6.0 ZNet Beta and the subsequent GA release of the 6.0 ZNet stack and the 2.4 Thread stack. If you do not have Microsoft Word, you can download the original .html reference in a .zip archive.
The stacks have a new Hardware Configurator which generates the #defines as seen in this document into the [part].hwconfig file and the config file for the particular stack, like hal-config.file or bootloader-configuration.h.
For anyone not using the HWConf or having unexpected outputs in the Beta release, this reference document provides the defines, values and dependencies for the hardware, clock and peripheral options.
For more context on these defines, this is an extension of the new HAL structure begun in the June 2017 release and described here:
The new defines are more uniformly named and implemented, but the system is very similar. If you have implemented the June 2017 version, it should be easy to see what the new defines and values are.
Any EFR32 can be easily turned into a Zigbee or Thread sniffer device using the Railtest sample application included in the free Flex SDK.
In order to do this follow the steps below:
Here are some steps you can follow to build an EZSP-UART host application with an EFR32MG1 or EFR32MG12 device (on our dev kit) running a pre-built NCP-UART image of the latest EmberZNet stack, which is v22.214.171.124 at the time of this article.
1. Create a new Silicon Labs AppBuilder Project in Simplicity Studio v4 of type "ZCL Application Framework V2", and choose the host (as apposed to SoC) flavor of the latest EmberZNet stack.
2. Choose a sample application, such as Z3Gateway.choose "Noon(compatible)" in Part tab. and click "Finish"
3. Generage the project without any modification.
4. Build the host application.
Building the Host application can be done on a Linux system(this sample built on Cygwin) and requires a number of development tools. We assume you have access to these tools. They are as follows:
• The standard C Library and its development headers
• The Readline Library and its development headers
• The Ncurses Library and its development headers
. Run "make" on the generated Makefile from the directory<\SiliconLabs\SimplicityStudio\v4_4\developer\sdks\gecko_sdk_suite\v2.0\app\builder\Z3GatewayHost> and the compilation should complete successfully.
5.Running the Host application
The USB port is either COM1, COM2, COM3, and so on. The following example uses COM19.
a. Launch a Cygwin Shell.
b. Navigate to the directory where the project is located, for example:cd /cygdrive/c/SiliconLabs/SimplicityStudio/v4_4/developer/sdks/gecko_sdk_suite/v2.0/app/builder/Z3GatewayHost/build/exe
c. Type the command: ./Z3GatewayHost.exe -n 0 -p COM19
Someone may encounter the ezspForceReset error during launching the host application, here is a KBA can help to debug this issue. https://www.silabs.com/community/wireless/zigbee-and-thread/knowledge-base.entry.html/2018/09/29/how_to_debug_theezs-JKzc