Skip to main content
Associate
June 23, 2026
Question

STM32U599VJT USB Not Working on Custom Board (DFU and Application Firmware)

  • June 23, 2026
  • 3 replies
  • 59 views

Hi everyone,

I'm using an STM32U599VJT on a custom board and I'm having trouble getting USB to work.

Problem

The MCU cannot be detected by a PC through USB under any condition:

  • USB DFU mode does not appear when entering the system bootloader.

  • USB also does not work from my application firmware.

  • Windows reports "Unknown USB Device (Device Descriptor Request Failed)" (Error 43).

What I Have Verified

  • The MCU successfully enters the system bootloader.

  • I can program and communicate with the device through the UART bootloader without any issue.

  • Therefore, I am confident that the MCU is actually entering the ROM bootloader.

  • VDDUSB is powered at 3.3 V.

  • VBUS sensing is connected and reads approximately 3.3 V when connected to the PC.

  • USB-C CC configuration is present and the board receives power correctly from the PC.

  • USB D+ measures approximately 3 V.

  • USB D− measures approximately 0 V.

  • The board uses a 25 MHz HSE crystal.

  • The USB signals pass through a USB mux that is shared with an ESP32.

  • The ESP32 can enumerate and communicate with the PC normally through the same USB connector, cable, and mux path.

Because the ESP32 works correctly through the same USB path, I believe the USB connector, cable, CC configuration, and USB mux are functioning properly.

I will attach the schematic of the USB section and related power circuitry below.

Any suggestions would be greatly appreciated.

Thank you.

STM32U599VJT
VBUS_USB

 

USB MUX

 

3 replies

ST Technical Moderator
June 23, 2026

Hi ​@Toobun 

Since the ESP32 enumerates correctly through the same USB connector, cable, and mux, the external USB path is probably not the root cause. The failure is more likely in the STM32U599 hardware side or USB configuration: clocking, USB peripheral initialization, VBUS sensing setup..

STM32 is asserting a full speed attach, but Windows error 43 indicates the host cannot complete the descriptor transaction. That means the USB device is attached electrically but not responding correctly at the protocol level.

The first things to verify are:

  1. the USB 48 MHz clock accuracy and source,
  2. correct PA11/PA12 USB pin configuration,
  3. proper VBUS sensing / floating power configuration in firmware,
  4. whether the ROM bootloader on STM32U599 actually supports USB DFU in the selected boot mode,
  5. maybe the mux is selecting the STM32 path at attach.
To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL
ToobunAuthor
Associate
June 25, 2026

Here is what I have verified so far:

  1. I am using a 25 MHz HSE.
  2. The USB pins are correctly configured.
  3. I have not enabled VBUS Sensing — the device is powered directly from USB.
  4. According to AN2606, the bootloader is DFU V2.2.
  5. The mux has been verified and is definitely selecting the STM32 path.

Below I will also attach a screenshot of my USB settings in CubeMX.

Thank you.

 

ST Technical Moderator
June 25, 2026

Hi ​@Toobun 

Can you change the reference clock source from 16MHz to another value ? can you attach your ioc file?

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL