Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emUSB-C PD

    emUSB-C PD
    Software to manage USB-C power delivery in embedded applications

    emUSB-C PD is a complete power delivery protocol implementation for USB-C as defined by USB-IF, especially designed for use in embedded devices.

    Contact us
    Documentation
    Product icon SEGGER emUSB-C PD
    1. 1.Overview
    2. 2.Key features
    3. 3.Use cases
    4. 4.How emUSB-C PD works
      1. 4.1.Pinout functions
    5. 5.Typical resource usage
    6. 6.Licensing

    Overview

    emUSB-C icon, Product of the Year 2024 con

    emUSB-C PD turns the cable into a smart connection, enabling the detection of the type of device connected, power supply capabilities, USB Host/Device software, and more. With SEGGER's emUSB-C PD library, embedded applications can easily handle a USB-C port on any embedded device with a USB PD controller.

    emUSB-C PD can detect whether a connected device is a power source or sink, and even identify USB data roles (host/device). For devices that use USB-C purely as a power source or for battery charging, it supports features such as dead battery signaling, ensuring reliable power management even under challenging conditions.

    The library is highly efficient, with ISO/ANSI C source code and a very easy API for straightforward integration into embedded applications. Developers can also configure it for minimal memory footprint, making it ideal for resource-constrained systems. Additionally, emUSB-C PD supports the use of chargers with variable supply voltage, enhancing flexibility for powering devices.

    emUSB-C PD can be used in combination with emUSB-Host and/or emUSB-Device. It can also be used without a USB stack for devices that just use USB-C as a power source or to charge a dedicated battery.


    Key features

    emUSB-C PD offers a robust set of capabilities that make USB-C integration seamless and efficient for embedded systems. These features are designed to optimize power delivery, device compatibility, and ease of implementation

    Role swap

    Per default, the USB host is always the power source and a device is always the power sink. Using role swaps, a host can be a power sink and a connected USB device can be the power source.

    Device connection detection on USB Type-C connectors

    The library detects and identifies devices connected to USB-C ports, ensuring compatibility and optimal functionality.

    Dynamic power supply negotiation up to 20V 3A

    emUSB-C PD enables embedded applications to negotiate power delivery dynamically, ensuring devices receive the optimal voltage and current for their needs.

    Use cases

    USB-C has additional lines and can transmit more power than previous USB connections. Even for power-hungry applications, the USB cable can transmit enough power from the source as well. This opens specific use cases, mostly related to different models to provide power, and helps embedded system developers meet the requirement of an EU mandate. According to the new EU Common Charger Directive (Radio Equipment Directive 2014/53/EU), all electronic equipment using wired charging technology is required to be powered via USB-C cable.

    Avoiding sudden power loss

    When a device regularly powered by battery is connected to another device, it could switch off its own power pack and draw the power from the connected device to reduce the drain on its batteries. Or once its batteries start getting depleted, it can ask the other device to provide power avoiding a sudden loss of connection.

    Use case graphic: Black background, USB-C plug including fast forward icon

    Faster charging with USB-C

    With traditional USB, power is limited to 5V and 500mA, with 1.5A as the best case scenario with charger detection. This rarely provides enough power to reliably charge a battery and when it does, it definitely takes a long time. With USB-C, the connection can be used to transmit higher voltages and higher currents. To achieve this, the USB-C PD protocol is used to query the capabilities of the cable and to request power from the sourcing device.

    How emUSB-C PD works

    emUSB-C PD is a software library for embedded applications that fully supports the power delivery protocol implementation of USB-C. It consists of two layers: The device-independent emUSB-C PD protocol stack and a driver to handle the specific target hardware. Drivers are available for several different target hardware controllers.

    Both layers are divided into two functional modules: The base module that provides the API for the application and handles the static sensing of the CC pins, and the PD module that is responsible for the power delivery packet communication. The emUSB-C PD API can also be used in connection with a legacy OTG driver to implement OTG functionality on a device without a USB-C connector.


    Pinout functions

    USB-C receptacle pin pinout

    The USB-C connector has 24 pins. The USB-C connector is primarily used to control the additional CC pins CC1 and CC2. These are the channel configuration pins that are used to determine the cable alignment, the role distribution, and the port control.


    Typical resource usage

    FunctionCodeRAM
    USB-C OTG (on the go)1400 bytes220 bytes
    USB-C PD (power delivery)5100 bytes450 bytes
    USB-C OTG (sink only) 1000 bytes220 bytes
    USB-C PD (sink only)3800 bytes450 bytes
    USB-C OTG (source only)1000 bytes220 bytes
    USB-C PD (source only)3300 bytes450 bytes

    Licensing

    emUSB-C PD is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emUSB-C PD can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emUSB-C PD is royalty-free and not subscription-based.

    Get in touch with us

    Have questions or need assistance? Our Embedded Experts are here to help!

    Reach out to us for:

    • Licensing quotes
    • Technical inquiries
    • Project support

     

    Contact us

    Headquarters

    SEGGER Microcontroller GmbH

    Ecolab-Allee 5
    40789 Monheim am Rhein, Germany
    info@segger.com
    Tel.: +49-2173-99312-0
    Fax: +49-2173-99312-28

    Locations

    USA: SEGGER Microcontroller Systems LLC

    Boston area
    101 Suffolk Lane
    Gardner, MA 01440, USA
    us-east@segger.com
    Tel.: +1-978-874-0299
    Fax: +1-978-874-0599

    Silicon Valley
    Milpitas, CA 95035, USA
    us-west@segger.com
    Tel.: +1-408-767-4068

    China: SEGGER Microcontroller China Co., Ltd.

    Room 218, Block A, Dahongqiaoguoji
    No. 133 Xiulian Road
    Minhang District, Shanghai 201199, China
    china@segger.com
    Tel.: +86-133-619-907-60

    ISO 9001 certified

    ISO 9001

    30+ years of experience

    First-class embedded software tools since 1992
    • Imprint
    • Disclaimer
    • Privacy Policy
    © 2025 SEGGER - All rights reserved.