Electronic – Using USB-C as a power source


I'd like to complete an electronics project by allowing it to be powered over USB-C. The specification is complex, I'd love some help understanding it!

I'll need to draw ~ 250mA at 5V for my project (though if there's an appreciable difference for drawing up to 1.5A I'd be interested to hear about it); assuming I have a dumb USB-C socket, what circuit should I build to:

  1. Provide 5V, ~250mA for my project
  2. Suitably protect the power source from issues with my project


Best Answer

If you are building a project (device) with "dumb Type-C" port and want it to get powered from a USB host with Type-C port, you need to do the following:

  1. Use a "full-featured" Type-C to Type-C cable. The cables can be for USB2 only (which is hard to find), or a standard C-C cable with all USB 3.1 wires (which you will not use, so this would be some waste). The important thing with the C-C cable is the presence of CC wire between two ends of a cable, and, of course, GROUND wires, and VBUS wires.

  2. Your device must have two 5.1k pull-downs on both CC pins of your connector. Without these resistors the Type-C port won't deliver any power.

  3. Your USB Type-C host (or charger) will have a pull-up resistor on its CC pins. The value of resistor will indicate the port's power capability

Pull-up to 5V port capability

56 kOhm => 500 or 900 mA

22 kOhm => 1.5 A

10 kOhm => 3.0 A

  1. If you need only 250 mA from the power source, you can just take it, up to 500 mA, and do nothing;

  2. If you really need more than 500 mA, your device/project must check the voltage level on one of CC pin (whichever is active), to verify host power capability.

    • If the level is below 420 mV (+-20%), you shouldn't take more than 500 mA, the port can't supply more than that, and will likely drop off the VBUS; this level would correspond to 56k : 5.1k voltage divider;

    • If you sense the CC level as 940 mV +- 8%, you can take 1.5 A, from the cable. This level will come from 22k pull-up, if the host port supports 1.5 A current;

    • If you sense more than 1.7 V (+-8%), or 10 k pull-up on host side, you can take up to 3.0 A with no problem.

You can design this three-level comparator (and related logic) by yourself, or you can use any IC offered for this specific purpose by Texas Instruments, Maxim, Cypress, NXP, STMicro, etc.

Keep in mind that a typical Type-C receptacle needs a thin PCB (0.8 mm), which is fairly inconvenient for DIY projects. Alternatively there are vertical-mount Type-C receptacles that can go to any PCB, just they have the same small 0.5mm pitch which is challenging to solder.

If you are making a device/project with standard Type-B receptacle (or uB), you just need to use proper legacy cable, and do nothing. But you should restrict your power consumption to 500 mA.