FreeRTOS on Raspberry PI PICO
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
- Basic electronics knowledge (Able to connecting LEDs to PICO)
- Good knowledge of C++
- Able to compile and copy code to Pico (C++)
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
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 to have some fun learning FreeRTOS Kernel for the Raspberry PI Pico, Pico W or RP2040 board.
Who this course is for:
- Microcontroller Developers
- Hobboy Developers
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