Get Started

View source on GitHub

Learn about Thread

Are you new to Thread®? Or simply need to refresh your knowledge? Check out our Thread Primer, which covers all the basics of Thread and how it works.

Try OpenThread

Want to see what OpenThread released by Google is all about? The quickest way to do so is to run through one of our Codelabs or Guides.

Simulation Codelab with Docker

Try OpenThread without the need for test hardware. Using Docker on a Mac or Linux machine, learn how to:

  • Simulate a Thread network
  • Authenticate Thread nodes with Commissioning
  • Use OpenThread Daemon to manage a simulated Thread network featuring an RCP

Try the Simulation Codelab with Docker

Simulation Codelab with build toolchain

An alternate version of the Docker Simulation Codelab, where instead of using Docker, you set up the OpenThread build toolchain and build OpenThread directly on a Mac or Linux machine.

Try the Simulation Codelab with build toolchain

Hardware Codelabs

Dive right into hardware, where you will learn how to:

  • Flash OpenThread on Nordic nRF52840 or Silicon Labs EFR32 development boards
  • Build a real Thread network
  • Authenticate Thread nodes with Commissioning
  • Use the OpenThread CLI for Multicast and UDP (Nordic only)

Try the Espressif Hardware Codelab

Try the Nordic Hardware Codelab

Try the Silicon Labs Hardware Codelab

Try the Telink Hardware Codelab

API Codelab

Want to use OpenThread APIs in an application? Using real hardware, learn how to:

  • Program the buttons and LEDs on Nordic nRF52840 development boards
  • Use common OpenThread APIs and the otInstance class
  • Monitor and react to OpenThread state changes
  • Send UDP messages to all devices in a Thread network

Try the API Codelab

Network Simulator Codelab

OpenThread Network Simulator (OTNS) allows you to visualize and operate a simulated Thread network, using a CLI and web interface. With a Mac or Linux machine, learn how to:

  • Install OTNS and build OpenThread for OTNS
  • Use OTNS-Web to manage a Thread network and visualize activity in a web browser
  • Use OTNS-CLI to further control the simulation

Try the Network Simulator Codelab

Testing and Visualization Codelab

OTNS can be used with Silk, a fully automated test platform for validating OpenThread function, feature, and system performance with real devices. With a Mac or Linux machine, learn how to:

  • Build OpenThread for real devices with the OTNS feature enabled
  • Use OTNS-Web to monitor the status of the Thread network formed by running Silk test cases

Try the Testing and Visualization Codelab

Border Router Codelab

A Thread Border Router connects a Thread network to other IP-based networks, such as Wi-Fi or Ethernet. A Thread network requires a Border Router to connect to other networks. OpenThread Border Router (OTBR) is an open-source implementation of a Thread Border Router.

With a Mac or Linux machine, learn how to:

  • Set up OTBR and form a Thread network
  • Build an OpenThread CLI device with the SRP feature
  • Register a service with SRP
  • Discover and reach a Thread end device

Try the Border Router Codelab

Border Router Thread 1.2 Multicast Codelab

Thread 1.2 introduces Multicast across Thread Networks, allowing multicast communication between Thread network and Infrastructure (Wi-Fi/ethernet) network segments. With a Mac or Linux machine and a Raspberry Pi, learn how to:

  • Build nRF52840 firmware with Thread 1.2 Multicast features
  • Subscribe to IPv6 multicast addresses on Thread devices

Try the Border Router Thread 1.2 Multicast Codelab

Border Router NAT64 Codelab

NAT64 is a mechanism that enables hosts in IPv6-only networks to access resources in IPv4 networks. The NAT64 gateway is a translator between IPv4 protocols and IPv6 protocols. With a Mac or Linux machine and a Raspberry Pi, and building off the Border Router Codelab, learn how to:

  • Build an OpenThread Border Router with NAT64 features
  • Communicate with IPv4 hosts from Thread end devices

Try the Border Router NAT64 Codelab

Border Router with Docker

You can also run OTBR in a Docker container on any Linux-based machine.

Try the OTBR Docker guide

Get the code

Already know what you're doing and want to get started with the code? Visit the OpenThread GitHub site, where you can find the OpenThread repository, along with other support repositories, like OpenThread Border Router, OpenThread RTOS, and OpenThread Commissioner.

Platform support

OpenThread has been ported to several devices and platforms by both the OpenThread team, silicon vendors, and the community.

See the list of vendor-supported platforms at Vendor Support.

Learn more about the system architecture and platform designs on the Platforms overview.

Docker support

Docker images for use with OpenThread are available on Docker Hub. These images are created and tested by the OpenThread team, and are an easy way to get started with OpenThread without having to go through toolchain and system configuration.

User guides

Need help with a specific task or feature? Our guides can help.

Category Contents
Build How to build and configure OpenThread and enable enhanced features
Porting How to port OpenThread to a new hardware platform
Border Router How to connect your OpenThread network to other IPv6 networks with a Border Router, or use external Thread commissioning
Commissioner How to build and use OT Commissioner to commission devices onto a Thread network
Pyspinel How to use Pyspinel to build a Thread packet sniffer.
Certification How to test your platform against all certification test cases

Application APIs

Developing an application to run on top of OpenThread? Try our Developing with OpenThread APIs Codelab to learn the basics, or dig into the API Reference documentation to see what OpenThread services are available.

Testing and certification

Learn how we test OpenThread and what user testing tools are available on our Testing page.

If you're interested in Thread Certification for your product or component, see the Certification page.

Get help or contribute

Have a question about OpenThread? Want to contribute to its ongoing development? Our Resources page explains all the ways to get help, or to help out.