STM32 solutions for USB Type-C and Power Delivery
Deploying USB Type-C® and power delivery technology requires technical expertise in areas such as connectivity, power management, data communication, and authentication.
More than 500 STM32 MCUs embed a USB Power Delivery controller peripheral (UCPD), enabling to implement sink, source, or dual role ports without the use of an external power delivery controller.
STM32 UCPD MCUs are compliant with the latest USB PD r3.1 specifications and support:
- SPR messages (standard power range up to 100 W)
- EPR messages (extended power range up to 240 W)
- PPS (programming power supply)
- AM (alternate mode)
USB Power Delivery
To enhance design safety, STM32 MCUs are compatible with the cost-effective TCPP0x series of USB Type-C port protection devices.
Combining middleware, configuration and debugging tools, as well as hardware development platforms, the ST ecosystem helps developers to implement USB-C PD technology while ensuring great flexibility.
In addition to managing the typical features of your application, STM32 MCUs with a built-in USB PD peripheral (UCPD) allow you to:
- control the configuration and communications channels (CC lines) of the USB-C connector, which are used during the connection with a USB Type-C device
- carry the USB Power Delivery protocol messages
Ready-to-use hardware and firmware examples are available to implement USB-C and power delivery technology in any embedded system for faster time to market.
STM32 solutions for USB-C comply with the USB Type-C connector system interface specifications (UCSI) in Windows- or Linux-based architectures using a system-on-chip (SoC), an application processor, or an STM32 MPU device as main processor.
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
for STM32 MCUs
for Linux-based STM32 MPUs
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 | USB2.0 FS Device + Host | ||||
STM32G4 | Cortex-M4 | 1 | USB2.0 FS Device only | ||||
STM32L5 | Cortex-M33+ | 1 | USB2.0 FS Device only | ||||
STM32U5 | Cortex-M33+ | 1 | USB2.0 FS Device + host | ||||
STM32H5 | Cortex-M33 | 1 | USB2.0 FS Device + host | ||||
STM32H7R/S | Cortex-M7 | 1 | 1xUSB2.0 HS w/PHY + 1xUSB2.0 FS | ||||
STM32MP2 | Cortex-A53 + Cortex-M33 | 1 | USB 2.0 Host + USB 3.0 |
* 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 STM32CubeH5 STM32CubeH7RS
- 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-UCSI to implement a USB PD dual-role solution in a Linux-based STM32 MPU architecture
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 including SPR and EPR messaging
- 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
STM32G0 | STM32G4 | STM32L5 | STM32U5 | STM32H5 | STM32H7RS | STM32MP13 | |
AC/DC USB PD Power Adapter | 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 | STM32H573I-DK 1 port DRP/DRD 1 port sink | STM32H7S78-DK 1 port DRP 1 port sink | STM32MP135F-DK 1 port DRP/DRD UCSI-certified |
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 | 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 | NUCLEO-H563ZI 1 port sink | NUCLEO-H7S3L8 1 port DRP |