FreeRTOS From Ground Up™ on ARM Processors (REVISED) (Udemy.com)
RTOS : Build RealTime embedded applications with FreeRTOS. Practice on STM32 and TIVA C boards
Created by: Israel Gbati
Last updated March 2023
What you will learn
- Build Multitask real-time applications with FreeRTOS
- Port FreeRTOS to any ARM Processor
- Master FreeRTOS Task Management features
- Master FreeRTOS Resource Management features
- Master FreeRTOS Task Synchronization features
- Master FreeRTOS Event Management features
- Calculate the CPU Utilization of an RTOS
- Understand the Internals of an RTOS Kernel
- Implement and explain popular scheduling algorithms
- Give a lecture on the FreeRTOS RealTime Kernel
- Master FreeRTOS Interrupt Management features
- Master FreeRTOS Time Management features
- Master FreeRTOS Interrupt Run-Time statistics features
- Build a board support package from scratch
- Understand Rate Monotonic Schedulers
- Understand First Come First Served Schedulers
- Understand Round-Robin Schedulers
- Understand Weighted-Round-Robin Schedulers
- Understand ARM Design and ARchitecture
How it compares
Against the other 295 rated Udemy courses in Arduino on CourseDuck:
- Rating4.4 out of 5higher than 50% of them
- Reviews994#36 of 296 by number of reviews
- Length23.5 hourslonger than 95% of them
- Last updatedMarch 2023earlier than 52% of them
Course Description
This course teaches you the foundations of real-time systems and how to build real-time applications using FreeRTOS ,one of the most popular real-time operating systems for embedded systems. The course gives a detailed overview of the characteristics of the FreeRTOS real-time kernel, provides a detailed tutorial on the APIs to implement the various features of FreeRTOS and then goes on to build about 50 real-time projects .
This course does not assume prior knowledge of real-time systems and application programming. By the end of this course you should be able to build your own multitask FreeRTOS real-time applications which use all the features of a modern real-time application (such as semaphores, mutexes, event flags, hooks, queues, mailboxes etc )and test their performance.You should also be able to : Calculate the CPU Utilization of an RTOS, Understand Rate Monotonic Schedulers,port FreeRTOS to any ARM processor,Understand Round-Robin Schedulers,Understand Weighted-Round-Robin Schedulers, Understand First Come First Served Schedulers,Understand the Internals of an RTOS kernel, Implement and explain popular scheduling algorithms and so much more. Please take a look at the full course curriculum.
----------Some highlights---------------
Build Multitask real-time applications with FreeRTOS
Port FreeRTOS to any ARM Processor
Master FreeRTOS Task Management features
Master FreeRTOS Resource Management features
Master FreeRTOS Task Synchronization features
Master FreeRTOS Event Management features
Calculate the CPU Utilization of an RTOS
Understand the Internals of an RTOS Kernel
Implement and explain popular scheduling algorithms
Give a lecture on the FreeRTOS RealTime Kernel
Master FreeRTOS Interrupt Management features
Build a board support package from scratch
Instructor Details
- 4.4 Rating
994 Reviews
Israel Gbati
Author of Bare-Metal Embedded C Programming: Develop High-Performance Embedded Systems with C for Arm Microcontrollers.
With extensive experience in embedded firmware development, I specialize in real-time systems, low-level programming, medical device architecture, embedded signal processing, and embedded AI. My professional journey has been centered around Arm Cortex-Microcontrollers, delivering robust solutions used in cutting-edge industries.
Passionate about simplifying complex concepts.
More courses by Israel Gbati
Embedded Systems Bare-Metal Programming Ground Up™ (STM32) (2023)
4.6 (3,916 Reviews)
Provider: Udemy
Time: 24.6h
$99.99
x86 Assembly Language Programming From Ground Up™ (2025)
4.6 (1,715 Reviews)
Provider: Udemy
Time: 14.1h
$10.99
Build Your Own RealTime OS (RTOS) From Ground Up™ on ARM 1 (2023)
4.3 (1,180 Reviews)
Provider: Udemy
Time: 9.3h
$74.99
Introduction to ARM Cortex-M Assembly Programming (FREE) (2020)
4.4 (967 Reviews)
Provider: Udemy
Time: 4.2h
Free
ARM Cortex-M : Modular Embedded Systems Design (FREE!) (2019)
4.5 (935 Reviews)
Provider: Udemy
Time: 7.6h
Free
Bluetooth Low Energy (BLE) From Ground Up™ (2023)
4.3 (891 Reviews)
Provider: Udemy
Time: 15.5h
$74.99
More Arduino courses
Learn to Build a Computer (PC) in 2026 - all types!
4.9 (245 Reviews)
Provider: Udemy
Time: 6.1h
$74.99
Raspberry Pi For Beginners - 2026 Complete Course
4.8 (3,105 Reviews)
Provider: Udemy
Time: 10.6h
$89.99
Ultimate Guide to Raspberry Pi : Tips, Tricks and Hacks (2023)
4.8 (2,363 Reviews)
Provider: Udemy
Time: 5.2h
$69.99
Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL (MCU3) (2026)
4.8 (487 Reviews)
Provider: Udemy
Time: 8.1h
$79.99
Arduino Step by Step: Getting Started (2024)
4.7 (8,714 Reviews)
Provider: Udemy
Time: 21.4h
$159.99
Reviews
By Anand Mohan on 5/8/2025
These videos are outstanding for self-learning, and I urge the author to increase the volume to significantly enhance the experience, even for those using headsets. Utilise an online video volume booster to efficiently edit the clips while preserving the original quality. This improvement will undoubtedly empower the learning audience.
By Ramsundar Radhakrishnan on 3/20/2025
The syllabus is good. I understand the concept behind why mistakes are kept in the video, however keeping all the mistakes in every single video seems to just waste a lot of time. Coding examples seems to be very limited. I would rather see a bit more variety in the coding examples. Instead of copying and pasting code from somewhere else offscreen, typing them would provide the learner an opportunity to try to guess what would have to be coded within the particular function or task. Seems very rushed otherwise.
By Michael Green on 9/2/2023
My goal was to refresh my knowledge on RTOS. I liked the use of modern tools (STM32Cube, Keil uVision). I know Keil is part of the old course, but I do see it mentioned in job descriptions, so it was good to see that still included. That being said, the old content needs to be trimmed to avoid repetition of concepts. To beginners: the course description says you can use STM32 and Tiva-C boards. In my experience, you would be better off with using the same STM32 board the instructor is using. The Tiva-C can only be used with Keil IDE portion of the course. Even then, it took effort to set it up. Just use STM32 board.
By Desi Shredder on 9/1/2023
This is by far the best course I have done on Udemy. I created my own scheduler couple of years back, but the way it was explained here is perfect.
By MACHARLA PRASAD on 1/24/2023
exllent ,improve voice clarity. increase the volume of the course this course cannot understand the subject,how presentation is good but without voice we cant learn any thing.
By Daniel Fischer on 1/5/2021
After some consideration, I gave this course a 5 stars. To clarify, to me, 5 stars does not mean the course if perfect; it is not. It means, that in my opinion, taking this course is worth the time invested. The course is on FreeRTOS, however, to demonstrate FreeRTOS function calls, Israel, rightly so, must use an IDE/tool chain. So, he gets into Keil, but also into CUBEMX/CUBEIDE, 2 such tools. I wish he used CUBE, if indeed it is memory unlimited and free, rather than Keil, which is memory limited for the free version, or prohibitively expensive to a hobbyist, on the full version. The course states STM32 or TivaC are boards to be used for this course; I have a number of Ti TivaC boards, however, 99.99% of the course shows the use of an STM32 board. I would have been interested in him using CodeComposer with TivaC, so I could see if he has the same issues I have with CC. Israel gets into programming Arm at a lower and lower level to the point it becomes pretty painful. It almost looks as if he is trying to cram more and more into a single course. By the time he got to SVC handling, assembly language programming, etc., I'm pretty sure he lost most of us. So, on one hand, it is clear to me, the course needs a major clean up. However, I guess, I'd rather have information that is not presented in all details, than not having that information presented at all. At least this points out to me where I have to do further research, if I really want to understand it all. So, while, to me, the course may feel like a little bit of a mess sometimes, it is clear that Israel is very competent, and means well. So, it is all good.... ;-)
By Haruna on 4/19/2020
This course course teaches everything about Freertos sometimes it makes it feel like the course is moving slow but it is better to be slow than skip some things so I can't complain much about that. I recommend this course to anyone who is new to Freertos, this course is a great start.
By Jolimann on 4/13/2020
I am learning this freertos course as part of my mechatronics module in college and so far this course is doing better than the other material I have.
By Tammi Takaya on 9/5/2019
The course started out with a lot of promise but at some point, the instructor seems to have drifted off topic entirely. We never got to see it all come together (FreeRTOS). My advice would be to keep a course on FreeRTOS and one on building an RTOS from scratch separate. Targeted learning should be on point to allow prospective students to manage their time better.
By Francis on 5/14/2019
The course has been very helpful to me. I knew nothing about real time operating systems before taking this course, now I can confidently say I can build my own freertos firmware from scratch. The instructor is very patient and spends his time on every little thing which makes the course excellent for a beginner like myself. My only recommendation for this course will be the addition of more exercises and more real world examples.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100












