My work at MMB Networks over the past 7 years has exposed me to countless engineers and Product Managers that are completely new to Zigbee. I have had the pleasure of working with customers ranging from major consumer brands to innovative startups on projects in markets including Smart Energy, Residential, Commercial/Industrial, Solar, Agriculture, and others. Usually, MMB's customers are already sold on the interoperability benefits of Zigbee and they are simply looking for the fastest possible way to bring a high-quality solution to market. As Zigbee - and the IoT in general - continues to enjoy a steady increase in popularity, it will be ever more important to understand how it can be used to enable new use cases and enhance your products. So let's take a high-level look at the key considerations and pieces of information that will help you get on your way.
Getting Started - Identify Your Interoperability Targets
We always like to kick off the requirements gathering activities with a discussion about interoperability targets: third-party devices or ecosystems that you would like your product to communicate with. The Zigbee Alliance maintains a public list of Zigbee Certified Products, which serves as a great starting point for this search.
If you are building a device that will connect to another vendor's ecosystem
Let's say that you're building a door lock, light bulb, or window covering to connect to the Amazon Echo Plus. Since you are building a device that will participate in another vendor's ecosystem (in this case the Works with Alexa program), you should engage that ecosystem provider during the early stages of your design process so you can review their product and certification requirements. In many cases, Zigbee certification is deemed to be a prerequisite for platform certification, but it's not the only requirement. The ecosystems may have additional requirements beyond the mandatory Zigbee features for a given device type. At a minimum, you should get some sample units of the platform's controller (aka gateway) so you can test against it. At MMB, we maintain a library of the most popular gateways and smart home/building devices so we can continually verify interoperability requirements and collect real-world performance data.
If you are building your own ecosystem
Let's say that you're building a smart home gateway to enable control and monitoring of third-party devices. As you plan and prioritize your development activities, you'll need to know which Zigbee features are typically supported by your target devices. The Zigbee Certified Product database contains exactly that information; you can view the Profile, Device Type, and sometimes even the Clusters supported by each device in the database. It's OK if you don't know what those terms mean yet - you'll have a better understanding of these concepts after reviewing the Zigbee specifications (see the next section).
|Pro Tip: In addition to reviewing the Zigbee certification documents, ask the device manufacturer for a complete list of the Zigbee features supported by their device. |
You may find that the vendor has implemented their "secret sauce" and advanced configuration mechanisms using manufacturer-specific features, which will not be mentioned in the Zigbee certification documents. If you are unable to retrieve a detailed specification from the device vendor, you can test their device yourself to check for manufacturer-specific features.
Two Ways to Accelerate Product Development
Before you allocate development resources, take some time to see if you can leverage the work done by Zigbee Alliance Members. Other companies may have already built a product or component that meets your requirements.
- You can skip the development process entirely. With the Zigbee Alliance's new Certification Transfer Program, you may be able to leverage another vendor's product and eliminate the bulk of the development effort! You will be able to focus your efforts on the other aspects of your product that will truly set it apart from the competition instead of spending time recreating the wireless features that are considered to be â€œtable stakesâ€ for your product category.
- If you are building your own product, you can significantly reduce the development effort. If you are unable to find a suitable certified product to reuse for your own application, you may be able to find reference designs and sample applications from silicon providers or IoT enablement vendors (like MMB Networks) to greatly reduce your development effort. Contact the development solution providers here and ask them about their reference designs and sample applications.
Join the Zigbee Alliance
The Zigbee Alliance offers four levels of participation. Joining as a member is your way to get early access to the latest specifications, influence the direction of the standards, certify products, use Alliance logos, and gain Intellectual Property protection under the Zigbee Alliance's IPR policy when you certify your products. For more info on these levels and benefits, see the page here.
Learn the Basics of Zigbee
The first stop on your educational journey should be the Zigbee for Developers page. In my opinion, the most important documents on this page are the following:
- Zigbee Base Device Behavior Specification - outlines the baseline features that are mandatory for Zigbee 3.0 devices. For example, the way that devices join the network and inform other devices what features they support.
- Zigbee Cluster Library - a master list of â€œbuilding blocksâ€ that are used in the Zigbee device models. It outlines the clusters, commands and attributes that are used to convey data and change settings over a Zigbee network.
Select a Zigbee Compliant Platform
A Zigbee Compliant Platform (ZCP) provides the foundation upon which you will build your Zigbee-enabled product. A ZCP is composed of a radio transceiver plus a networking stack that has been certified by the Zigbee Alliance to participate in networks with other Zigbee Compliant Platforms. In other words, it is guaranteed to play nice in the sandbox and interact with other Zigbee devices. You do not need to use the same ZCP as the other devices on the network.
A complete list of ZCP options is available here.
Consider an IoT Enablement Vendor
While evaluating ZCP options, remember that the ZCP is simply the foundation; the reliability and robustness of the complete product will be strongly influenced by the hardware and firmware that you build on or around that ZCP. You wouldn't expect to build a great mobile phone by hiring a single hardware engineer, copying the specs of other leading phones, and assuming that everything will work well together. Instead, effective wireless products are built by teams with the diverse skill sets required to harness the full capabilities of the hardware.
IoT enablement vendors can complement your design team's efforts and bring tremendous savings in cost and time to market. Some of these vendors operate as engineering contractors, providing custom development services. A number of them (like MMB) also provide pre-built reference designs, firmware, and sample applications to greatly reduce development effort related to Zigbee functionality.
Plan for the Long Term
As you evaluate ZCPs and IoT enablement vendors, consider your options (and strategy) for supporting and improving your product in the future. Building an IoT device can be a long-term commitment to your customers. As new security mechanisms or new features become the norm, your end users will expect their existing devices to receive updates. There is no 'finish line' in the IoT, so you should ensure that you are planning well beyond the initial launch of your product and making design choices that will enable your products to continue delighting your customers as the market evolves.
Complete the Development
Now for the fun part! Your development will most likely start with the purchase of a Development Kit from a silicon provider or IoT enablement vendor. As you implement Zigbee features, it is important to test early and often using the Zigbee 3.0 Test Harness. Check out this list of pro tips on development and testing best practices.
Certify the Finished Product_
After you have finished your development, the next step is to submit your product for official testing and Zigbee certification. When you certify your product, you'll gain the following benefits:
- Permission to use the trusted Zigbee Certified Product logo on your product and in your marketing campaigns
- Exposure to other IoT device vendors, via The Zigbee Alliance's database of certified products. Other vendors may discover your product and incorporate it into their own offering.
To begin the certification process, review the list of Authorized Test Service Providers and contact your preferred test provider. You should ensure that your product is finalized before submitting it to the test service provider, but you can kick off the quote, PO, and administrative process while you are wrapping up your development. After the testing is complete, you can submit your certification application to the Zigbee Alliance for the final stamp of approval. Once approved, your product will be listed as Zigbee Certified.
Launch and Iterate
At the risk of stating the obvious, your product is not done when it launches. If you paid close attention when you reviewed the Zigbee Certified Product database, you may have noticed a striking trend: the IoT products with the most frequent update cycles are often the most successful products. You have a chance to truly delight your customers by enabling new features and improving their experience over the lifetime of the product. Don't miss that chance to innovate!