Table of contents
Collapse the table of content
Expand the table of content

Windows support for USB Type-C connectors

Last Updated: 2/15/2017

Last Updated

  • December 2016

Official specifications

Windows support

Describes Windows support for USB Type-C connector and tasks for OEMs who are building USB Type-C systems, including how to write drivers that manage different features of the connector.

A traditional USB connection uses a cable with a USB A and USB B connector on each end. The USB A connector always plugs in to the host side and the USB B connector connects the function side, which is a device (phone) or peripheral (mouse, keyboard). By using those connectors, you can only connect a host to a function; never a host to another host or a function to another function. The host is the power source provider and the function consumes power from the host.

The traditional configuration limits some scenarios. For example, if a mobile device wants to connect to a peripheral, the device must act as the host and deliver power to the connected device.

The USB Type-C connector, introduced by the USB-IF, defined in the USB 3.1 specification, addresses those limitations. Windows 10 introduces native support for those features.

usb connector comparison

Windows 10 USB Type-C

USB Type-C symmetric cable

USB Type-C connector is reversible and symmetric.

Allows for faster charging up to 100W with Power Delivery over USB Type-C.

Single connector for both USB Hosts and USB Devices

Can switch USB roles to support a USB host or device.

Can switch power roles between sourcing and sinking power

Supports other protocols like DisplayPort and Thunderbolt over USB Type-C.

Introduces USB Billboard device class to provide error notifications for Alternate Modes.


The main component are: the USB Type-C connector and its port or PD controller that manages the CC pin logic for the connector. Such systems typically have a dual-role controller that can swap the USB role from host to function. It has Display-Out module that allows video signal to be transmitted over USB. Optionally it can support BC1.2 charger detection.

Hardware design of a USB Type-C system

Hardware design for a USB Type-C system with an embedded controller

Consider recommendations for the design and development of USB components, including minimum hardware requirements, Windows Hardware Compatibility Program requirements, and other recommendations that build on those requirements.

Hardware component guidelines USB

  1. If you are building is a mobile device (such as a phone) modify system ACPI to indicate to the Microsoft in-box function controller driver that the connector is a USB Type-C connector.
  2. If you are building a dual-role mobile device, modify system ACPI to enable the Microsoft in-box USB role-switch driver.
  3. Bringing up the connector driver depends on the driver that you choose for the connector, Microsoft in-box driver, UCSI (UcmUcsi.sys) or a custom driver.
    • If you are using UCSI, follow the instructions given in Intel BIOS Implementation of UCSI to load the driver.
    • If you are using a custom driver, load the driver by using the connector driver installation package.
  • Perform various functional and stress tests on systems and devices that expose a USB Type-C connector.

    Test USB Type-C systems with MUTT ConnEx-C

  • Run USB tests included in the Windows Hardware Lab Kit (HLK) for Windows 10.
    Note Run USB function HLK tests with a C-to-A cable (searc for "Windows USB Device" in the HLK search box.
  • Certification/Compliance

    Attend Power Delivery and USB-C compliance workshops hosted by the standards bodies,

Send comments about this topic to Microsoft

© 2017 Microsoft