PX4 Autopilot is an open-source, safety-critical flight control stack maintained by a global community of developers, researchers, and pilots. Whether you fix a typo in the docs, report a bug, or land a new feature, every contribution moves the project forward. This guide explains how to get involved and what the contribution process looks like from start to finish.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/PX4/PX4-Autopilot/llms.txt
Use this file to discover all available pages before exploring further.
Ways to contribute
Bug reports
Open an issue on GitHub with a clear reproduction case, flight log link, and hardware details. Good bug reports are one of the most valuable contributions you can make.
Documentation
Fix typos, improve explanations, add examples, or translate content via Crowdin. Documentation PRs follow the same review process as code.
Code
Implement new features, fix bugs, add drivers, or improve performance. All C/C++ code must follow the PX4 style guide and pass CI checks.
Code review
Review open pull requests, test changes on hardware, upload flight logs to Flight Review, and leave constructive feedback to help maintainers triage work.
PX4 follows the code of conduct. All contributors are expected to foster an open and welcoming environment.
GitHub workflow
All code and documentation changes flow through GitHub pull requests. PX4 targets a linear history using rebases rather than merge commits.Fork the repository
Go to github.com/PX4/PX4-Autopilot and click Fork. Clone your fork locally:
Make your changes
Edit code or documentation. Run
make format on any changed C/C++ files before committing. Write or update tests where applicable.Commit with a conventional message
Follow the conventional commit format (see commit message format below). Each commit should be atomic and independently revertable.
Open a pull request
Push your branch and open a PR against
PX4/PX4-Autopilot:main. Include a description of what changed, why, and a link to a flight log or test evidence if applicable.Branch model
PX4 maintains three long-lived branches:| Branch | Purpose |
|---|---|
main | Active development — unstable by default |
beta | Thoroughly tested — intended for testers |
stable | Points to the latest release |
main for new contributions unless a maintainer directs you otherwise.
Commit message format
PX4 uses Conventional Commits for all commit messages and PR titles. CI enforces this format — commits that don’t match will block merging.Format
| Part | Rule |
|---|---|
type | Category of change (see types table below) |
scope | The module, driver, board, or subsystem affected (e.g., ekf2, mavlink, ci) |
! (optional) | Append before : to mark a breaking change |
description | Imperative mood, at least 5 characters, no trailing period |
Commit types
| Type | When to use |
|---|---|
feat | A new feature |
fix | A bug fix |
docs | Documentation-only changes |
style | Formatting or whitespace — no logic change |
refactor | Code change that neither fixes a bug nor adds a feature |
perf | Performance improvement |
test | Adding or correcting tests |
build | Build system or external dependencies |
ci | CI configuration files and scripts |
chore | Changes that don’t modify source or test files |
revert | Reverts a previous commit |
Good examples
Commits to avoid
Code review process
PX4 maintainers review every pull request before merging. Here is what to expect:- CI must pass. Format checks, unit tests, and build checks all run automatically. A failing CI blocks review.
- Test evidence is required. New features need unit tests or SITL integration tests. Bug fixes need a regression test or a flight log demonstrating the fix.
- Maintainers may request changes. Push additional commits or rebase to address feedback. Do not force-push after a review has started unless explicitly asked.
- Merge policy. Commits are squashed at reviewer discretion for messy histories. Clean, logical commits are preserved individually on
main.
DCO sign-off
PX4 uses the Developer Certificate of Origin (DCO) to certify that contributors have the right to submit their work. Add aSigned-off-by line to each commit:
Community channels
Discord
Join the PX4 Discord server for real-time discussion with developers and users. It is the fastest way to get a quick answer or find collaborators.
Weekly dev call
The development team holds a weekly video call to discuss architecture decisions, PR reviews, and open issues. Check the dev call page for the schedule.
Discuss forum
The PX4 Discuss forum is the place for longer-form questions, feature proposals, and community announcements.
GitHub issues
Use GitHub Issues to report bugs, track feature requests, and follow ongoing work.