Thanks for helping improve this project. The best contributions are small, testable, and clear about the embedded constraint they address.
- Improve or correct documentation.
- Add focused examples or reduce confusing example code.
- Improve sketch organization, board notes, or wiring documentation.
- Make hardware assumptions explicit and easier to reproduce.
Search existing issues first. Include the target board, Arduino core, library versions, and the exact sketch, example, or generated output involved.
For bugs, a minimal sketch is usually better than a large project. Keep enough code to show setup, input, output, and any backing state needed to reproduce the issue.
- Keep changes scoped to one problem.
- Preserve Arduino IDE and Arduino CLI compatibility where applicable.
- Avoid adding heap allocation, Arduino
String, or hidden global state to constrained embedded code unless the tradeoff is explicit. - Put hardware-specific assumptions in examples, board notes, or generated setup code.
- Update docs or examples when behavior changes.
Run the checks that match the files you changed. At minimum:
git diff --checkFor sketch changes, compile the sketch for the documented board and include the board/core version in the pull request.
Use direct, practical language. Prefer concrete commands, code paths, board names, pin names, and observable behavior over broad claims. Keep example READMEs useful without turning them into long tutorials.