Why did ST make GitHub a centerpiece of its relationship with developers? Let’s take a look at the STM32 MCU Overall page, which offers HAL (Hardware Abstraction Layers) libraries and CMSIS files. Obviously, we want to ensure developers can easily clone the latest updates, fork projects, and submit issues or pull requests, thus making our software more accessible. But that’s not all. Faithful blog readers will remember that we’ve used the platform to share machine learning applications, unofficial STM32 projects, and more. Put simply, GitHub has a special place in ST. Consequently, let’s understand why we want to make the platform a central pillar for all STM32 developers.
GitHub and STM32 Developers
Shouting endlessly
According to a study published on GitLab, which surveyed more than 5,000 developers, a significant portion shared that they found it challenging to “keep up with the latest tools and security”. Additionally, many struggle to make their voices heard. Keeping up with the latest security patches, bug fixes, performance optimizations, and innovations is critical, but knowing when an update drops isn’t always straightforward. Similarly, reporting bugs and issues can feel like shouting into a void. Too often, developers want to share a problem they’re encountering but don’t know where to submit a ticket or if they’ll get a response, which can be demoralizing.
Feeling seen
GitHub solves many of these issues, which is why ST continues to invest in the platform and meet developers where they are. For instance, by cloning and watching a repository, a user can receive updates as soon as we publish them. In fact, we are thrilled to use GitHub to enable followers to receive updates even before we publish a new version of our STM32Cube software, like STM32CubeMX or STM32CubeIDE, as we explained in 2023. By offering our HAL libraries and CMSIS files on GitHub, ST ensures developers can rely on a familiar platform to be updated rapidly and efficiently. Sharing code on a public GitHub page also means developers can use the IDEs and workflows they are familiar with.
Being heard
Putting our source code on GitHub means developers can submit issues, initiate pull requests, and potentially fork a project. This is a big priority for ST as it provides a direct line of communication with all STM32 developers. It is now easier than ever to submit a bug or report a problem. It also lets our experts respond to concerns faster and show when we publish a fix. Similarly, pull requests ensure all developers can share their experience and offer suggestions for features or improvements. Put simply, we want engineers who invest in our ecosystem to have a strong voice and feel heard.
STM32Cube Ecosystem and the future
Toward modularity
The desire to use GitHub as a central platform for our STM32Cube Ecosystem also comes from a desire to design an increasingly modular ecosystem. As the HAL becomes more and more popular because its maturity ensures developers don’t have to start from scratch, we want our community to get quicker access to the parts of our ecosystem they need. If a team would rather only download our HAL libraries and CMSIS files and ignore everything else we offer, GitHub allows them to download the relevant code and stay up to date without the fear of missing out.
Toward complementarity
Similarly, modularity and long-term support are increasingly high priorities for ST. As a result, we are working to offer Eclipse ThreadX middleware independently from the operating system. For instance, USBX, and soon FileX/LevelX, can run on an OS other than Eclipse ThreadX, and we also support the popular TCP/IP stack IwIP on our MCUs. In essence, we continue our strategy of platform agnosticism. We have dedicated teams supporting FreeRTOS and Eclipse ThreadX, support popular projects like Zephyr and RT-Thread, and welcome new endeavors likeTock OS or Embedded Swift, just to name a few. We are thrilled to see communities adopt our device as the community rethinks what it means to create IoT products.