Feb 4, 2020
Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.
Thread is an emerging IoT protocol designed to meet the interoperability, security, power, and architectural challenges for connected homes and commercial building applications and is available in Qualcomm QCA402x developer kits. In this blog we’ll take an introductory look at who’s behind Thread and how it works. We’ll also look at who’s supporting Thread, and how you can get started with it.
Where did thread come from?
Thread was initially designed by Google-owned Nest (along with Samsung and Arm) as a way to easily connect and manage multiple low-power devices using a standard IP network. In 2016 Google decided to open source Thread and work with the Open Connectivity Foundation (OCF). Their mission is to advance the adoption of connected home products and make these technologies fully compatible. Since then, over 80 prominent companies have joined either as partners or affiliates.
What exactly is thread?
Thread is a wireless protocol that allows you to create an interconnected network of many devices that seamlessly communicate with each other using minimal power. How does Thread accomplish this? In the simplest terms, the Thread stack is an open standard, built according to the existing Institute for Electrical and Electronics Engineers (IEEE) and Internet Engineering Task Force (IETF) standards to help ensure device interoperability and low-cost bridging to other IP networks. It is fully IPv6 compliant so there is no need for translators or gateways to convert IP-packets to proprietary protocols. It uses 6LoWPAN as its foundation to compress data packets to reduce energy consumption and optimize packet forwarding. It uses low-power mesh networking technology which means devices can receive and pass along data, which results in a very stable network with a large reach.
These technologies, along with a certification program that validates device conformance to the specification, make Thread a protocol worth investigating if you’re a developing IoT applications in this space.
Some of the key characteristics of the Thread stack include:
- Simple to set up, start up, and manage hundreds (or thousands) of devices simultaneously.
- Provides device-to-device and device-to-cloud connections.
- Designed to continue operating locally when there is no IP connection to the greater Internet.
- Application-layer agnostic so the application layer and cloud services can be changed over time.
- Each node has a full IP address so there is no need for Network Address Translation (NAT).
- Self-healing and designed to automatically reconfigure when devices are added or removed to help ensure no single point of failure.
- Based on the IEEE 802.15.4 standard at 2.4GHz for low power consumption and low latency.
- Distributed spread spectrum at the Physical Layer (PHY) to lower interference and increased range.
- Only authorized devices can join the network, and all communications are encrypted with symmetric-key 128-b Advanced Encryption Standards (AES).
The Thread Network Architecture
Thread Version 1.1
In 2014, Version 1.1 of Thread was released. It was created to easily connect and control products in the home with an architecture suited for residential use.
The device types and functions that make up the initial standard residential architecture are:
- Border Routers (aka edge routers) provide connectivity to other networks (Wi-Fi, Ethernet, etc.). There may be one or more Border Routers in a Thread Network.
- A Leader manages a registry of assigned router IDs, accepts requests from router-eligible end devices (REEDs) to become routers. All Leader information is present in the other Thread Routers for instant automatic failover.
- Thread Routers provide routing services to network devices. Thread Routers also provide joining and security services for devices trying to join the network, and are designed not to sleep. Thread Routers can downgrade their functionality and become REEDs.
- End devices that are not router-eligible can be either FEDs (full end devices) or MEDs (minimal end devices). MEDs do not need to explicitly synchronize with their parent to communicate.
- Sleepy End devices are host devices. They communicate only through their Parent Router and cannot forward messages for other devices.
Thread Version 1.2
One of Thread 1.1's biggest constraints is its 511-node limit. While 511 is fine for a single home network, commercial IoT typically require more nodes. In June of 2019, Thread 1.2 was released with the ability to consolidate multiple Thread networks into one large virtual network to handle thousands of nodes.
A few significant enhancements in Thread 1.2 that support a commercial architecture are:
- Thread Domains allow scalability of up to 10,000s of Thread devices in a single deployment, and allow multiple Thread networks to communicate with each other, thus extending the range to cover many mesh subnets.
- Synchronized Sleepy End Devices allow low-power end devices that have low link latency to remain asleep for most of the time, but still wake up frequently for short periods to receive messages.
- Backbone Router (BBR) function for Thread Border Routers facilitates intercommunication outside the Thread Network with a backbone network segment. Backbone routers communicate with each other over a backbone that connects multiple Thread networks.
- A Backbone Link is a non-Thread IPv6 link to which a BBR connects via the Thread Backbone Link Protocol (TBLP) to synchronize with other BBRs.
- Additional Protocol Definitions for Thread Devices and Backbone Routers that facilitate multicast and unicast IPv6 packet forwarding across the boundaries of Thread Networks.
- Out-of-band commissioning over Bluetooth allows devices with only a Bluetooth Low Energy (BLE) radio to be a native part of a Thread mesh network.
For more details on all of the enhancements in Thread 1.2, you can download the Thread 1.2 Base Features White Paper.
Where can you get more information on Thread?
The Thread Group was launched on July 15, 2014 (Qualcomm Technologies, Inc. showed early support and joined their Board of Directors in 2015). The Thread Group is a market education group that offers product certification. Membership in Thread Group is open and encouraged. You can learn more about the benefits of membership in the Thread Group, and how to join here. The Thread specification is available to anyone, and Thread Certification is open to members of the Thread Group.
Essentially Thread offers developers the benefit of mesh networking, a cloud-based approach, unlimited IP address availability, tough security, scalability, IoT-centric routing, low latency, low cost, with broad flexibility for application development.
Another reason Thread is gaining prominence is that, it is written to work with existing IP technologies, and the vast amount of technology and knowledge built around today’s networks. This means that as developers, you don’t need to learn an entirely new way of doing things to get started.
For more ideas on how Thread is being used in everything from making entire buildings adapt to employee movement, to monitoring animal behavior 24/7 anywhere on the farm, have a look at these case studies.
If you’re actually ready to dig in and give it a try, there is a wealth of information on the Thread Group’s getting started page for developers. You can also check out our developer kits for QCA4020 and QCA4024, and be sure to tell us about your project! Remember, we are always here to help.