How to contribute to Arduino

First off, thank you for considering contributing to Arduino. It’s people like you that make Arduino better and better.

There are numerous ways you can contribute to the Arduino open-source project. Whether you are a developer, a hardware engineer, a linguist or a jack of all trades, help is always appreciated.

If you find bugs in the Arduino software, errors in documentation or are willing to help translate documentation to your native language, this page will provide you with some information on how to proceed!

Reporting bugs or contributing to the software

If you’ve found a bug in the Arduino software, check if it's already known by looking at its GitHub issue tracker, and if it's not known, add it to the list. If you want to submit a patch to fix a bug or implement a new feature you can open a Pull Request and provide as much detail as you can to help other developers understand and review your contribution. We recommend to start with smaller contributions: picking an easy task is often the best way to take the first step in the community.

The table below lists the GitHub repositories where you can find the source code and issue trackers of the main Arduino software components:

Arduino CLI
Official libraries
Third-party librariesEach library has its own repository, linked from the library directory
Arduino API
AVR boards platform
SAM boards platform
SAMD boards platform
Mbed boards platform
megaAVR boards platform

New features, roadmap and ideas can be discussed on the developer mailing list.


If you’ve found an error in the documentation or you want to improve it, follow these instructions to send your contribution.

Language referenceIssue reports and contributions can be posted directly to this repository:
Tutorials, getting started and other pages on arduino.ccIssue reports and contributions can be posted to this forum section:


If you want to help out with translations, check the following instructions:

IDETranslations are tracked on Transifex.
Arduino CLITranslations are tracked on Transifex. You can also read these instructions on how to add internationalization (i18n) strings to the code.
Language referenceIf a repository for your language already exists (check the list), contributions can be submitted as pull requests there. If a repository does not exist, you can propose its creation by posting in the forum.

Publishing a library

If you want to publish your own library and have it added to the registry, see the Library Manager FAQ.

Website issues

If you find bugs on the website, you can report them through our contact page, where they will be addressed shortly. Your feedback is very welcome!