Skip to main content
Graduate II
September 29, 2023
Question

STM32F103C6T6 USB Bootloader Flash Issue

  • September 29, 2023
  • 5 replies
  • 12030 views

I've been previously programming the STM32F103C6T6 blue pill with an FTDI via UART and am now trying to flash a USB bootloader binary to program it directly via USB.
I've closely followed the guide on 
https://www.electrosoftcloud.com/en/stm32f103-bootloader-and-programming/ - I've successfully flashed the generic_bootloader_pc_13.bin file via UART, installed the required drivers, and followed the BOOT0 pattern correctly. On connecting via USB, the board is detected as "Maple DFU" in the Device Manager.

Kartik1004_0-1695959768385.png

But STM32CubeProgrammer keeps showing "No DFU detected" when I try connecting via USB and pressing the refresh button.

Kartik1004_1-1695959829733.png

However, when I enter the PID and VID specified in the Maple DFU driver properties shown below in STM32CubeProgrammer: 

Kartik1004_2-1695959884237.png

On refreshing and trying to connect, the error "unknown or unsupported device" is displayed:
Kartik1004_3-1695959973802.png

I've followed several online resources, and nobody seems to encounter this issue.
Can anyone provide any insights into why this might occur?

    This topic has been closed for replies.

    5 replies

    Super User
    September 29, 2023

    STM32CubeProgrammer is looking for the system bootloader DFU, not some other device (Maple DFU).

    I recommend using stm32duino tools to interface with the device via their bootloader.

    Graduate II
    September 30, 2023

    Oh, okay, thanks! But to program the device through STM32CubeIDE via USB, can I use a bootloader, or do I need to resort to UART/ST-LINK?

    Super User
    September 30, 2023

    you decided to use stm cpu and ..cubeide, so you need a st-link to connect/debug.

    if money is a problem, try a cheap st-linkV2 ("clone") stick , 3$ investment. (but buy only, where you can see some comments from buyers, this unit is working fine . there are many bad st-link-sticks, wont work with ide/debug. )

    Graduate II
    September 30, 2023
    Super User
    September 30, 2023

    So does your device show up with error as on the picture above, or as "Maple DFU"? The error shown above is not caused by any 3rd party driver, it is in the low level USB communication. Try a better cable and/or good USB 2.0 (not 3.x!) hub, better a powered one. If still shows up like above, your device (STM32) does not work.

    Graduate II
    September 30, 2023

    The device shows as "Maple DFU" when I boot from the user flash with Arduino STM32 tools and with the error when I boot from the system DFU bootloader. One of the cables I tried was indeed causing problems, and I'll try a USB 2.x hub as my system has USB 3.x ports only. But why not USB 3.x?

    Super User
    September 30, 2023

    But why not USB 3.x?

    New USB 3.x hubs sometimes are less tolerable to "not 100% compatible" full speed devices. Depends on the model, of course.

    Graduate II
    September 30, 2023

    why you dont choice device with system DFU? List is in AN2606

    Graduate II
    October 1, 2023

    So you mean that the STM32F10xxx series lacks a USB bootloader as the only bootloader listed on Page 75 is USART1? Other series do have DFU bootloader listed in their bootloader configuration. Seems there's no way to program the device in hand using STM32CubeProg and USB. I need to use this device so FTDI (to flash bin files)/ST-Link (to use STM32Cube since FTDI doesn't support debugging) are probably the only options :\

    Graduate II
    October 1, 2023

    Yes as you see DFU is only 105 107

    MM1_0-1696143762043.png

    but MCUs with USB interface without this in system ROM, can use user coded DFU ... you test it, but not based on BOOT0 pin...