Are USB type C pull resistor neccesary on CC and SBU pins

usbusb-c

hello im trying to make a usb receptacle for my microcontroller, im planning to use USB Type C, Although i only need USB 2.0 functionality i might as well design it to specification so that the mCu will work on any computer and any* possible cable configurations most importantly USB C – USB C and USB A-USB C.

https://www.allaboutcircuits.com/uploads/articles/Fig1m11292018.png

The receptacle i have is a 16pin(12 legs) one, I have shorted the redundant pins such as GND, VBUS, D- and D+. But i dont know what to do with SBU1, SBU2, CC1, and CCC2. What should i do to those pins? I would also want that the board will work with USBC PD power supplies. The board only needs the standard 5v 1A (500mA is fine).

I have read that CC needs a pull resistors but i do not know the exact value, or is it best just to leave it floating? Does the USB specification what to do on devices only needing USB2.0 functionality but is using a USB C receptacle?

enter image description here

Best Answer

I'm assuming that your board with a microcontroller will take on the role of a USB 2.0 device (as opposed to a host). If so, it needs to wired up like so:

  • Connect all GND contacts with each other
  • Connect all VBUS contacts with each other
  • Connect the D+ and D- pairs with each other (A6 to B6, and A7 to B7)
  • Leave SBU1 and SBU2 unconnected
  • Pull CC1 and CC2 down to ground with a 5.1kΩ resistor (separate resistor for each)
  • Pull D+ up to 3.3V with a 1.5kΩ resistor (unless your microcontroller already does so)

Update

The RP2040 microcontroller (and the Raspberry Pi Pico) can act both as a USB device and a USB host.

A host requires a 15kΩ pull-down resistor on both D+ and D- (instead of the pull-up resistor on D+). To achieve its flexibility, the RP2040 provides the pull-up and pull-down resistors for D+ and D- internally. They are activated depending on the USB role.

For the USB-C connector, additionally changes are needed for the host role. CC1 and CC2 should have a pull-up resistor of 36kΩ to 3.3V (or 56kΩ to 5V) instead of the pull-down resistors.

As a host, the Raspberry Pico can no longer draw power from the USB bus. Instead, it must have an independent power supply and provide power to the USB bus.