> For the complete documentation index, see [llms.txt](https://nxp.gitbook.io/hovergames/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nxp.gitbook.io/hovergames/userguide/flying/improvements.md).

# Improving flight

## Practice makes perfect

As is often the case, practice makes perfect. When you are flying a drone for the first time, it's not going to be easy and you will make mistakes. As you grow more confident and get more familiar with the controls and the different flight modes, you will be able to fly quicker and more aggressive.

## PID tuning

While the default values should be a good starting point, the controllers that are part of PX4 are not perfectly tuned for every drone. Some improvements are always possible, but are probably not needed unless you are using the drone in more extreme situations, or when you are doing more advanced flying.

The default PID values for the S500 airframe preset are listed below:

```
MC_ROLL_P 6.5
MC_ROLLRATE_P 0.18
MC_ROLLRATE_I 0.15
MC_ROLLRATE_D 0.003
MC_PITCH_P 6.5
MC_PITCHRATE_P 0.18
MC_PITCHRATE_I 0.15
MC_PITCHRATE_D 0.003
```

The PX4 user documentation has a multicopter tuning guide that will be useful if you decide to do your own PID tuning.

{% embed url="<http://docs.px4.io/en/config_mc/pid_tuning_guide_multicopter.html>" %}

## Use GPS as primary altitude source

You may want to try using GPS as the primary altitude source instead of the barometer (pressure sensor). The result is still fused between the two. Depending on your GPS accuracy it might improve the altitude control of your drone. To set GPS as the primary altitude source, set parameter EKF2\_HGT\_MODE to GPS.

{% embed url="<https://dev.px4.io/en/advanced/parameter_reference.html#ekf2>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://nxp.gitbook.io/hovergames/userguide/flying/improvements.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
