OpenThread

OpenThread released by Google is an open-source implementation of Thread®. Google has released OpenThread to make the networking technology used in Google Nest products more broadly available to developers, in order to accelerate the development of products for the connected home.

With a narrow platform abstraction layer and a small memory footprint, OpenThread is highly portable. It supports both system-on-chip (SoC) and network co-processor (NCP) designs.

Thread Certified component

OpenThread implements all features defined in the Thread 1.1.1 Specification. This specification defines an IPv6-based reliable, secure, and low-power wireless device-to-device communication protocol for home applications.

Features

OpenThread implements all Thread networking layers (IPv6, 6LoWPAN, IEEE 802.15.4 with MAC security, Mesh Link Establishment, Mesh Routing) and device roles, as well as Border Router support.

Application services
  • IPv6 configuration and raw data interface
  • UDP sockets
  • CoAP client and server
  • DHCPv6 client and server
  • DNSv6 client
Enhanced Features
  • Child Supervision
  • Inform Previous Parent on Reattach
  • Jam Detection
  • Periodic Parent Search
NCP support
  • Spinel, a general purpose NCP protocol
  • wpantund, a user-space NCP network interface driver/daemon
  • Sniffer support via NCP Spinel nodes
Border Router
  • Web UI for configuration and management
  • Thread Border Agent to support an External Commissioner
  • NAT64 for connecting to IPv4 networks
  • Thread interface driver using wpantund

How will you use OpenThread?

If you're interested in contributing to the ongoing development of OpenThread, then the OpenThread GitHub repository is for you. There you will find all the code, including information on how to contribute, our style guide, code of conduct, licensing, and much more.

If you want to use OpenThread in your own products or for personal deployment, check the options below.

Deploy a Thread network

Determine the hardware and platform design you wish to use to build and deploy your own Thread network. Add a Border Router to connect your Thread network to other network layers, such as Wi-Fi or Ethernet, or use OpenThread RTOS, a single platform solution using LwIP, FreeRTOS, and mbed TLS. And use OpenThread Commissioner to easily commission devices onto a Thread network.

Develop applications on top of a Thread network

Try out our API Codelab and use our API Reference as a guide to application development. IPv6, UDP, CoAP, ICMPv6, DNSv6...it's all there.

Port OpenThread to a new hardware platform

Check out our Porting Guide, which walks you through all the steps necessary to port OpenThread to a new hardware platform.

Get Thread Certification for your OpenThread product

OpenThread can be used for certification by the Thread Group. As a Thread reference stack, OpenThread makes certification easy.

News

OpenThread Commissioner released!

Jan 21, 2020

We've released an implementation of a Thread Commissioner, called OpenThread Commissioner. OT Commissioner implements both Thread 1.1 and 1.2 Commissioners, generates cross-platform libraries for use with Linux, MacOS, or Android, and features an interactive CLI.

Silicon Labs' EFR32MG21 Series 2 is Thread Certified with OpenThread

Jan 15, 2020

EFR32MG21 Series 2 devices are the next evolution of Wireless Gecko devices from Silicon Labs. Series 2 is designed to increase processing capability, improve RF performance and lower active current, while providing the higher levels of security required for tomorrow's IoT products.

Connected Home over IP working group formed

Dec 19, 2019

Google has joined Amazon, Apple, and the Zigbee Alliance to form the Connected Home over IP working group. This group plans to develop and promote the adoption of a new, royalty-free connectivity standard to increase compatibility among smart home products, with security as a fundamental design tenet. Google is contributing OpenThread as part of this effort.

Who supports OpenThread?

Start using OpenThread today

Java is a registered trademark of Oracle and/or its affiliates. Thread is a registered trademark of the Thread Group, Inc.