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:
Software | Repository |
---|---|
IDE | https://github.com/arduino/arduino-ide |
Arduino CLI | https://github.com/arduino/arduino-cli |
Official libraries | https://github.com/arduino-libraries |
Third-party libraries | Each library has its own repository, linked from the library directory |
Arduino API | https://github.com/arduino/ArduinoCore-API |
AVR boards platform | https://github.com/arduino/ArduinoCore-avr |
SAM boards platform | https://github.com/arduino/ArduinoCore-sam |
SAMD boards platform | https://github.com/arduino/ArduinoCore-samd |
Mbed boards platform | https://github.com/arduino/ArduinoCore-mbed |
megaAVR boards platform | https://github.com/arduino/ArduinoCore-megaavr |
New features, roadmap and ideas can be discussed on the developer mailing list.
Documentation
If you’ve found an error in the documentation or you want to improve it, follow these instructions to send your contribution.
Section | Instructions |
---|---|
Language reference | Issue reports and contributions can be posted directly to this repository: https://github.com/arduino/reference-en |
Tutorials, getting started and other pages on arduino.cc | Issue reports and contributions can be posted to this forum section: https://forum.arduino.cc/c/community/website-and-forum/40 |
Translation
If you want to help out with translations, check the following instructions:
Section | Instructions |
---|---|
IDE | Translations are tracked on Transifex. |
Arduino CLI | Translations are tracked on Transifex. You can also read these instructions on how to add internationalization (i18n) strings to the code. |
Language reference | If 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 arduino.cc website, you can report them through our contact page, where they will be addressed shortly. Your feedback is very welcome!