emUSB-C PD
Embedded SoftwareUSB-C Power Delivery protocol stack supporting Source, Sink, and Dual Role operation with dynamic negotiation up to 20 V / 3 A in under 5.1 KB ROM. Available in India from GSAS.
Roles
Source, Sink, Dual Role (DRP)
Power
Up to 20 V / 3 A negotiation
ROM (full)
5.1 KB
ROM (sink only)
3.8 KB
RAM
450 bytes
License
Royalty-free, one-time payment
Overview
About emUSB-C PD
SEGGER emUSB-C PD is a compact USB-C Power Delivery protocol stack for embedded systems that need to negotiate power delivery over USB Type-C connections. The library implements the full PD protocol as defined by USB-IF, covering Source, Sink, and Dual Role Player (DRP) configurations. With dynamic power supply negotiation up to 20 V / 3 A, emUSB-C PD enables devices to request or provide optimal voltage and current levels, essential for battery-powered products, USB-C chargers, docking stations, and any embedded system that uses USB-C as a power interface.
Minimal Footprint, Flexible Configuration
The stack is architected in two layers: a device-independent protocol layer and a hardware-specific driver layer. Each layer is further divided into a base module (handling CC pin sensing and the application API) and a PD module (managing power delivery packet communication). This separation lets developers tailor the build to their use case, a sink-only configuration requires just 3.8 KB of ROM and 450 bytes of RAM, while the full Source + Sink + DRP stack fits in 5.1 KB of ROM.
| Configuration | ROM | RAM |
|---|---|---|
| Full (Source + Sink + DRP) | 5.1 KB | 450 bytes |
| Sink only | 3.8 KB | 450 bytes |
| Source only | 3.3 KB | 450 bytes |
Integration with the SEGGER USB Stack
emUSB-C PD can be used in combination with emUSB-Host and emUSB-Device for designs that carry both power and data over the same USB-C connector. It can also operate standalone, without any USB data stack, for devices that use USB-C purely as a power source or battery charging interface. Features include dead battery signalling, power role swapping, device detection and identification, and variable supply voltage negotiation. Written in ISO/ANSI C and delivered as source code, emUSB-C PD is portable across compilers and targets with royalty-free, one-time-payment licensing.
Core Capabilities
- Full role coverage: Source, Sink, and Dual Role Player (DRP) in a single codebase, so the same library serves a charger, a chargeable device, or a port that must negotiate either way
- Layered architecture: a device-independent protocol layer separated from the hardware-specific driver layer, and each layer split into a base module (CC pin sensing, application API) and a PD module (power delivery packet handling)
- Configurable build size: sink-only, source-only, and full Source+Sink+DRP builds let a project link in only the roles it needs
- Dead battery support: correctly handles the case where a device has no usable charge at power-on and must still negotiate an initial power contract
- Power role swapping: supports renegotiating which side of a connection sources power mid-session, relevant for docking stations and USB-C hubs
Typical Applications
emUSB-C PD is deployed in USB-C wall chargers and power banks that must advertise and negotiate multiple voltage/current profiles, in battery-powered instruments and industrial handhelds that need to both charge from and, in some cases, power accessories through a single USB-C port, and in docking stations and hubs that pass through power delivery negotiated between a laptop and an external charger. Because the stack is agnostic to whether emUSB-Device or emUSB-Host is present, the same emUSB-C PD codebase can be reused across a product line that ranges from power-only accessories to full USB data-and-power designs, reducing the engineering effort of maintaining separate PD implementations for each variant.
Blog
SEGGER Insights
Meet the GSAS Team at electronica India 2026, Stall H3.I45
electronica India 2026 opens on 16 September at BIEC Bengaluru. The GSAS team is on the floor all three days at Stall H3.I45, and this is who you will be talking to and what they can show you.
J-Link Is Now Validated by ST for StellarStudio
STMicroelectronics has fully validated SEGGER J-Link for StellarStudio, the IDE for its Stellar automotive MCU family, and put the probe into continuous validation at Le Mans. What that changes for the toolchain review on a Stellar programme, from GSAS, an authorized engineering partner for SEGGER in India.
An AI Agent That Drives the Debugger: SEGGER and Embedder Connect J-Link to the Loop
SEGGER has given an AI coding agent direct control of J-Link and J-Trace: flash, breakpoints, memory inspection and live RTT on real silicon. The loop only works if the probe can read target RAM while the core runs, and GSAS field engineers know exactly where that breaks first.
Related products
More from SEGGER
All SEGGER products →
embOS RTOS
Safety-certified real-time operating system with zero-interrupt-latency, sub-1 KB ROM footprint, and royalty-free licensing across Classic, MPU, Ultra, and Safe editions. India pricing via GSAS.
View embOS RTOS →
emPower OS
Complete embedded operating system integrating RTOS, middleware, security, connectivity, and UI libraries into a single royalty-free platform. Available in India from GSAS.
View emPower OS →
emNet TCP/IP Stack
Dual IPv4/IPv6 TCP/IP stack with TLS 1.3 via emSSL, zero-copy API, and ~30 KB ROM footprint. Includes MQTT, HTTP server/client, FTP, SNMP, DHCP, and DNS. India pricing and local support from GSAS.
View emNet TCP/IP Stack →FAQ
Common questions about emUSB-C PD
What is SEGGER emUSB-C PD?
Is emUSB-C PD royalty-free?
Which SEGGER middleware for USB-C Power Delivery negotiation?
Can I buy SEGGER emUSB-C PD in India?
Can emUSB-C PD run without a USB data stack?
Interested in emUSB-C PD?
Get pricing, an evaluation unit, or a technical consultation from our application engineers.