/openthread

OpenThread released by Nest is an open-source implementation of the Thread networking protocol

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

OpenThread
Build Status Build Status Coverage Status


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

The Thread specification defines an IPv6-based reliable, secure and low-power wireless device-to-device communication protocol for home applications. More information about Thread can be found on threadgroup.org.

Features

  • Highly portable: OS and platform agnostic with a radio abstraction layer
  • Implements the End Device, Router, Leader and Border Router roles
  • Small memory footprint

OpenThread implements all Thread networking layers including IPv6, 6LoWPAN, IEEE 802.15.4 with MAC security, Mesh Link Establishment, and Mesh Routing.

Who is supporting OpenThread

OpenThread Contributor Logos

Nest, along with ARM, Atmel, a subsidiary of Microchip Technology, Dialog Semiconductor, Microsoft Corporation, Nordic Semiconductor, Qualcomm Technologies, Inc. (a subsidiary of Qualcomm Incorporated), and Texas Instruments Incorporated are contributing to the ongoing development of OpenThread.

Getting started

The easiest way to get started is to run the CLI example in /examples/apps/cli. See the CLI example README for more details.

What's included

In the repo you'll find the following directories and files:

File/Folder Provides
doc Doxygen docs
examples Sample applications demonstrating OpenThread
include Public API header files
src Core implementation of the Thread standard and related add-ons
tests Unit and Thread conformance tests
third_party Third-party code used by OpenThread
tools Helpful utilities related to the OpenThread project

Documentation

The Doxygen reference docs are hosted online and generated as part of the build.

Getting help

Submit bugs and feature requests to issue tracker. Usage questions? Post your questions to Stack Overflow using the openthread tag. We also use Google Groups for discussion and announcements:

  • openthread-announce - subscribe for release notes and new updates on OpenThread
  • openthread-users - the best place for users to discuss OpenThread and interact with the OpenThread team
  • openthread-devel - team members discuss the on-going development of OpenThread

Versioning

OpenThread follows the Semantic Versioning guidelines for release cycle transparency and to maintain backwards compatibility. OpenThread's versioning is independent of the Thread protocol specification version but will clearly indicate which version of the specification it currently supports.

Contributing

See the CONTRIBUTING.md file for more information.

License

OpenThread is released under the BSD 3-Clause license. See the LICENSE file for more information.

Please only use the OpenThread name and marks when accurately referencing this software distribution. Do not use the marks in a way that suggests you are endorsed by or otherwise affiliated with Nest, Google, or The Thread Group.