Protothread and Cooperative Multitasking Scheduler on the Arduino Framework
In the search for a simple and scalable firmware solution for Internet of Things (IoT) applications on devices with significant constraints, such as limited energy, hardware resources, and cost, numerous well-recommended and widely used solutions, including Contiki and RIOT, can be identified. Despite their merits, these solutions often present challenges when deployed on popular boards, such as the Arduino or ESP32/8266. This paper synthesizes diverse experiences and introduces idOS, a cooperative task scheduler featuring protothreads, timers, power management, and a TCP/IP network stack atop the Arduino framework, with a particular focus on users interested in IoT applications. This work examines the motivations, philosophy, structure, and limitations of idOS, offering insights into its development and potential applications.
Authors
- Daniel Tudor Cotfas
- Marian Alexandru (ORCID: https://orcid.org/0000-0001-5552-1012)
- Carlos Alberto García Vázquez
- Luis A. Quintero-Domínguez (ORCID: https://orcid.org/0000-0002-3527-0516)
- Osmel Pérez Baluja (ORCID: https://orcid.org/0000-0003-1857-9594)
- Petru Adrian Cotfas
- Bernardo Yaser León Ávila
Institutions
- Transylvania University of Brașov (RO)
- University of Sancti Spíritus José Martí Pérez (CU)
Publication Details
- Published
- 2024-10-24
- DOI
- https://doi.org/10.1109/icate62934.2024.10749444
- Citations
- 4
- Primary Topic
- Real-Time Systems Scheduling
- Type
- article
- Field-Weighted Citation Impact
- 1.96