FreeRTOS on Raspberry PI PICO (Udemy.com)
Using FreeRTOS Kernel on RP2040 boards including the Pico and Pico W.
Created by: Dr Jon Durrant
Last updated April 2025
What you will learn
- To get to grips with FreeRTOS on Raspberry PI PICO or RP2040 Board
- Be able to develop applications for Pico/RP2040 using FreeRTOS
- Protect shared resources using Semaphores
- Communicate between tasks using Queues and Message Buffers
- Utilise both Cores of the Pico/RP2040 by using Symmetric Multi Processor feature
How it compares
Against the other 295 rated Udemy courses in Arduino on CourseDuck:
- Rating4.4 out of 5higher than 50% of them
- Reviews166#147 of 296 by number of reviews
- Length3.9 hoursshorter than 62% of them
- Last updatedApril 2025more recently than 63% of them
Course Description
Updated for Pico SDK 2.1.1 and FreeRTOS Kernel V11.2.0 - March 2025.
FreeRTOS Kernel allows us to add multi-processing to projects on the Raspberry PI Pico. This course teaches the foundations of FreeRTOS Kernel through practical example projects to get you quickly up and running. The course includes 15 separate projects using FreeRTOS Kernel including Symmetric Multi-Processing (using both RP2040 cores).
The course is written for the Raspberry PI Pico and Pico W. The examples will also run on any RP2040 board, though some modification due to different pinouts may be required if the board is different from the Raspberry PI Pico. These examples can be used as a basis for your own projects or as reference examples of the concepts of FreeRTOS Kernel.
This course covers:
Tasks: Multiple concurrent processes on a single core
Semaphores: Sending signals between tasks to protect shared resources
Queues: Queue management. Queues are often used for decoupling tasks
Message Buffers: A queue of variable-length items
Symmetric Multiprocessing: Using both RP2040 cores
C++ use of the FreeRTOS Heap
Simple circuits to illuminate LEDs are used in each example. To build these circuits a small amount of equipment is required:
Raspberry PI Pico or Pico W
Micro USB Cable for power
Breadboard and connection wires
12 LEDs. Any colour though examples use 2x Green, 2x Blue, 8x Red
12 75Ohm resistors
Desktop/Laptop for building code and flashing the Pico
The course assumes knowledge of C++. Though each example will walk through the functionality, the course will not talk about the syntax of C++. An understanding of how stack and heap are used by C++ is also assumed.
The course assumes that you can compile and deploy C++ code to the Pico using the Raspberry PI Pico SDK. My other course “Introduction to C Development Environment for Raspberry PICO” teaches these skills.
FreeRTOS Kernel is a foundation state in the journey to more complex projects and IoT devices. Join the course today for fun learning FreeRTOS Kernel for the Raspberry PI Pico, Pico W or RP2040 board.
FreeRTOS Kernel will also run on the Pico 2 and RP2350 boards. The configuration for the RP2350 is a little bit more complex and not covered by this course.
Instructor Details
- 4.4 Rating
166 Reviews
Dr Jon Durrant
25+ years experience of IT and Data experience across academia and commercial sector. I have worked on embedded systems, global enterprise systems, data warehouses and data lake.
In my day job I lead Data and IT departments' architecture functions. I work with the business to align IT and Data Strategy with the Business Strategy. I work to plan out roadmaps of change to address the business challenges and enable IT and Data initiatives to be treated as an investment for return.
In my off hours, I work as a hobby developer working on embedded IoT technologies. Some of my projects have included smart clocks, a clock that looks like a slot machine, pan and tilt security cameras, and hexapod robots. I primarily develop around the Raspberry PI and Raspberry PICO (RP2040) hardware devices with cloud services from AWS. I develop in a number of languages include C, C++. Java, Python, and Node.
Dr Jon EA Ltd - UK Registered Company 14359330
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 Talal Alturki on 11/30/2025
The instructor is just another boring teacher from your college. he lacks the ability to get your attention or even maintain it. His tone is unchangeable for the whole course. And what is most disturbing is the way he pronounces words is more like vomiting! For the content, it is literarily another uni class. No hands on, No video, and No step by step if you want to implement.
By C de Klerk on 9/30/2025
I worked as as a bare metal embedded developer for many years. Now I want start using RTOS on my hobby projects. In an effort to fast track my learning experience I enrolled in these excellent Udemy courses: Introduction to C Development Environment for Raspberry PICO FreeRTOS on Raspberry PI PICO IoT with Raspberry PI Pico W (C++) Web Service Clients on Raspberry Pi Pico W(C++) by Dr Jon Durrant
By Matt Page on 4/16/2025
Clearly explained, with a good level of detail. As a firmware developer with 30+ years of experience, I've been watching at 2x, and appreciate Jon's perspective in settings up development environment for Pico, and the various gotchas.
By Randall Young on 3/24/2025
All of Dr. Jon's courses are good, and this is just another example.
By Edward Shea on 12/24/2024
Really enjoyed this course. FWIW, I originally began some programming with the old ARM in the late 80s. I got away from programming for quite a while and I am in retirement. To execrcise my brain began to jump back into programming with a PI and jumped over to the Pico. Never really got into C++ as most of my work was done in C. I found the C++ implementations while elegant, a bit tedious to work through and , for me, tended to complicate the interface to the FReeRTOS system. Consequently I rewrote most of the Code in straight C which made my understanding a lot simpler. It also necessitated delving into the documentation on the FreeRTOS sight, something I would strongly urge anyone to do. For anyone contemplating a entry into the subject, I would highly recommend this course as a great structure for learning.
By Aravind Chakravarti on 6/24/2024
This course is actually amazing. Just one suggestion to learners. Instructor has very nicely written code. What I suggest is, please try to 'rewrite' his code, which gives lots of insights on how you can program RTOS!! Thank you very much Dr. Jon!!
By Brian Merritt on 12/29/2023
Really good introduction to FreeRTOS specifically and multi tasking and multi core communication on the Pico in general. Has clear code examples in github and explanations in video, and includes all of the course slides and support material.
By Peter Beeston on 7/3/2023
Once I had sorted my .vscode environment in the "Introduction to C Deveopment" Course, I was able to follow this course in Visual Studio Code just by coping my standard .vscode folder into each of the source code project folders.
By Olaf Klöppel on 4/2/2023
As with all of his courses, the support by Dr Durrant was outstanding. You don't buy an online course - you buy a class with a tutor who is responsive to individual questions. I'm completely new to FreeRTOS, but with the core concepts outlined here, I feel well equipped for my own projects.
By Martin Wirz on 4/2/2023
Sehr zufrieden, guter Überblick zu FreeRTOS. Besonders gefallen hat mir, dass alle Beispiele auf Anhieb build und deploybar sind und auch funktionieren. Ich arbeite mit der Pico Debug Probe. Damit kann ich GPIO0/1 nicht als LED-Port verwenden. Zusätzlich muss in CMakeLists.txt UART als stdout freigegeben werden. Vielleicht kann das in zukünftigen Kursen beachtet werden. Ansonsten: Prima Kurs!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100






