# Install PX4 bootloader on STM32 and verify it on QGC

**URL:** <https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719>\
**Category:** Uncategorized\
**Created:** [October 22, 2025, 9:31pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719 "2025-10-22T21:31:43Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicbox](https://discuss.px4.io/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musicbox](https://discuss.px4.io/u/musicbox)\
**Post date:** [October 22, 2025, 9:31pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/1 "2025-10-22T21:31:43Z")

</div>

Hi community,

I am new to the PX4 and want to install PX4 on STM32F411CEU6. The [STM32 Bootloader](https://docs.px4.io/main/en/software_update/stm32_bootloader) page suggests that STM32F4 can support FMUv2 to FMUv4. Therefore, I compile the [PX4-Bootloader](https://github.com/PX4/PX4-Bootloader.git) and use the command `dfu-util -a 0 -s 0x08000000:leave -D ./build/px4fmuv4_bl/px4fmuv4_bl.bin` to flash the bootloader to my board.

```auto
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 10768
Download [=========================] 100% 10768 bytes
Download done.
File downloaded successfully
Transitioning to dfuMANIFEST state

```

After that, I try to use QGroundControl to test the bootloader; however, QGroundControl cannot recognize anything. I have also flashed the FMUv2 and FMUv3 bootloaders to my device, but I get the same failure.

I also compile the [PX4-Autopilot](https://github.com/PX4/PX4-Autopilot). However, the bootloader in PX4-Autopilot, whose size is `2M`, is significantly larger than the bootloader in PX4-Bootloader, whose size is `11K`. The flash memory on my STM32F411CEU6 board is only 512K, and therefore, can not install the bootloader in PX4-Autopilot.

I am wondering whether anyone has already experienced this issue. Thanks a lot for your help!

 ![image](https://discuss.px4.io/uploads/default/original/3X/7/d/7d120426a9a9467bdc8f597adab90548eaf7b451.png)

---

<div class="post-metadata">

**Author:** ![Dave84](https://discuss.px4.io/user_avatar/discuss.px4.io/dave84/32/10033_2.png) [@Dave84](https://discuss.px4.io/u/Dave84)\
**Post date:** [October 23, 2025, 9:05am UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/2 "2025-10-23T09:05:33Z")

</div>

Good day, do you mind pls tell what kind of board you are trying to flash?

---

<div class="post-metadata">

**Author:** ![musicbox](https://discuss.px4.io/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musicbox](https://discuss.px4.io/u/musicbox)\
**Post date:** [October 23, 2025, 7:12pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/3 "2025-10-23T19:12:39Z")

</div>

Sure! The board is [STM32F411CEU6](https://stm32-base.org/boards/STM32F411CEU6-WeAct-Black-Pill-V2.0.html).

---

<div class="post-metadata">

**Author:** ![Dave84](https://discuss.px4.io/user_avatar/discuss.px4.io/dave84/32/10033_2.png) [@Dave84](https://discuss.px4.io/u/Dave84)\
**Post date:** [October 23, 2025, 7:38pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/4 "2025-10-23T19:38:59Z")

</div>

the board cannot support fmuv2,fmuv3 and fmuv4 due the size of the memory…clock etc. That kind of MCU can be use for design a CAN BUS BOARD ADAPTER OR CAN BUS GPS, but now it’s not used much

---

<div class="post-metadata">

**Author:** ![musicbox](https://discuss.px4.io/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musicbox](https://discuss.px4.io/u/musicbox)\
**Post date:** [October 24, 2025, 6:15pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/5 "2025-10-24T18:15:57Z")

</div>

Very thanks for your help! I am curious about the memory you mentioned. Does that memory mean the flash memory? I saw the compiled bootloader in PX4-Bootloader is `11K`, which should be enough for STM32F411CEU6 with 512KB flash memory.

And I don’t know the difference between the bootloader (i.e., compiled `.bin` file) in [PX4-Bootloader](https://github.com/PX4/PX4-Bootloader) and [PX4-Autopilot](https://github.com/PX4/PX4-Autopilot). The first one is `11K` while the second one is `2M`. I would appreciate it if you can help me figure out which one I should use.

---

<div class="post-metadata">

**Author:** ![musicbox](https://discuss.px4.io/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musicbox](https://discuss.px4.io/u/musicbox)\
**Post date:** [October 24, 2025, 6:22pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/6 "2025-10-24T18:22:49Z")

</div>

I read the [Reference Device](https://docs.px4.io/main/en/hardware/reference_design) page, which suggests:

- FMUv4: Pixracer (STM32F427, 168 MHz, 256 KB RAM, 2 MB flash, [pinout](https://docs.google.com/spreadsheets/d/1raRRouNsveQz8cj-EneWG6iW0dqGfRAifI91I2Sr5E0/edit#gid=1585075739))

For my understanding, I should find a board with an MCU that has **at least** 168 MHz, 256 KB RAM, and 2 MB flash. Is this correct?

---

<div class="post-metadata">

**Author:** ![Dave84](https://discuss.px4.io/user_avatar/discuss.px4.io/dave84/32/10033_2.png) [@Dave84](https://discuss.px4.io/u/Dave84)\
**Post date:** [October 24, 2025, 7:40pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/7 "2025-10-24T19:40:32Z")

</div>

If you want develop an FC require time..it’s a nightmare. I can suggest check for an STM32H743…but for a trial just choose an Stm32F777

---

<div class="post-metadata">

**Author:** ![musicbox](https://discuss.px4.io/letter_avatar_proxy/v4/letter/m/77aa72/32.png) [@musicbox](https://discuss.px4.io/u/musicbox)\
**Post date:** [October 27, 2025, 5:33pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/8 "2025-10-27T17:33:32Z")

</div>

Humm… How about [NUCLEO-F767ZI](https://www.amazon.com/NUCLEO-F767ZI-Nucleo-144-Development-STM32F767ZI-connectivity/dp/B09KTPCT4W)? It’s MCU is STM32F767ZI. I just want to prototype the PX4 on this board with QGC.

---

<div class="post-metadata">

**Author:** ![Dave84](https://discuss.px4.io/user_avatar/discuss.px4.io/dave84/32/10033_2.png) [@Dave84](https://discuss.px4.io/u/Dave84)\
**Post date:** [October 27, 2025, 7:04pm UTC](https://discuss.px4.io/t/install-px4-bootloader-on-stm32-and-verify-it-on-qgc/47719/9 "2025-10-27T19:04:08Z")

</div>

It’s a good option but you must define and build your own bootloader binary file and compile your own firmware.
