STMicroelectronics STM32 USB Type-C® & Power Delivery Solutions
Fast & effective USB Type-C® PD deployment with certified STM32 solutions. No coding required.
Agenda
- Introduction to USB Type-C® technology
- Solutions using STM32 UCPD controller
- Development ecosystem
- USB Type-C® solution for Linux-based STM32 MPUs
Introduction to USB Type-C® Power Delivery technology
The industry is moving to USB Type-C® for charging embedded devices.
Using a single USB Type-C® charging solution for small and medium devices to reduce charging options and e-waste.
- Universal USB Type-C® charging brings more convenience and a better experience compared to previous USB generation.
- E-waste and CO2 emission reduction thanks to single USB Type-C® charging solution deployed in the EU.
- A wide range of products subject to a common charger as part of the radio equipment directive proposal.
Why choose USB Type-C® for embedded devices
More versatile
- Reversible, robust connector, thinner than previous micro-C connector.
- More interoperability: sink, source or dual role, while being host or device.
More power
- 15 W at 5 V with Type-C only.
- Up to 100 W with USB Power Delivery (USB PD) 3.1 protocol.
- Extend power range up to 240 W @ 48 V with USB PD 3.1.
- Universal fast charging capability with programming power supply (PPS).
More protocols and speeds
- Separate channels for USB 2.0 (LS/FS/HS) and USB 3.x (SuperSpeed).
- Proprietary protocols supported (DP, HDMI, Ethernet, Thunderbolt...).
More protection
- Device/source authentication via USB PD (Vendor define messages).
- Firmware update or secure firmware install (SFI).
Enabling many use cases
- Power swap capability (from sink to source or vice versa).
- USB data swap capability (from device to host or vice versa as for OTG).
USB Implementers Forum extends power range up to 240 W
Supply your device with a universal power adapter.
Legacy USB | USB Type-C® only | USB Type-C® & PD3.1 (SPR*) | USB Type-C® & PD3.1 (EPR**) |
---|---|---|---|
From 2.5 W (5V-0.5A) | Up to 15 W (5V-3A) | Up to 100 W (9V/15V/20V up to 5A) (*standard power range) | Up to 240 W (28V/36/48V up to 5A) (**extended power range) |
More interoperability and use cases
Sink: Swap your power role.
Source
Host
Device: Swap your USB data role.
More interoperability with dual role.
USB PD communication protocol (Halt duplex 300 kbps)
Source or sink power up to 240 W with 5 V to 48 V on Vbus (5A max).
More power.
More protocols.
Activate the alternate mode to enable DisplayPort, HDMI, Ethernet, Thunderbolt protocols.
Solutions using STM32 UCPD controller
Saving time, cost, and reducing complexity with STM32
STM32 with USB Type-C® connector simplifies your design, eliminating the need for an external PD controller.
Fast prototyping without coding
- Ready-to-use hardware and firmware examples.
- Code generation for all USB Type-C® roles on STM32.
- Easy debug with STM32CubeMonUCPD software tool.
Optimize bill of material and safety
- CC logic, PD transceiver PHY, USB2 device/host interface.
- Companion Type-C Port Protection devices (TCPP0x).
STM32 supports the latest USB Type-C® and PD3.1 standards
- SPR and EPR(*) power range up to 240 W, PPS ready. Sink, source, dual-role power and data roles.
- UCPD peripheral is USB-IF certified & supports connector management and USB PD r3.1 protocol (SPR, EPR*, PPS etc.).
Diagram showing power range progression: Legacy USB (2.5 W), USB Type-C® (15 W), USB PD3.1 (SPR/100 W), USB PD3.1 (EPR/240 W).
A wide range of STM32 MCUs with UCPD
More than 730 STM32 MCUs feature a certified USB Type-C® & PD 3.1 controller.
- Mainstream microcontrollers: STM32G0
- Ultra-low power microcontrollers: STM32L5, STM32U5
- Mixed-signal microcontrollers: STM32G4
- High-performance microcontrollers: STM32H5, STM32H7R/S, STM32N6 (coming soon)
- Microprocessors: STM32MP2
UCPD highlights
Example in STM32G0x1 access line
System: Power supply (POR/PDR/PVD/BOR), Xtal oscillator (32 kHz + 4 to 48 MHz), Internal RC oscillators (32 kHz, 16 MHz), Internal RC oscillator (48 MHz), PLL + Prescaler, Clock control, RTC/AWU, Systick timer, 2x watchdogs, Cyclic redundancy check (CRC), Encryption (AES), True RNG.
Connectivity: 3x SPI (IPS), 6x USART (3x with LIN, smartcard, IrDA, modem control), 2x LPUART, 3x I2C, Fast Mode Plus (2x SMBus, PMBus), 2x FDCAN, USB Power Delivery (UCPD) (incl. BMC + PHY), USB2.0 full Speed, Dual role (D/H), Crystal less.
Analog: Temp. sensor, 1x 12-bit ADC SAR (16-channels/2.5 MSPS), 1x 12-bit DAC 2ch, 3x comparators.
Control: 1x 32-bit timer, 1x 16-bit Motor C. timer, 6x 16-bit timers, 2x Low-power timers.
UCPD peripheral
- Dual port USBP3.1 certified solution (TID 227).
- Support sink, source & dual role modes (DRP/DRD).
- CC logic control and voltage monitoring.
- Built-in Rp/Rd and dead battery resistors.
- USB PD transceiver PHY.
- Digital BMC / CRC encoding/decoding.
- Support programming power supply (PPS).
- Enable Fast role swap signaling (FRS).
USB2.0 dual role data interface
- USB2.0 data interface (FS, HS).
- Dual-Role mode supported (Device/Host).
- Crystal-less.
Use the STM32-FINDER app to quickly find STM32 MCUs with USB interfaces
The smartphone application STM32-FINDER allows identification of STM32 with a UCPD controller.
Navigation: STM32 Finder -> Parametric Search -> USB INTERFACES -> UCPD.
Results show a list of STM32 products with UCPD capabilities.
Architecture & solutions overview
STM32 MPU or AP, SoC (Windows/Linux system)
Includes: USB host/device, UCSI, DP/HDMI, SBUx, USB3.x, USB2.0 (Dp/Dm), CC1/CC2, Mux.
STM32 USB PD3.1 controller
Includes: Application tasks, UCSI driver (optional), Policy manager, USB PD stack, UCPD peripheral.
TCPP0x port protection
Includes: Dead battery, ESD/OVP protection, N-gate driver, OCP*, Bus discharge* (*when required).
References design
- For SINK/Device: X-NUCLEO-SNK1M1 based on TCPP01-M12.
- For DRP/DRD: X-NUCLEO-DRP1M1 based on TCPP03-M20.
- For SOURCE/Host: X-NUCLEO-SRC1M1 based on TCPP02-M18.
Safely connect with high-voltage Port Protection TCPP
TCPP0x Port protection: Dead battery, ESD/OVP protection, N-gate driver, OCP*, Bus discharge* (*when required).
SINK TCPP01-M12 | SOURCE TCPP02-M18 | DRP TCPP03-M20 | |
---|---|---|---|
CC: ESD +8 kV, OVP, Dead batteries, Vconn switch, Over current protection, discharge | ✔️ | ✔️ | ✔️ |
VBUS: Gate driver | Sink | Source | Sink / Source |
VBUS: Over Voltage protection, Over current protection, current sense | ✔️ | ✔️ | |
VBUS: Discharge | Bidirectional | ||
Low pin count package | QFN-12L (3x3) | QFN-18L (3.5x3.5) | QFN-20L (4x4) |
Typical implementation for sink with TCPP01-M12
Features: VBUS monitoring and protection (OVP), Drive VBUS with integrated gate driver.
STM32 UCPD attachment: USB Type-C®, USB PD stack, Application tasks.
CC lines protection: OVP (6 V) against short-to-VBUS, ESD protection, Dead battery.
Typical implementation for source with TCPP02-M18
Features: VBUS monitoring, OVP/OCP protections, Integrated gate driver, Integrated discharge for VBUS and VCONN, Current sensing.
STM32 UCPD attachment: USB Type-C®, USB PD stack, Application tasks.
CC lines protection: OVP (6 V) against short-to-VBUS, ESD protection, Dead battery.
Typical implementation for dual role with TCPP03-M20
Features: Current sensing with digital output, VBUS/VCONN discharge, VBUS/IBUS monitoring, VBUS OVP/OCP protections and gate drivers.
STM32 UCPD attachment: USB Type-C®, USB PD stack, Application tasks.
CC lines protection: OVP (6 V) against short-to-VBUS, 24 V ESD protection on CC lines, VCONN OCP (100 mW) and OVP(6 V), Dead battery.
Enable dual-role devices
Dual role devices can act as source or sink (dual role power) while being host or device (dual role data) for USB data communication purposes.
DRD allows developers to extend interoperability of their device by supporting advanced use-cases.
Swapping between power and data roles is performed independently by using USB PD swap commands.
DRD replaces and enhances "on-the-go” becoming obsolete.
Dual-role demo STM32H5 discovery kit
- Be sink, Supply/recharge your device.
- Exchange data with USB accessory.
- Connect with dual role devices.
Description of STM32H573I-DK discovery kit and its dual-role capabilities.
Dual-role device showcase with STM32H7S78-DK
Swap your data role between host or device using USB PD protocol.
Development ecosystem
Quickly evaluate our solutions with STM32 Nucleo USB Type-C® expansion boards
- For sink/device: X-NUCLEO-SNK1M1 Based on TCPP01-M12
- For DRP/DRD: X-NUCLEO-DRP1M1 Based on TCPP03-M20
- For source/host: X-NUCLEO-SRC1M1 Based on TCPP02-M18
A no-code solution for your development
Master USB Type-C®/PD on STM32 without coding
- Selection and configuration of STM32 UCPD peripheral.
- Generation of certified USB Type-C® application codes for sink, source, and dual role using STM32CubeMX and X-CUBE-TCPP software pack.
Debug your application with our monitoring tools.
STM32CubeMonUCPD: A free software monitoring tool for USB Type-C® applications.
- Support of USB Type-C® 1.2 and USB PD r3.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.
- Discover, display USB Type-C® power and feature capabilities of any host.
- Sniff USB PD data packets and display Vbus voltage, Ibus current.
- Inject USB PD3.1 packet.
Reuse our application source codes in your project
Shorten development time with STM32CubeMCU packages
- USB PD middleware library.
- Billboard USB drivers, FreeRTOS™, AzureRTOS ThreadX HAL, low-layer APIs CMSIS.
- Application examples running on ST boards.
Download links: STM32CubeG0, STM32CubeG4, STM32CubeL5, STM32CubeU5, STM32CubeH5, STM32CubeH7RS.
Visit our Wiki page on USB Type-C®
Find all the information required for beginners and advanced users.
https://wiki.st.com/stm32mcu/wiki/USB_Power_Delivery_overview
Hardware tools & reference designs
SOLUTIONS | STM32G0 | STM32G4 | STM32L5 | STM32U5 | STM32H5 | STM32H7RS | STM32MP13 |
---|---|---|---|---|---|---|---|
AC/DC USB PD power adapter | STEVAL-USBPD27S (27 W / PPS ready) STEVAL-2STPD01 (2x 60 W) |
||||||
USB Type-C® discovery kits | STM32G071B-DISCO (USB Type-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 | STM32H7S78-DK 1 port sink | STM32MP135F-DK 1 port DRP/DRD UCSI-certified |
Evaluation boards | STM32G0C1E-EV 1 port 45 W DRP 1 port Sink |
STM32G474E-EVAL featuring 1 port DRP | STM32L552E-EVAL 1 port SNK | STM32U5751-EV 1 port DRP | |||
Nucleo board Nucleo shield | X-NUCLEO-SNK1M1 X-NUCLEO-SRC1M1 |
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 |
2x60 W PD3.1 dual port power adapter
Based on STM32G0 and STPD01PUR programmable buck converters.
Key features
- Two USB Power Delivery source ports.
- Output power up to 120 W-rated (60 W per port), managed through a power sharing algorithm.
- Up to four output PDOs for each port (5 V@3A, 9V@3A, 15V@3A, 20 V@3 A).
- Compliant with USB Type-C® 2.1 and PD 3.1 specifications.
Key products
- STM32G071RBT6 MCU embedding two USB PD interfaces.
- Two STPD01PUR DC-DC converters dynamically set by I²C, suitable to implement power sharing in USB PD applications.
- Two on-board TCPP02-M18 protections for USB Type-C® and PD source applications: OVP, UVP, OC, short-circuit, and OTP protections.
Board: STEVAL-2STPD01
USB Type-C® solutions for Linux-based STM32 MPUs
Architecture & solutions overview
STM32 MPU or AP, SoC (Windows/Linux system)
Includes: OS policy manager, Application manager, UCSI drivers.
STM32 USB PD controller
Includes: Application tasks, UCSI driver (optional), Policy Manager, USB PD stack, UCPD peripheral.
TCPP0x port protection
Includes: Dead battery, ESD/OVP protection, N-gate driver, OCP*, Bus discharge* (*when required).
Reference design
STM32MP135F-DK with X-CUBE-UCSI Cube expansion firmware.
Turnkey UCSI-certified solution
X-CUBE-UCSI
- Allows users to implement USB Type-C® ports in OS-based system.
- Compliant with the USB Type-C® connector system interface (UCSI) specification enabling OS (Linux, Windows, Android) to supervise the USB Type-C® ports.
Reference design
- USB-certified (TID 8088) STM32MP135F-DK discovery board features an STM32MP135 as the main application processor, connected to an STM32G071 MCU as the UCSI PD controller.
- The X-CUBE-UCSI STM32Cube expansion software to build a USB PD dual-role power (DRP) project.
Releasing your creativity
- /STM32
- @ST_World
- USB PD Community
- STM32 solutions for USB Type-C® PD
- wiki.st.com/USBPD
- X-CUBE-TCPP on github.com
- STM32 USB Type-C® & PD solutions
- TCPP product page
Related Documents
![]() |
STM32 Nucleo-144 Boards: Features, Specifications, and Ordering Information | STMicroelectronics Comprehensive data brief for STMicroelectronics STM32 Nucleo-144 development boards, detailing features, specifications, available models, development environment, and ordering information. |
![]() |
STM32 Nucleo-144 Boards Data Brief - STMicroelectronics Explore the STM32 Nucleo-144 boards from STMicroelectronics, offering an affordable and flexible platform for prototyping with various STM32 microcontrollers, featuring extensive connectivity and on-board debugging. |
![]() |
STM32 Nucleo-64 Board: Features, Specifications, and Ordering Information A data brief detailing the features, system requirements, development toolchains, demonstration software, and ordering information for the STM32 Nucleo-64 board from STMicroelectronics. |
![]() |
STM32 Nucleo-64 Boards: Development Platform Overview Comprehensive data brief detailing the features, ordering information, and development environment for STM32 Nucleo-64 microcontroller development boards from STMicroelectronics. |
![]() |
STM32 MCU Solutions for USB Type-C™ and Power Delivery Explore STMicroelectronics' STM32 MCU solutions for USB Type-C™ and USB Power Delivery (PD) technology. Learn about features, benefits, hardware, and software tools for implementing USB Type-C™ in embedded devices. |
![]() |
STM32 Nucleo Boards User Manual - UM1724 Comprehensive user manual (UM1724) for STMicroelectronics STM32 Nucleo boards. Details features, hardware layout, configuration, power supply, connectors, and usage for development with STM32 microcontrollers, including models like NUCLEO-F030R8, NUCLEO-F103RB, and NUCLEO-F401RE. |
![]() |
Getting Started with MotionPM Real-Time Pedometer Library in X-CUBE-MEMS1 for STM32Cube This document provides a guide to getting started with the MotionPM middleware library, part of the X-CUBE-MEMS1 software for STM32Cube. It explains how to use the library to acquire accelerometer data and provide real-time information on steps and cadence, compatible with various STM32 microcontrollers and development boards. |
![]() |
Getting Started with MotionCP Real-Time Carry Position Library for STM32Cube This document provides a guide to using the MotionCP middleware library, part of the X-CUBE-MEMS1 expansion for STM32Cube, to detect real-time carry positions of a device using ST MEMS sensors. |