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.
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
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 Nordic Hardware Codelab
Try the Silicon Labs Hardware 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
- Monitor and react to OpenThread state changes
- Send UDP messages to all devices in a Thread network
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
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.
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.
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 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.
Need help with a specific task or feature? Our guides can help.
|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|
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, and browse the latest OpenThread peformance quality metrics on our Quality Dashboards.
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.