Moving from Mbed OS to FreeRTOS, How to get started with FreeRTOS using PlatformIO?

I’ve been recently interested into trying out FreeRTOS for the first time. I’ve been programming ARM based microcontrollers, using mostly Mbed OS, with little to no issues. Mbed OS is easy to get into, if you read the documentation, know C/C++ and understand how embedded systems and Electronics work.

I was expecting a similar experience with FreeRTOS, walk in the park! “I just need to read and understand the documentation…”, thought to myself. Spoilers, it didn’t work. I’ve been trying to read and understand all resources and documentation about FreeRTOS that is available on the internet. For the life of me, I just can’t understand how and from where to start with FreeRTOS.

The documentation on Mbed OS litrally explains almost everything there is to know on how to get yourself started with a simple Blinky example. FreeRTOS documentation, on the other hand, explains alot of stuff about how FreeRTOS works, there are ton of API documentation and more, yet I can’t for the life of me figure out how to write a simple Blinky.

Does FreeRTOS even follow any specific Development Environment? Or Coding paradigm? For example, on Mbed, you have Mbed Studio or Keil Studio Cloud. You create a workspace, you have a main c++ file, you can have mbed_app.json etc.

I downloaded the FreeRTOS official Quick Demo file, along with the source code for FreeRTOS. It requires the Visual Studio to be installed. The demos are mostly complicated examples for different chips and microcontrollers. I still don’t understand how to write my own simple blinky code.

My objective is to learn to write a simple Blinky on any given supported hardware. So far, based on my research, PlatformIO seems to be a good place to start. The target hardware are ARM Cortex M4, M7, ESP8266 and ESP32. I believe there is a way to implement FreeRTOS on ESP32, using Arduino IDE, but I do not want to learn anything using Arduino software.

In summary:

My question is: How to get started with FreeRTOS using PlatformIO? (or what is the best and quickest way to get started without Arduino?)

Objective: Learn to write Blinky code on any hardware for FreeRTOS (and in the process, learn FreeRTOS)

What is your native language?

You can use one of our demo projects for your hardware to get started - FreeRTOS/FreeRTOS/Demo at main · FreeRTOS/FreeRTOS · GitHub

If you want to get started without hardware, you can use one of the QEMU demos -

Another option is to start with Linux Simulator or Windows Simulator -

1 Like

Did you download the pdf book? It is out of date in that it doesn’t talk about features added since version 8, likewise the code that comes with the book is using version 8, but what it contains is still valid.

1 Like

My apologies, but how is this even remotely relevant to the question?? (In other words, why are you asking?! :D)

I did look through the book(s), and figured it is outdated, thus I didn’t bother looking more into it. But if the books are still relevant as you suggested, I’ll look at them again. Thank you for the suggestion!

Simply because if you did coincidentally share my native language, I would have pointed you to some sources outside of English that are useful.

1 Like