Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
FreeRTOS on Raspberry PI PICO
Rating: 4.5 out of 5(156 ratings)
1,515 students

FreeRTOS on Raspberry PI PICO

Using FreeRTOS Kernel on RP2040 boards including the Pico and Pico W.
Created byDr Jon Durrant
Last updated 4/2025
English

What you'll 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

Course content

11 sections59 lectures3h 55m total length
  • Course Goals3:53

    The course goal is to get to grips with FreeRTOS on Raspberry PI PICO, PICO W or RP2040 board. In this lecture, I set out the goal and breadth of the course.

  • Introducing Tutor2:28

    Introduction to Dr Jon Durrant as the tutor for the course. Remember I am here to answer questions as well as the voice in your ears.

  • Course Approach6:16

    The course will break down FreeRTOS Kernel into its component features. Take a step-by-step approach to learn with resources to help you.

  • Section Summary0:19

    This sections summary and resources.

Requirements

  • Basic electronics knowledge (Able to connecting LEDs to PICO)
  • Good knowledge of C++
  • Able to compile and copy code to Pico (C++)

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:

  1. Tasks: Multiple concurrent processes on a single core

  2. Semaphores: Sending signals between tasks to protect shared resources

  3. Queues: Queue management. Queues are often used for decoupling tasks

  4. Message Buffers: A queue of variable-length items

  5. Symmetric Multiprocessing: Using both RP2040 cores

  6. 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.


Who this course is for:

  • Microcontroller Developers
  • Hobboy Developers