Contributing guide

This document serves as a checklist before contributing to this repository. It includes links to read up on if topics are unclear to you.

This guide mainly focuses on the proper use of Git.

1. Before opening an issue

To report a bug/request please file an issue in the right repository (example for cmsis_device_l4). But check the following boxes before posting an issue:

  • [ ] Make sure you are using the latest commit (major releases are Tagged, but corrections are available as new commits).
  • [ ] Make sure your issue is a question/feedback/suggestions RELATED TO the software provided in this repo. Otherwise, it should be discussed on the ST Community/STM32 MCUs forum.
  • [ ] Make sure your issue is not already reported/fixed on GitHub or discussed on a previous Issue. Please refer to this dashboard for the list of issues and pull-requests. Do not forget to browse into the closed issues.

2. Posting the issue

When you have checked the previous boxes. You will find two templates Issues (Bug Report or Other Issue) available in the Issues tab of the repo

3. Pull Requests

STMicrolectronics is happy to receive contributions from the community, based on an initial Contributor License Agreement (CLA) procedure.

From April 7th 2020

  • If you are an individual writing original source code and you are sure you own the intellectual property, then you need to sign an Individual CLA (
  • If you work for a company that wants also to allow you to contribute your work, your company needs to provide a Corporate CLA ( mentioning your GitHub account name
  • If you’re not sure that a CLA (Individual or Corporate) has been signed for your GitHub account you can check here ( Please note that Corporate CLA will always take precedence over Individual CLA

One CLA submition is sufficient, for any project proposed by STMicroelectronics

How to proceed

  • We recommend to engage first a communication thru an Issue, in order to present your proposal. Just to confirm that it correspond to STMicroelectronics domain or scope.
  • Then fork the project in your GitHub account to further develop your contribution. Please use the latest commit version.
  • Please, submit one Pull Request for one new feature or proposal. This will ease the analysis and final merge if accepted