🌐
Espressif
docs.espressif.com › projects › arduino-esp32 › en › latest › openthread › openthread.html
OpenThread - - — Arduino ESP32 latest documentation
The OpenThread library is built on top of ESP OpenThread and provides a high-level Arduino-style interface for creating Thread devices. Thread is an IPv6-based, low-power wireless mesh networking protocol designed for smart home and IoT applications.
🌐
Arduino
docs.arduino.cc › tutorials › nano-matter › open-thread-border-router
Open Thread Border Router with Nano Matter & ESP32 | Arduino Documentation
Learn how to create your own Thread Border Router using OpenThread and Arduino ecosystem products. Author Martino Facchin, Leonardo Cavagnis and Christopher Méndez ... Thread is a low-power, wireless mesh networking protocol for smart homes and Internet of Things (IoT) devices.
Discussions

Creating a Thread/Matter device with ESP32 C6 and Arduino Core
Related area Smart Home Hardware specification ESP32 C6 Is your feature request related to a problem? I would like to create some simple Thread/Matter devices for my smart home. A Open Thread Borde... More on github.com
🌐 github.com
4
February 13, 2024
Multithreading with Protothreads, Arduino_Threads
Hello everyone, I'm a little stuck right now, working on a project with an Arduino Nano 33 BLE. Essentially, I'm trying to read 2 characteristics at the same time from the BLE-Server and use that data afterwards to do some stuff. I need it this way, because I need to act on the information ... More on forum.arduino.cc
🌐 forum.arduino.cc
19
0
May 21, 2023
programming - Multithreading with Arduino - Arduino Stack Exchange
Well I've just started learning the concept of multithreading with C++ and immediately a bunch of questions came to mind about the possibility of using multithreading with microcontrollers in gener... More on arduino.stackexchange.com
🌐 arduino.stackexchange.com
December 8, 2015
Thread
Hello, I need some help I think 🙂 I have arduino uno with can bus shield and I want to send data from can h and can L port on shield. The code is below. I am sending 1 data and looped 12 millisecond, its not problem, But I must send 3 data. First data will work and looped 12 millisecond, ... More on forum.arduino.cc
🌐 forum.arduino.cc
10
0
February 15, 2014
🌐
Reddit
reddit.com › r/thread_protocol › diy thread-supported arduino projects?
r/Thread_protocol on Reddit: DIY Thread-supported Arduino Projects?
April 30, 2021 -

Anyone know if it's possible to purchase chips that are Arduino / Raspberry Pi compatible to build my own smart buttons, or smart devices that support thread? Kinda don't want to wait another year or two for smart thread-supported buttons to hit the shelves.

