STM32 solutions for USB Type-C and Power Delivery
Deploying USB Type-C™ and Power Delivery technology requires expertise in different areas, such as connectivity, power management, data communication and authentication.
STM32 microcontrollers are compliant with the latest USB PD r3.1 specifications. They simplify the deployment of USB PD in embedded systems for state-of-the-art application functionality. Our latest STM32 MCU series, such as the STM32G0, STM32G4, STM32L5, and STM32U5 series, have a built-in certified USB PD controller (UCPD), compatible with companion Type-C Port Protection devices from the TCPP0x series to further enhance design safety.
Combining middleware, configuration and debugging tools, as well as hardware development platforms, ST’s ecosystem helps developers deploy USB-C PD technology while ensuring great flexibility.
Why use USB Type-C and Power Delivery technology in embedded systems
USB-C is the preferred communication interface in embedded systems. It also provides a 5V power supply to battery-powered electronic devices. Widely adopted, the reversible USB Type-C connector is more user-friendly and brings several differentiating features that you can leverage in your design.
More interoperability with dual role technology

Power and USB data transfers are no longer unidirectional. Depending on the use case, you can define and change the power role from sink to source (consume or provide power) and/or the USB data role, from device-to-host and vice-versa. The USB PD protocol controls the power and data role swap management.
More power

The USB PD protocol can negotiate up to 240W to recharge your portable devices faster, or simply to supply your application at a higher voltage (from 5 to 48V). This simplifies your design, as the external compliant USB PD charger handles the complexity and associated costs of the power conversion block.
More protocols

The USB PD protocol enables the activation of alternate modes (AM). Typical applications, such as USB Type-C to video dongles, use AM to carry proprietary signals, such as DisplayPort, HDMI, and Thunderbolt over USB.
More protection

The USB PD protocol carries out USB Type-C authentication, which ensures brand protection, secure connectivity and the safe charging of recognized devices.
Here is an overview of the main requirements and typical applications for USB Type-C and Power Delivery:

Solutions
Architecture
On top of managing the traditional functions of your application, STM32 brings two different implementations that will allow you to:
- control the CC lines (configuration and communications channels) of the USB-C connector, which are used during the attachment with a USB Type-C device
- carry the USB power delivery protocol messages
The implementation differs depending on the STM32 you choose for your design, between an STM32 MCU with a built-in USB-C and PD controller (UCPD) or an STM32 MCU as Type-C Port Manager (TCPM) with an external PD controller (TCPC).


This hardware peripheral (UCPD) and its associated PD middleware stack allows you to implement USB Type-C connection for sink, source, or dual role without the use of an external PD controller.
A companion Type-C Port Protection (TCPP series) can protect your design against ESD discharges and high voltage surges on Vbus and the CC lines. This high-voltage device integrates a gate driver to drive the load switch of the power path.
- TCPP01-M12 is optimized for sink.
- TCPP02-M18 is for source application
- And TCPP03-M20 for Dual Role Power application (DRP/DRD)
You can use the X-CUBE-TCPP expansion software package to simplify your development.
Key products with built-in UCPD controller
MCU Series | CPU | UCPD interface | Sink | Source | Dual role power | USB data Interface | Dual role data |
STM32G0x1* | Cortex-M0+ | 2 | 1xUSB2.0 FS Device + Host | ||||
STM32G4 | Cortex-M4 | 1 | 1xUSB2.0 FS Device only | ||||
STM32L5 | Cortex-M33+ | 1 | 1xUSB2.0 FS Device only | ||||
STM32U5 | Cortex-M33+ | 1 | USB2.0 FS Device + host |
* available on STM32G071xx,STM32G081xx,STM32G0B1xx,STM32G0C1xx
Ecosystem
Leverage our ecosystem for a fast and easy development
Starting a USB Type-C design from scratch is not always easy. ST offers a complete ecosystem of software, hardware, and design tools to help you move forward with your design, from idea to final product.
Get started on your prototype with STM32 Nucleo USB Type-C expansion boards
STM32 USB Type-C Nucleo shields are designed for non-expert developers, looking for an easy way to quickly develop basic applications, using STM32 UCPD controllers and companion TCPP devices.
This material comes with the X-CUBE-TCPP expansion software that runs for evaluating sink, source, or dual role applications.

Develop your application with the STM32Cube USB Type-C software ecosystem
- Select and configure your STM32 UCPD controller with STM32CubeMX
- Select STM32 resources and peripherals
- Activate UCPD peripherals and define USB Type-C role
- Define UCPD middleware settings
- Configure USB data peripherals and drivers
- Generate the code
- Shorten your development with STM32Cube MCU packages, including:
- USB PD middleware library
- Billboard USB drivers, FreeRTOS, Azure® RTOS ThreadX
- HAL, low-layer APIs CMSIS
- Examples running on ST boards STM32CubeG0 / STM32CubeG4 / STM32CubeL5 / STM32CubeU5
- Reuse demonstration firmware from real-world use cases:
- X-CUBE-TCPP to implement sink, source, or dual role with STM32 UCPD MCU and companion TCPP
- X-CUBE-USB-PD is our legacy solution for multi-port:
- to implement a Type-C port manager (TCPM) on any STM32 MCU
- to control Type-C Port Controller (TCPC) chips from third parties

Monitor your design with STM32 debugging software and hardware tools
- STM32CubeMonUCPD, free software monitoring and configuring tools for USB Type-C applications:
- Supports USB Type-C 1.2 and USB PD 2.0/3.1
- Port configuration pane for PD setting, VDM, SOP, source and sink capabilities
- Port communication pane for VBUS and IBUS monitoring, distant port capabilities, message selector, and real-time traces

- STM32G071B-DISCO, a USB Type-C and PD sniffer:
- Display USB Type-C power and feature capabilities of any host
- USB sniffer, USB PD data packets and display VBUS voltage, IBUS current
- Debug, configure and inject a USB PD3.1 packet using STM32CubeMonitor UCPD

Hardware tools & reference designs
STM32F0 | STM32G0 | STM32G4 | STM32L5 | STM32U5 | |
USB Type-C to DisplayPort adapter | STEVAL-USBC2DP | ||||
TCPM/TCPC | ON-FUSB3-STM32 (with third-party TCPC) | ||||
AC/DC USB PD Power Adapter | STEVAL-USBPD45C (45W) | STEVAL-USBPD27S (27W / PPS ready) STEVAL-2STPD01 (2 x 60W) | |||
USB Type-C discovery kits | STM32G071B-DISCO (USB-C Sniffer/Analyzer) | B-G474E-DPOW1 1 port DRP | STM32L562E-DK 1 port SNK | B-U585I-IOT02A 1 port DRP | |
Evaluation boards | STM32G0C1E-EV 1 port 45W DRP 1 port sink | STM32G474E-EVAL featuring 1 port DRP | STM32L552E-EV 1 port SNK | STM32U575I-EV 1 port DRP | |
Nucleo boards Nucleo shields | P-NUCLEO-USB002 1 port DRP with STM32F072RBT6 + STUSB1602 | X-NUCLEO-SNK1M1 X-NUCLEO-DRP1M1 X-NUCLEO-SRC1M1 | X-NUCLEO-SNK1M1 X-NUCLEO-DRP1M1 X-NUCLEO-SRC1M1 | NUCLEO-L552ZE-Q 1 port SNK | NUCLEO-U575ZI-Q 1 port SNK |