> For the complete documentation index, see [llms.txt](https://bellflight.gitbook.io/vertical-robotics-competition-phase-ii/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bellflight.gitbook.io/vertical-robotics-competition-phase-ii/phase-ii-software/flight-controller-firmware.md).

# Flight Controller Firmware

In Phase 2, you'll need to update the firmware of your NXP flight controller, with a custom version of PX4 in order for your drone to properly work with the April Tags.

First, download **the `nxp_fmuk66-v3_default.<version>.px4` file** from the latest GitHub release to your Windows computer: <https://github.com/bellflight/VRC-2021-Phase-II/releases/latest>

Now, connect the NXP flight controller to your Windows computer with the included Micro USB cable. Make sure you orient the cable correctly, it's upside down of what you might expect.

![](https://2067701961-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiT5g4L04alXNmboKaR%2F-Mj74P6ErUgszS3J7jIf%2F-Mj75K511234OY9VN6Gl%2Fimage.png?alt=media\&token=22f752a2-0b21-448f-9590-dbeac3463117)

Now, open QGroundControl, click on the "Q" in the top-left, then "Vehicle Setup" and finally "Firmware".

![](https://2067701961-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiT5g4L04alXNmboKaR%2F-Mj6sTnzOb1Rija9QhE9%2F-Mj74HfpwLnEcK2jDz5n%2Fimage.png?alt=media\&token=047b42f3-51bc-4467-812c-e6f502f50c5e)

![](https://2067701961-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiT5g4L04alXNmboKaR%2F-Mj6sTnzOb1Rija9QhE9%2F-Mj74NHDIOkelht6bSaS%2Fimage.png?alt=media\&token=4ab1c3a6-b56b-4388-bba1-4844a3953555)

Once QGroundControl recognizes the flight controller, select "Advanced Settings", then "Custom firmware file..."

![](https://2067701961-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiT5g4L04alXNmboKaR%2F-Mj74P6ErUgszS3J7jIf%2F-Mj75oxQcjj2w2uP-aZz%2Fimage.png?alt=media\&token=27c6e3b2-2022-4b4c-8fa1-5d253bb8df67)

Then click "Ok" and select the firmware file you downloaded. Now, just let QGroundControl do it's thing.

![](https://2067701961-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiT5g4L04alXNmboKaR%2F-Mj74P6ErUgszS3J7jIf%2F-Mj767l_VsVnPMkNJb2P%2Fimage.png?alt=media\&token=7f82d98c-7c72-4038-9ad9-a28ebbb863ce)

When it it's finished, you'll see the message "Upgrade complete" and the window will close itself.

![](https://2067701961-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MiT5g4L04alXNmboKaR%2F-Mj74P6ErUgszS3J7jIf%2F-Mj76M98KavTopPdDFCY%2Fimage.png?alt=media\&token=f248b56a-487a-4a6e-819b-1540c2f10eae)
