EmbeddedRelated.com
The 2026 Embedded Online Conference

Review: Hands-On RTOS with Microcontrollers

Steve BranamSteve Branam September 20, 20202 comments

Brian Amos's Hands-On RTOS with Microcontrollers delivers a practical path from bare-metal to full RTOS applications using FreeRTOS on an STM32 Nucleo-F767ZI board. The book combines clear explanations of concurrency, interrupts, and DMA with step-by-step toolchain setup and runnable examples that show building, debugging, monitoring, and scaling embedded systems for real projects and coursework.


Round-robin or RTOS for my embedded system

Manuel HerreraManuel Herrera June 9, 20197 comments

Manuel Herrera walks through the practical tradeoffs between bare-metal round-robin loops and adopting an RTOS for embedded projects. He outlines two round-robin styles, explains how an RTOS gives independent threads and synchronization primitives, and highlights added code, licensing, interrupt latency, and the learning curve. Read this to sharpen decision criteria around timing guarantees, reuse, and whether an RTOS truly adds value to your firmware.


Mutex vs. Semaphore - Part 1

Niall CoolingNiall Cooling April 12, 20195 comments

Most forum answers get the semaphore versus mutex debate wrong. This post traces semaphores back to Dijkstra and Scholten, explains the difference between binary and counting semaphores, and highlights runtime hazards such as accidental release, recursive and task-death deadlocks, priority inversion, and misuse as signals. Read if you want to avoid common concurrency pitfalls in RTOS code.


Embedded Programming Video Course Teaches RTOS

Miro SamekMiro Samek January 20, 2019

From basic foreground/background loops to priority-inheritance protocols, this free video course walks you through building and improving an RTOS step by step. Lessons cover manual context switching, round-robin and preemptive priority schedulers, efficient thread blocking, and synchronization primitives. The series finishes with a practical port to a professional RTOS in the QP/C ecosystem, showing semaphores, mutexes, and ways to prevent priority inversion.


From bare-metal to RTOS: 5 Reasons to use an RTOS

Jacob BeningoJacob Beningo October 18, 20167 comments

Most developers default to bare-metal, but Jacob Beningo argues an RTOS often simplifies modern embedded design. He outlines five practical reasons to move to an RTOS: easier integration of connectivity stacks and GUIs, true preemptive scheduling with priorities, tunable footprints, API-driven portability, and a common toolset for tasks and synchronization. The piece helps decide when RTOS adoption speeds development.


From Baremetal to RTOS: A review of scheduling techniques

Jacob BeningoJacob Beningo June 8, 201617 comments

Jacob Beningo walks through five common embedded scheduling techniques, showing how each scales from a single super loop to a full RTOS. He highlights practical trade-offs for round-robin, interrupt-driven, queued, cooperative, and RTOS approaches so you can spot when timing becomes fragile and when added complexity is justified. This primer sets up the next post on when to adopt an RTOS.


Modern Embedded Systems Programming: Beyond the RTOS

Miro SamekMiro Samek April 27, 20167 comments

Blocking-based RTOS tasks make embedded systems brittle and hard to extend, this post argues, and presents a practical alternative: active objects organized as message pumps. It explains why one-blocking-call tasks and nonblocking event handlers improve responsiveness and reduce task proliferation, and recommends using frameworks plus hierarchical state machines and UML to enforce good architecture and make designs scalable.


Using the Beaglebone PRU to achieve realtime at low cost

Fabien Le MentecFabien Le Mentec April 25, 20148 comments

Fabien Le Mentec shows how the BeagleBone Black's PRU coprocessors can run hard realtime control loops, removing the need for an FPGA or dedicated microcontroller. He walks through Linux setup, device tree enabling, assembler and loader tools, and a timer example that reads ADCs and drives PWM from PRU code. The post highlights community SDKs and a recent TI Code Composer Studio option for C-based PRU development.


Hidden Gems from the Embedded Online Conference Archives - Part 1

Tim GuiteTim Guite March 5, 2025

Discussion of a "hidden gem" from the Embedded Online Conference archives!


Getting Started With Zephyr: Using GDB To Fix a Driver Bug

Mohammed BillooMohammed Billoo August 8, 2025

In this blog post, I show how to use GDB to debug an issue encountered with a TSL2591 light sensor driver in Zephyr. The fix was submitted and successfully incorporated into The Zephyr Project.


Who needs source code?

Colin WallsColin Walls August 31, 2023

Many developers feel that the supplying source code is essential for licensed software components. There are other perspectives, including the possibility of it being an actual disadvantage. Even the definition of source code has some vagueness.


Optimizing Real-Time Operating Systems for Efficient Edge Devices

Lance HarvieLance Harvie January 11, 2024

Edge devices need real-time responsiveness but run on tight CPU, memory, and power budgets. This post breaks down what an RTOS brings to the edge: deterministic task scheduling, lean memory management, protocol support, and modular scalability, then tackles common challenges like synchronization and security. Read it for practical best practices on scheduling and protocols plus a look at future trends such as edge AI integration and interoperable infrastructure.


Can an RTOS be really real-time?

Miro SamekMiro Samek February 7, 20262 comments

Real-Time Operating Systems are meant for real-time applications. But with conventional shared-state concurrency and blocking, can you honestly know the worst-case execution time of an RTOS thread?


Stand-by or boot-up

Colin WallsColin Walls August 8, 2024

Many factors affect the usability of devices - a key one is how long it takes to start up.


Product quality: belief or proof?

Colin WallsColin Walls October 7, 2024

Embedded software development is a challenging activity, so it is essential to have tools and IP that is of the best quality. However, assessing that quality can be, in itself, a challenge.


A design non-methodology

Colin WallsColin Walls April 25, 2024

Although writing an RTOS or kernel may be an interesting project, it is unlikely to be a wise course of action.


The 2026 Embedded Online Conference