FreeRTOS vs. Zephyr: Which is Better for ARM Cortex-M in Terms of Performance, Memory, and Support?

Good PM guys, I'm building an embedded system with an ARM Cortex-M processor and considering open-source RTOS options. FreeRTOS is popular, but I've also come across Zephyr. How do these two RTOSes compare in terms of real-time performance, memory footprint, and community support? Any experiences or recommendations for choosing between them for an ARM Cortex-M project? @Middleware & OS
Solution:
Real Time performance comes down to your implementation, Memory footprint you can get almost similar sizes with both of them. Reaslistically 8Kb has been observed but Zephyr docs say we can get to 2Kb. Community support Zephyr has a large open community working on it and supporting it sort of easier to get into due to the larger industry players. Nordic has an academy that can take you from 0 to 100. FreeRTOS due to its age also has lots of information available. Zephyr feels like embedded linux, thimk KConfigs and DTS stuff while freeRTOS feels baremetal but you can still use quite a few HALs with it. Both can achieve a result, to really recomend either one would need context on your team , implementation details and such....
Jump to solution
3 Replies
Joseph Ogbonna
Joseph Ogbonna9mo ago
FreeRTOS has fewer features and less processing capabilities than Zephyr, so while it can potentially be used to run more than one application, it’s still best suited for use cases where the IoT device only has a single application.
Joseph Ogbonna
Joseph Ogbonna9mo ago
Carsten Gregersen
Nabto
A Complete Guide to Zephyr vs. FreeRTOS in IoT
With all the various RTOS options and vendors out there, it can be hard to choose for your IoT use case. Learn the differences between Zephyr vs. FreeRTOS.
Solution
ZacckOsiemo
ZacckOsiemo9mo ago
Real Time performance comes down to your implementation, Memory footprint you can get almost similar sizes with both of them. Reaslistically 8Kb has been observed but Zephyr docs say we can get to 2Kb. Community support Zephyr has a large open community working on it and supporting it sort of easier to get into due to the larger industry players. Nordic has an academy that can take you from 0 to 100. FreeRTOS due to its age also has lots of information available. Zephyr feels like embedded linux, thimk KConfigs and DTS stuff while freeRTOS feels baremetal but you can still use quite a few HALs with it. Both can achieve a result, to really recomend either one would need context on your team , implementation details and such. I hope this answers a bit but please ask for more if you need specifics.

Did you find this page helpful?