Engineer's Asylum

How to get started with RTOS?


Hello guys,
I am a beginner in Embedded and have done several projects in Embedded.
I am looking for guidance on RTOS implementation in MCUs. I want to learn RTOS and do at least one project on it all by myself. But I don’t know where to start and how to go with it. I want the implementation level of guidance. Help me!


Welcome to our forum!!

Many RTOS are designed for a particular purpose, and few are common enough that you expected to have some experience with them. You can find some of the common RTOSs in the below link.

To begin with RTOS, you have to learn some of the OS concepts. You may start with FreeRTOS which is one the most accepted and widely used RTOS. You may use the below link to know more about FreeRTOS.

There are several books available online for free.

The most hectic task in RTOS development is choosing the right controller/development board. Not all of those controllers available in the market are RTOS compatible. It is not necessary that all the common RTOS are compatible with a particular development board. For instance, if freeRTOS works in a development board don’t imply that µC/OS-III too works in that particular board. It depends on the manufacturer and RTOS developer.

In short, you have to choose a development board and a common RTOS, to begin with. My personal opinion is the MSP432 Launchpad from Texas instruments and FreeRTOS. You may choose other boards as well.

If you want to know more, please feel free to ask!!


Thanks a lot for replying.

Can you tell me which OS concepts are required and how can i build my first project on RTOS?

Can i use STM32 Nucleo or Discovery boards to begin with?


Hi Shivam,

The more you know, the better. Without knowing most of the OS concept you can’t develop any good RTOS application. So I insist you learn most of the concepts in RTOS. See the below link for some general rtos concepts.

Yes, you can use any STM32 boards for developing RTOS project. STM32 boards work very well with freertos. You may start by writing two threads/tasks to blink two LED at a different rate.


Thanks a lot. I’ll be in touch with you!