Showing results for 
Search instead for 
Did you mean: 

Create USB-PD3 Sink Device Using PD2 Source


I am using a NUCLEO-G071RB dev board with a X-NUCLEO-SNK1M1 expansion board to create a USB PD sink application. 

I downloaded the project files from this GitHub repo x-cube-tcpp/Projects/NUCLEO-G071RB/Applications/USB_PD /SNK1M1_Sink/ and only changed the PDOs from the default to the following: 



After building and flashing the firmware to the dev board, I used a TI TPS65982-EVM board to supply the power to the SNK1M1 expansion board's USB-C cable. I also have the VBUS lines on the expansion board connected to a load capable of 150W in order to see the power output. I configured the TPS65982-EVM to be capabilities to 5V @ 3A 12V @ 3A and 20V @ 3A and the PDOs in my usbpd_pdo_defs.h file match this. 



However, I am not able to get any other voltage besides the default 5V @1.5A UNLESS I manually add in the PDO using the STM32CUBE-Monitor application.

I suspect the PDO's I assigned are not being properly pulled, but am struggling to see why that could be. 

Thanks in advance.


ST Employee

Hello @jvl97 

We do not reproduce the issue with your PDO and a commercial type-c power supply.

Please, could you share your modified project with us ?

Best regards


Nicolas P.
ST Employee

Hello @jvl97 

It could be interesting to have a trace with CubeMonitor-UCPD to see the protocol exchanges : there could be the reason of the pdo request rejection.

Perhaps you filled the PDO field structure, but some code is missing in the request message ?

Check also the Wiki