Skip to main content
AWack
Associate III
October 22, 2025
Question

USB PD (UCPD) on STM32H562

  • October 22, 2025
  • 4 replies
  • 555 views

Hi,

I´ve problems getting UCPD running on a STM32H563. With STM32G0 I´ve alraedy realized a lot of such projects with UCPD. Hence I suggest, that it maybe is a problem of the DMA which is much more complicated to configure on the H5. Is there any information about how to configure UCPD on H5?

Best,

Achim

4 replies

Technical Moderator
October 22, 2025

Hi @AWack 

Here you can find example firmware of UCPD on H563. If still having issues linked to UCPD and DMA configuration, provide more details to help you further.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL
AWack
AWackAuthor
Associate III
October 22, 2025

Hi FBL,

unfortunately I still don´t get 20V. Also checked the measured USB voltage in usbpd_pwr_user.c

Please find attached a USB PD log. it infinitely request the source capabilities...

 

Technical Moderator
October 23, 2025

Hi @AWack 

EPR should be supported using our stack. However, as of now we don't have an example firmware to reach 20V and hardware setup to test this. Based on your screenshot, it seems EPR mode, is still not configured! 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL
PPAIL.1
ST Employee
November 17, 2025

Hi @AWack

Please find attached an .ioc for an USB PD DRP on a STM32H573 as example for the DMA configuration on H5.

Feel free to share your .ioc 

-----------------

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

AWack
AWackAuthor
Associate III
January 21, 2026

Hi,

after some time I´ve tried again to get UCPD running with 20V.

I compared my ioc file (see attached) with the one you attached and think all configurations are correct. But unfortunately it still doesn´t work...

 

Best,

Achim

PPAIL.1
ST Employee
January 21, 2026

Hi AWack,

You are using ADC1-IN5 for USB-PD.

Could you try again changing the ADC1 "overrun behaviour" configuration to : "Overrun data overwritten".

Also, there is no need to enable "DMA continuous requests" or for GPDMA configuration for the ADC1.

The rest of your configuration looks fine.

 

AWack
AWackAuthor
Associate III
February 25, 2026

Hi,

 

I´m still struggling... also changing the ADC configuration didn´t help....

I also tried it with the Nucleo H563 board (after desoldering R60). Same result...

Best regards,

Achim

PPAIL.1
ST Employee
March 3, 2026

Hi AWack

For the Nucleo-H653 board, you will find a working .ioc file attached to generate the project. It includes a 20V 100mA PDO.

By connecting a 20V capable USB-Type C charger, the software negociates a 20V. You can verify with STM32CubeMonitor-UCPD.

But, on this hardware, the TCPP01 OVP is set to 6V (R56 = 2.4kOhms), then when Vbus=20V it opens the Vbus path.

Capture d’écran 2026-03-02 154419.jpg

So you can replace R56 by a 620 Ohms resistor to increase the OVP to 22V.

TCPP01_R_OVP.jpg
Warning: It is now possible to have 20V on the board, NEVER place the "PWR SEL" jumper in the "USB USER" position, as this may damage the board and/or your computer. 

I have experimentally validated this solution on my end, please let me know.

Best regards

PPAIL.1
ST Employee
April 9, 2026

Hi AWack

A few additional steps are required in the X-Cube-FREERTOS configuration :

- In the X-Cube-FREERTOS Middleware, under the "Config Parameters" tab, set "LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY" to 2

- Still in the X-Cube-FREERTOS Middleware, under the "CMSIS RTOS2" tab, then under "Tasks and Queues" tab, set the default task Stack Size to 2048.

- Finally, in The "Project Manager" tab of CubeMX, on the left select "Project" and increase the "Minimum Heap Size" to 0x2000.

Please let us know if this also works for you.

Best regards

Pascal