MeshCore source code contributions
Help with MeshCore development through GitHub pull requests and code contributions
Why contribute to MeshCore?
MeshCore is fully open source and developed by a global community of developers. Anyone can contribute to the firmware, whether you fix bugs, add new features, improve documentation or review code.
The MeshCore community values all contributions - from small typo fixes to major protocol updates. Every level of expertise is welcome. By contributing you not only help the project forward but also learn to work with embedded systems, LoRa technology and GitHub workflows.
This guide shows how to contribute to MeshCore development via GitHub, from setting up your development environment to submitting your first pull request.
Why contribute to MeshCore?
Make an impact
Your code is used by thousands of mesh network users worldwide
Learn and grow
Work with modern embedded tech, LoRa, C++ and real-time systems
Community connection
Become part of an active developer community with shared values
Features you need
Implement functionality you want to use in the network yourself
Build portfolio
Open source contributions are valuable for your resume and career
Get mentorship
Learn from experienced contributors through code reviews and feedback
GitHub workflow step by step
How to work with GitHub to contribute to MeshCore firmware
Step 1: Fork and clone the repository
Create a fork of MeshCore on GitHub and clone to your local machine:
Step 2: Create a feature branch
Create a new branch for your change with a clear name:
Step 3: Implement your change
Write your code, test thoroughly and commit with clear commit messages. Follow the project coding standards and write unit tests where possible.
Step 4: Push and open a pull request
Push your branch to GitHub and open a pull request with description:
Step 5: Code review and iteration
The MeshCore team reviews your code and provides feedback. Process the suggestions, push updates and iterate until the PR is approved and merged.
Types of contributions
There are different ways to contribute to MeshCore - choose what suits you
๐ Bug fixes
Fix bugs you encounter during use:
- โข Reproduce the bug and document steps
- โข Fix the root cause and add test
โจ New features
Implement new functionality:
- โข Discuss first with maintainers via issue
- โข Write design doc for large features
๐ Documentation
Improve README, guides and code comments:
- โข Fix typos and outdated info
- โข Write tutorials and how-to guides
๐งช Testing and QA
Help with testing and quality assurance:
- โข Test new releases on different hardware
- โข Write unit and integration tests
Contribution guidelines
-
โ
Follow coding standards - Use the project code style (see CONTRIBUTING.md)
-
โ
Write clear commit messages - Describe what and why, not just what
-
โ
Keep PRs focused - One PR = one feature or bug fix, not multiple changes
-
โ
Add tests - New features need unit tests where possible
-
โ
Update documentation - If you change API, also update the docs
-
โ
Be respectful - Friendly and constructive communication with reviewers
Frequently asked questions
Do I need to be an expert to contribute?
No! Beginners are welcome. Start with small contributions like documentation fixes or simple bug fixes. The community helps you grow through code reviews and mentorship.
How long does it take for my PR to be reviewed?
Usually within 1-2 weeks, depending on the size of the PR and maintainer availability. Larger features may take longer. You can give a friendly ping via Telegram if it takes longer.
What if my PR gets rejected?
That happens sometimes - it doesn't mean your work is bad. Maintainers explain why (scope, technical fit, etc.). You can use the feedback to improve or try an alternative approach.
Do I need to sign a CLA (Contributor License Agreement)?
No, MeshCore doesn't use a CLA. By contributing you automatically release your code under the same open source license as the project (check the LICENSE file for details).
Can I get paid for contributions?
MeshCore is a voluntary open source project. Some organizations sponsor developers for specific features - ask in the Telegram group if there are bounties or grants available.
Become a MeshCore contributor
Every level of contribution helps the project forward - from typo fixes to protocol updates
Fork the repo, make your first change and open a pull request!