EmbeddedRelated.com
The 2026 Embedded Online Conference
You Don't Need an RTOS (Part 3)

You Don't Need an RTOS (Part 3)

Nathan Jones
Still RelevantAdvanced

In this third article I'll share with you a few cooperative schedulers (with a mix of both free and commercial licenses) that implement a few of the OS primitives that the "Superduperloop" is currently missing, possibly giving you a ready-to-go solution for your system. On the other hand, I don't think it's all that hard to add thread flags, binary and counting semaphores, event flags, mailboxes/queues, a simple Observer pattern, and something I call a "marquee" to the "Superduperloop"; I'll show you how to do that in the second half of this article and the next. Although it will take a little more work than just using one of the projects above, it will give you the maximum amount of control over your system and it will let you write tasks in ways you could only dream of using an RTOS or other off-the-shelf system.


Summary

This article surveys several cooperative schedulers (both open-source and commercial) that provide selected RTOS primitives for small embedded systems, and then shows how to augment a single-threaded "Superduperloop" with common concurrency primitives. Readers will learn when a lightweight scheduler is sufficient and get step-by-step guidance for adding thread flags, semaphores, queues, event flags, an Observer pattern, and a custom "marquee" to a bare-metal loop.

Key Takeaways

  • Evaluate cooperative scheduler projects (free and commercial) as lightweight alternatives to a full RTOS for constrained systems.
  • Implement binary and counting semaphores, thread/event flags, and mailboxes/queues in a cooperative single-loop architecture.
  • Add an Observer pattern and a simple "marquee" task dispatcher to improve modularity and task communication without an RTOS.
  • Design tasks so they remain non-blocking and deterministic to retain the simplicity and timing guarantees of a Superduperloop.
  • Compare trade-offs between adopting an existing cooperative scheduler versus extending the Superduperloop for maximal control.

Who Should Read This

Firmware and embedded systems engineers experienced with microcontrollers and single-threaded designs who want to decide between an RTOS and a lightweight cooperative approach and learn how to add RTOS-like primitives to a superloop.

Still RelevantAdvanced

Topics

RTOSBare-Metal ProgrammingFirmware DesignARM Cortex-M

Related Documents


The 2026 Embedded Online Conference