What problem does it solve?
This Skill provides a library of FreeRTOS task management, synchronization, and inter-core patterns for ESP32 and RP2040 projects, enabling robust multitasking and reliable resource coordination out of the box.
The patterns cover task creation, queues, semaphores, mutexes, event groups, software timers, and core pinning to simplify complex firmware.
Core Features & Use Cases
- Task creation & lifecycle: Easily spawn and manage multiple tasks with proper stack sizing and priority handling.
- Inter-task communication: Use queues, binary and counting semaphores, and task notifications to coordinate work across cores.
- Synchronization primitives: Mutexes with priority inheritance, event groups for multi-condition waits, and software timers for predictable timing.
- Dual-core coordination: Examples demonstrating ESP32 Core0/Core1 separation and RP2040’s two-core model.
- Use case: Build a responsive IoT device that reads sensors, communicates over WiFi, and logs data without blocking.
Quick Start
To begin, review the references in the references directory, load the examples into your Arduino IDE, and flash them to your ESP32 or RP2040 board to observe multitasking in action.