How to thread diy devices? Mar 21, 2023
r/homeautomation
3y ago
The Best Arduino Projects! Sep 17, 2014
r/ArduinoProjects
11y ago
Ideas for arduino projects Nov 21, 2023
r/arduino
2y ago
Is it possible to make your own arduino? Dec 25, 2025
r/arduino
6mo ago
More results at reddit.com
🌐
Silicon Labs
silabs.com › support › training › matter-developer-journey › quick-look-matter-over-thread-for-arduino
Quick Look - Matter over Thread for Arduino - Silicon Labs
Matter over Thread is now available for Arduino IDE on Silicon Labs EFR32MG24 multi-protocol wireless microcontroller. The Arduino library makes Matter over Thread accessible for both IoT enthusasts and professionals and comes with a wide range of example applications to get you started.
🌐
OpenThread
openthread.io › codelabs › esp-openthread-hardware
Build a Thread Network with the ESP32H2 and ESP Thread Border Router Board | OpenThread
The Thread Specification defines an IPv6-based reliable, secure, and low-power wireless device-to-device communication protocol for home and commercial building applications.
🌐
GitHub
github.com › espressif › arduino-esp32 › issues › 9240
Creating a Thread/Matter device with ESP32 C6 and Arduino Core · Issue #9240 · espressif/arduino-esp32
February 13, 2024 - Related area Smart Home Hardware specification ESP32 C6 Is your feature request related to a problem? I would like to create some simple Thread/Matter devices for my smart home. A Open Thread Borde...
Author   espressif
🌐
ST Wiki
wiki.st.com › stm32mcu › wiki › Category:Thread
Introduction to Thread - stm32mcu
Thread is a networking layer based on IPv6. The Thread specification is based on seven layers as shown in the figure below. It uses the IEEE 802.15.4 PHY and MAC layers for link layer communication. MAC layer supports a maximum packet size of 127 bytes. IPv6 requires a minimum of 1280 bytes of MTU.
Find elsewhere
🌐
Arduino
docs.arduino.cc › hardware › nano-matter
Nano Matter | Arduino Documentation
Leverage dual-mode connectivity, integrating both IEEE 802.15.4 (Thread) for mesh networking and Bluetooth® Low Energy for short-range communication.
🌐
GitHub
github.com › arduino-libraries › Arduino_Threads › blob › main › docs › threading-basics.md
Arduino_Threads/docs/threading-basics.md at main · arduino-libraries/Arduino_Threads
Previously Arduino sketches didn't support the concept of multitasking, unless you took specific measures to support it. With this so called single-threaded approach instructions in your Arduino sketch are executed sequentially one by one. If an instruction or a function call respectively makes the runtime environment wait for its execution to complete, it's called a "blocking" function.
Author   arduino-libraries
🌐
Medium
1littleendian.medium.com › matter-protocol-on-a-budget-90dee313461e
Matter protocol on a budget. A Thread border router is not mandatory… | by Juna Salviati | Medium
January 12, 2025 - Matter works over IP-based technologies like Wi-Fi (“Matter-over-WiFi”) and Thread (“Matter-over-Thread”). While the first is generally used for the communication with devices transferring large amount of data (e.g. cameras), the latter is suitable for low-power devices requiring to transfer small amount of data (e.g.
🌐
Arduino Forum
forum.arduino.cc › projects › programming
Multithreading with Protothreads, Arduino_Threads - Programming - Arduino Forum
May 21, 2023 - Hello everyone, I'm a little stuck right now, working on a project with an Arduino Nano 33 BLE. Essentially, I'm trying to read 2 characteristics at the same time from the BLE-Server and use that data afterwards to do some stuff. I need it this way, because I need to act on the information ...
Top answer
1 of 4
7

In Cosa you can find the following support for concurrent programming:

  1. Events, interface interrupt service routines
  2. Jobs, delayed, periodic or alarm functions with us, ms and seconds level timers (Watchdog, RTT or RTC).
  3. FSM, object-state function
  4. ProtoThreads, object-state pointer
  5. Threads, Semaphores, etc, multiple stacks
  6. UML Capsules and Connectors, dependency driven programming

There are plenty examples on how to use these. A good starting point is the Blink sketches. There is even a multi-threading Blink example with a thread that does the LED on/off and a controller thread that periodically changes the blink period. The thread stack size is only 64 bytes and it runs even on an ATtiny.

With all the AVR internal hardware modules (such as SPI, TWI, UART, etc) there is plenty of opportunities for concurrency.

A Scheduler library for the Arduino core is also available. This is a port of the Cosa Threads. Please see github for further details.

Cheers!

2 of 4
3

The really quick answer is "maybe" – it depends on what you mean by "Arduino" and what you mean by "thread." The answer is likely to be different for the AVR based Arduinos (Uno et al.) vs. the ARM based Arduinos (Due et al.) – I would expect there to be much better hardware support for "real" threads on the ARM processors. Another question you'd want to answer is "why threads?" Do you want the abstraction to help you organize your code? Or do you actually need "real" threads?

Before there was hardware thread support (e.g., the mid-80s) there are user thread implementations, it seems possible that they might be adaptable to run even on an AVR. I would expect it to be something of a project.

There is a threads package called Protothreads which may be interesting. The description says "Protothreads are extremely lightweight stalkless threads designed for severely memory constrained systems." I found another question asking about simple usage of Protothreads, so it seems that you may find some other users of the package.

You may also find some useful information in this Stack Exchange question on threads, a quick search for "C user threads" found this implementation on the first page – and I'm sure there are many more.

A search on "Arduino threads" found several more interesting looking links:

  • How can I create multiple running threads?
  • Arduino Thread package on GitHub
  • http://www.kwartzlab.ca/2010/09/arduino-multi-threading-librar/
  • http://forums.trossenrobotics.com/showthread.php?5923-Multithreading-(Parallel-loops)-on-an-Arduino

If you just want threads, a small and inexpensive board, and I/O pins it might be worth considering a Raspberry Pi – Linux has thread support.

🌐
SparkFun Learn
learn.sparkfun.com › tutorials › connectivity-of-the-internet-of-things › thread
Thread - Connectivity of the Internet of Things
Thread is designed while keeping in mind the home automation space -- to have devices set up and connect easily, have low power consumption for longer battery life and be secure! It is based on the standard 802.15.4 (6loWPAN) architecture. The best part about Nest is that it is an open protocol ...
🌐
Arduino Forum
forum.arduino.cc › projects › networking, protocols, and devices
Thread - Networking, Protocols, and Devices - Arduino Forum
February 15, 2014 - Hello, I need some help I think 🙂 I have arduino uno with can bus shield and I want to send data from can h and can L port on shield. The code is below. I am sending 1 data and looped 12 millisecond, its not problem, But I must send 3 data. First data will work and looped 12 millisecond, ...
🌐
GitHub
github.com › ivanseidel › ArduinoThread
GitHub - ivanseidel/ArduinoThread: ⏳ A simple way to run Threads on Arduino
Arduino does not support isolated parallel tasks (Threads), but we can make the main loop switch function execution conditionally and thus simulate threading with Protothread mechanism.
Starred by 971 users
Forked by 198 users
Languages   C++
🌐
Arduino
docs.arduino.cc › libraries › arduinothread
ArduinoThread
October 5, 2018 - The Arduino environment can be extended through the use of libraries. Libraries provide extra functionality for use in sketches. To use a library in a sketch, select it from Sketch > Import Library.
🌐
Nordic Semiconductor
docs.nordicsemi.com › bundle › ncs-3.1.0 › page › zephyr › connectivity › networking › api › thread.html
Thread protocol - Technical Documentation
August 13, 2025 - Skip to main contentSkip to search · Powered by Zoomin Software. For more details please contactZoomin · Log in to get a better experience · Login · About · Terms of ServicePrivacy PolicyContact Us · Support · Follow us · Copyright © 2008 - 2026 Nordic Semiconductor ASA.
🌐
OpenThread
openthread.io
OpenThread
OpenThread implements all features defined in the Thread Specification. This specification defines an IPv6-based reliable, secure, and low-power wireless device-to-device communication protocol for home and commercial building applications.