One of the most common pitfalls in Hardware Design for Type-C interfaces is confusing the legacy protocols used by USB-A ports with the native USB Type-C protocol. Some designers mistakenly treat D+ / D− as the core charging detection pins of Type-C, which can lead to design failures.
The voltage is a normal 5V, the polarity is correct, but the device still does not charge, fails to be recognized, only works in one plug orientation, or has limited charging current. Compatibility issues may also occur with some phones.
In many cases, there is basically one reason: CC1 and CC2 are not connected correctly. Let's look at the most common 5V Type-C charging configuration. Once you understand it, you can use it directly in your Type C Design.
For a Type-C interface, CC1 / CC2 are the core channels for power role detection, connection detection, current capability detection, and USB PD communication.
D+ and D− do not handle basic Type-C power detection or USB PD negotiation in a standard C-to-C connection.
This is one of the key differences between traditional USB and modern USB Type C Design:
In simple terms:
C-to-C charging: Basic power detection mainly relies on CC, not D+ / D−.
A-to-C charging: Legacy USB-A charging protocols may use D+ / D− for charging detection.
Taking a standard USB-C-to-USB-C charging connection as an example, the Source and Sink first establish a connection through the CC pins.
The basic process is:
1. The charger provides Rp pull-ups on CC1 and CC2.
2. The phone or other powered device uses Rd pull-downs to indicate that it is a Sink.
3. The two sides detect the connection and determine the available Type-C current capability through CC.
4. If both sides support USB PD, they can further communicate through the CC channel to negotiate voltage, current, and power.
It is important to note that 56KΩ, 22KΩ, and 10KΩ Rp values correspond to different advertised current capabilities. They should not be interpreted as “56KΩ directly unlocks 5V/3A.”
Therefore, Type-C current capability detection and USB PD fast charging should be distinguished:
D+ / D− mainly handle USB 2.0 data and certain legacy charging protocols.
CC stands for Configuration Channel and is an important feature that distinguishes USB Type-C from traditional USB-A interfaces.
CC1 and CC2 are mainly responsible for:
Therefore, in a standard Type-C C-to-C power connection: Correct CC configuration is critical to proper device detection and power delivery. This is why CC routing and component placement are important in USB PCB Design.
D+ / D− are essentially USB 2.0 differential data lines.
They are mainly used for:
1. USB 2.0 data transmission, programming, and communication
2. Compatibility with certain legacy USB-A charging protocols
For example, USB BC1.2 charging detection mechanisms may use D+ / D−.
The key distinction is:
Therefore, the fact that D+ / D− were widely used for charging detection in the USB-A era does not mean that they are required for basic charging in a USB-C-to-USB-C connection. This distinction is important in practical USB Design.
The most common Type-C CC configurations can be divided into three categories: Sink, Source, and DRP.
Typical resistor values include:
Rp = 56KΩ / 22KΩ / 10KΩ
Rd = 5.1KΩ
The exact configuration depends on the device role and the Type-C / USB PD requirements.
Typical connection:
CC1 → 5.1KΩ → GND
CC2 → 5.1KΩ → GND
Applicable to:
Phones, development boards, microcontroller boards, small appliances, and other Type-C devices that work as Sink devices.
Function:
The device indicates that it is a powered device, allowing the Source to detect the connection and determine the plug orientation.
For basic Type-C power, this configuration can support standard 5V operation.
Note:
Two 5.1KΩ resistors do not automatically give the device USB PD fast-charging capability.
If the device needs 9V, 12V, 15V, 20V, or other USB PD voltages, an appropriate USB PD Controller and supporting power-management circuitry are normally required.

(Pull-Down Resistors)
Typical connection:
CC1 → Rp → VBUS
CC2 → Rp → VBUS
Applicable to:
Standard USB Type-C chargers, power banks with Type-C output ports, and other devices that work as a Source.
Function:
The Source uses CC to advertise its power capability so that the connected Type-C device can identify the power source.
Different Rp configurations correspond to different Type-C default current capabilities.
If USB PD fast charging is required, the design needs to support PD communication through the CC channel rather than relying on Rp alone.
If compatibility with legacy USB-A charging protocols is also required, additional D+ / D− charging-detection circuitry or a charging protocol IC can be added according to the product requirements.

(Pull-Up Resistors)
Applicable to:
Expansion docks, power banks, portable energy-storage devices, and other Type-C devices that need to dynamically switch between Source and Sink roles.
Function:
The device can determine its role according to the connected device and connection state, allowing it to operate as either a power source or a powered device.
Note:
DRP does not simply mean connecting Rp and Rd to CC1 / CC2 at the same time.
In practical designs, a Type-C Controller or USB PD Controller is typically used to dynamically manage Rp / Rd, together with power-path control for safe bidirectional power delivery.

(Rp / Rd Switching Resistors)
If the product needs more than basic 5V power, such as: 9V / 12V / 15V / 20V or needs: Voltage, current, and power negotiation then Rp / Rd resistors alone are not sufficient.
A typical architecture is: CC1 / CC2 → USB PD Controller → Power Path / DC-DC
The PD Controller communicates through the CC channel and controls the downstream power circuitry according to the negotiated power profile.
For USB Type C Design, this distinction is important when moving from basic 5V charging to USB PD fast charging.
Some Type-C designs try to make the interface work in both orientations by simply connecting: CC1 + CC2 → Shorted → One Rp or Rd. This should not be treated as a standard Type-C CC configuration.
Simply shorting CC1 and CC2 can cause problems with proper connection detection and orientation handling, and may lead to compatibility issues in some applications.
This is especially important for designs involving USB PD, higher current levels, or E-Marker cables.
The correct approach is to configure the CC pins according to the required device role:
CC1 → Rd
CC2 → Rd
CC1 → Rp
CC2 → Rp
CC1 / CC2 → Type-C / PD Controller for dynamic role management
Therefore, in USB PCB Design, CC1 and CC2 should be treated as separate configuration paths rather than simply tying them together.

(CC1 and CC2 are shorted)
If you are designing a basic Type-C 5V Sink interface, the first thing to remember is simple: CC1 and CC2 each use a 5.1KΩ pull-down resistor to GND.
For a Type-C Source, select the appropriate Rp configuration according to the required power capability.
If the product requires:
D+ / D− should be determined separately according to whether the product needs: USB 2.0 data transmissionOr Legacy USB-A charging protocol compatibility.
The biggest pitfall in Type-C Hardware Design is not simply whether VBUS measures 5V. The key is whether the interface correctly follows the USB Type-C rules for CC1 / CC2, Rp, Rd, DRP, and USB PD. Once these concepts are clear, basic Type-C charging interfaces become much easier to design correctly.