# arkhipenko/TaskScheduler

Cooperative multitasking for Arduino, ESPx, STM32, nRF and other microcontrollers

Repository: https://github.com/arkhipenko/TaskScheduler
Canonical: https://ross.abutalabs.com/products/taskscheduler
Homepage: http://playground.arduino.cc/Code/TaskScheduler
Language: C++
License: BSD-3-Clause
License Family: permissive
Topics: arduino, esp8266, attiny, multitasking, cooperative, library, teensy, esp32, nrf52, stm32, reliable
Last push: 2026-04-20T16:31:28+00:00

## Health v2 (maintenance only)
Score: 83/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 78, release rhythm 80, longevity 100
- inputs: {"age_days": 4016, "days_push": 135, "days_rel": 135, "gap_med": 12.5, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1650, forks 291 (observed 2026-08-28T04:05:16.792797+00:00)

## What it is
A lightweight C++ library providing cooperative multitasking and task scheduling for Arduino, ESPx, STM32, nRF, and other microcontrollers. It offers periodic task execution, dynamic parameter changes, and power management as an easier alternative to preemptive RTOS frameworks like FreeRTOS.

## Use cases
- blink an LED on an interval while reading sensors on arduino
- schedule periodic tasks on esp32 without freertos
- run multiple timed jobs on stm32 firmware
- cooperative multitasking for attiny or teensy projects
- avoid race conditions in embedded task scheduling
- manage task timing and power consumption on microcontrollers

## When to choose
- you need simple, reliable periodic task scheduling on a microcontroller
- you want to avoid concurrency pitfalls like races and deadlocks by design
- you're using Arduino, ESP32/8266, STM32, nRF52, Teensy, or ATtiny
- a full RTOS like FreeRTOS is overkill for your project

## When to avoid
- you need true preemptive multitasking or hard real-time guarantees
- tasks involve long-blocking operations that would starve other tasks
- you're not targeting embedded/microcontroller platforms

## Facets
- artifact type: library
- maturity: stable
- function: scheduling, concurrency, embedded
- domain: embedded-systems, developer-tools
- platform: cpp, embedded, iot
- tags: cooperative-multitasking, arduino-library, microcontroller, esp32, esp8266, stm32, nrf52, task-scheduling, freertos-alternative, automation

## Member repositories
- arkhipenko/TaskScheduler (main) score 83

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:16.792797+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:45:04.801353+00:00, confidence not recorded.
  - readme: https://github.com/arkhipenko/TaskScheduler (fetched 2026-08-28T04:05:16.792797+00:00, sha 03a1793f0983)
- Data as of 2026-08-30T08:39:29.467469+00:00.
