A Raspberry Pi Pico-based template for FreeRTOS projects

Latest Release: 1.4.1


About RP2040 FreeRTOS

FreeRTOS is a very impressive, easy to code operating system for embedded microcontrollers. Does it play well with the Raspberry Pi Foundation’s RP2040 microcontroller, the basis of the Pi Pico and other development boards? You bet it does.

The FreeRTOS flip-flop demo

This project is all about learning how to take advantage of FreeRTOS in an RP2040 project. It’s not a tutorial, more a series of explorations of the key functionality FreeRTOS offers and what those features bring to a device and its application firmware.

The project is embodied in the following GitHub repo, which provides a foundational template for other RP2040 projects in C or C++ and further applications that demo FreeRTOS functionality in an RP2040 context.

The code is used in a series of blog posts:

  1. How to use FreeRTOS with the Raspberry Pi Pico.
  2. Fun with FreeRTOS and the Pi Pico: sizing up scheduling.
  3. Fun with FreeRTOS and the Pi Pico: interrupts, semaphores and notifications.
  4. Fun with FreeRTOS and the Pi Pico: timers.

What is FreeRTOS?

Developed over an 18-year period, FreeRTOS is a real-time operating system (RTOS) for microcontrollers and small microprocessors. FreeRTOS is built with an emphasis on reliability, accessibility and ease of use. It is distributed free of charge, under the MIT open source licence.

More details on the FreeRTOS website

Source Code

You can view RP2040 FreeRTOS Template’s source code at GitHub.

Release Notes

  • 1.4.1 28 June 2022
    • Fix out-of-memory error in Timers app.
  • 1.4.0 14 June 2022
    • Add timers app.
  • 1.3.0 30 May 2022
    • Separate out code common to multiple apps.
  • 1.2.0 20 March 2022
    • Add interrupt demo app.
  • 1.1.0 6 March 2022
    • Add scheduling demo app.
  • 1.0.0 24 February 2024
    • Initial release.

Related Software

Site and software copyright © 2024, Tony Smith