Microsoft will soon open-source Eclipse ThreadX real-time operating system that has been deployed on more than 12 billion embedded devices worldwide since its first release in 1997 and, for instance, it is found in Broadcom processors powering Raspberry Pi SBCs.
ThreadX was a commercial, safety-certified real-time operating system developed Express Logic which was acquired by Microsoft in 2019 and renamed to Azure RTOS. Last year, Microsoft decided to start the process to fully open-source Azure RTOS under an MIT license and managed by the Eclipse Foundation. Hence its new name: “Eclipse ThreadX“.
The Eclipse ThreadX project is not simply comprised of the RTOS itself, but also includes other components:
- ThreadX – Real-time operating system (RTOS) designed for deeply embedded applications
- NetX Duo – Industrial-grade TCP/IP network stack designed for deeply embedded real-time and IoT applications
- FileX – FAT-compatible file system integrated with ThreadX kernel
- GUIX – Embedded graphical user interface (GUI) library
- USBX – USB host, device, and on-the-go (OTG) embedded stack integrated with ThreadX kernel
- LevelX – Flash Wear Leveling for FileX and stand-alone purposes
- GuiX Studio – Design environment, facilitating the creation and maintenance of all graphical elements for CUIX
- TraceX – Analysis tool that provides a graphical view of real-time system events to better understand the behavior of real-time systems
The Eclipse Foundation is still working on legal issues but the full source code should be released in full in the next few weeks since the organization has a Q1 2024 target. You can already find (most of?) the source code on Github and the Threadx.io website has more details and documentation as well.
As explained by Frédéric Desbiens, who manages the embedded, IoT, and Edge computing programs at the Eclipse Foundation during a podcast on the Embedded Computing website, the MIT license is permissive so which means companies using the open-source Eclipse ThreadX don’t need to commit their change to the project.
That probably means not much will change for existing projects, and I would not expect Raspberry Pi to release the source for future versions of the Thread firmware based on the open-source version. But that may mean more companies may start using the RTOS and it will compete more directly against the popular FreeRTOS.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Was really confused to see “GUIX” there until I read it wasn’t anything to do with the GNU package manager…
What?
Sounds just like a M$h!t press release
Marketing claims aside, there is simply not a lot of support for multiple architectures yet. This would be a lot more interesting if they had support for Espressif or Silicon Labs chips .
So now Thomas will have to say “the proprietary *variant of the* ThreadX operating system in this chip”, that’s more words 🙂 That aside, I’m wondering what Microsoft is attempting to do with this move. Maybe they’re not making much revenue out of it ? Or maybe they’re unhappy with other solutions such as the Minix inside intel’s IME and they’d prefer to see their OS there instead, and think that offering it like this could be a first convincing argument ? Or maybe they were forced by a large customer: “we accept to buy your support on the OS… Read more »
> Minix inside intel’s IME and they’d prefer to see their OS there instead
Prior to Intel using Minix on an embedded x86 core in their CPUs (IME 11 and above) it was already ThreadX running on an ARC core.
Ah! The loop is closed!
Amazon bought FreeRTOS and rereleased is as MIT as GPL was prohibitive for product use. In exchage they added a lot of IoT crap to work with cloud.
Microsoft followed with Thread, but did one step further and moved it under Eclipse Foundation as they don’t want M$ branding directly tied with embedded OS they don’t plan invest in more.
However, IMVHO technically neither FreeRTOS nor ThreadX are that technically attractive for new projects in the light of Zephyr or NuttX.
> I would not expect Raspberry Pi to release the source for future versions of the Thread firmware
They made this pretty clear that this will never happen. Also they claim having to use a rather old ThreadX release, both are solely BroadCom’s decisions and they can do nothing about it other than abandoning BroadCom’s VideoCore platform and switching to an open SoC instead (which now with RP1 in the wild is an option for future RPi generations).
This VideoCore seems to be shit in comparison to Mali – RK3566 outperforms Raspberry Pi 5 in real world GPU heavily vectorized computations.