I am researching different IoT development boards and found that Espressif uses the IDF framework. When I looked at the source code it uses FreeRTOS libraries.

I have an Arduino Uno and I want to use FreeRTOS for programming it. I found that FreeRTOS has multiple libraries that support different microcontrollers. Arduino Uno has an ATmega328P and FreeRTOS has libraries for it.

I also found libraries for the Arduino family of boards.

What is the difference between these two libraries?

  • 1
    One is a demo, the other is a library. One is not for Arduino but for "bare metal" programming, the other is for Arduino. They're both FreeRTOS.
    – Majenko
    Dec 11, 2020 at 11:10
  • Thank you Majenko for the clarification Dec 12, 2020 at 9:30

1 Answer 1


ATmega328PB is not the same MCU as used by Arduino boards. Those use ATmega328P (no B). ATmega328PB is a mostly compatible successor and offers more timers, built-in touch functionality and more but does not come in large DIP packages. Arduino uses the older ATmega328P.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.