Can you pull current from USB-C 5V power without negotiation?

I am designing a product that will have some lithium ion batteries and I would like to use the 5V from a USB-C connector to provide power to the device and as a source of current to recharge the lithium ion batteries. However I’d like to avoid the additional circuitry around handling power negotiation that comes with the USB-C standard… can I just put 5.1K pull downs on the CC lines and tap the 5V for up to 3A with no additional circuitry or negotiation?

I don’t intend to use the USB for data or anything… just need a 5V power source and figured USB-C might be a good choice given how ubiquitous the chargers are these days.

It seems like this should be ok but I’ve never done it before and want to see if anyone more familiar with USB-C has an opinion?

The 5.1k resistors will only get you USB Default Power, which is 500 mA for Hi-Speed devices. To get more than that, you need to use one of a few other specs. The most likely for your case would be Type-C Current. The Source will change its pull-up resistor to set the voltage on the CC line. There’s three bands for Default, 1.5 A, and 3.0 A, all at 5 V. To get more current or different voltages, you’ll need Power Delivery communication.

Thanks Jason, that is very helpful!

Do you know if its an acceptable practice to just tie 5.1K to GND and pull the 500mA from VBUS? Or if you are using USB-C its required to have a CC controller even though you don’t care about data, connector orientation, etc?

Could I change the pull down value from 5.1K to some other value and get the full 3A?

Basically I just need a power source, so I’m trying to avoid having to design in a CC controller but I’m not familiar enough with the USB specs to determine if this is feasible or if I just need to bite the bullet and have a CC controller chip…

It’s perfectly fine to have two resistors, one from each CC pin to GND, then pull 500 mA. (Don’t try to share one resistor like certain single board computers.) This is the same strategy that legacy USB-C to micro-B cables will use. They only need one resistor because they define the orientation of the plug. That will get you 5 V, and you don’t need any data connections. The VBUS and GND pins are radially symmetric, do you don’t need a mux or anything.

The changing voltage on the CC line is set by the Source to tell the Sink what it’s allowed to draw. There is no communication from the Sink, expect for its existence via pull-down resistor. If you have a free ADC channel in your design, or even a comparator into a discrete circuit, you could hold off on drawing more than 500 mA until the Source tells you it’s ok. If you try to draw 3 A without the Source supporting it, you might trip an over-current protection circuit and enter an infinite power cycle. For more info, check out the USB Type-C Spec and look for “Type-C Current”. It’s also mentioned in the Power Delivery Spec, but the details are in the Type-C Spec, if I remember correctly.

Here is what found that will do exactly what your wanting.

Super small, super efficient, very low heat output when charging at 2.3 Amps.

It auto negotiates the USB or USB-C Charging current levels without needing a MCU.

Maxim MAX77751

Isn’t that what the Raspberry Pi 4 is doing?
It only has the 5.1K resistors, no PD controller and draws definitely more than 500mA.

I guess it really depends on if you want to follow the spec or not - If you’re just using a standard wall charger you can generally pull whatever you want out of it, up to the limit of the charger, and without using any resistors. Some charging cables even have the data lines disconnected anyway.

@kundro85 My understanding was that you could get 3A with just the 5.1k resistors, but you needed to actively negotiate beyond that (up to 5A).

There’s the possibility you could be on an A to C cable, so worst case of 100 mA max (bus powered 1.1 hub).

The Rd resistor in the sink (5.1k) and Rp resistor in the source form a voltage divider. If you have two ADC inputs on a microcontroller (use a series resistor just in case you get a short to 5V), you can measure those the CC line voltages and determine the advertised source power. From the USB C standard:

I’ve always used an NXP PTN5110 for this. It’s a PD PHY with an I2C interface and you can negotiate up to 20 V at 5 A with it. The software is trivial to just read the Rp value of the host, but is rather complex to negotiate a PD contract for more than 5V.

That chip sounds interesting!

Thanks for mentioning this MAX77751… this looks like it could be exactly what I need. You’re my hero!

I’d also recommend TI’s bq25895. It will do many of the same functions: negotiate for higher current & voltage, manage the charge, and do so with a switcher for higher efficiency.
It has the added benefit of having I2C comms for status and config.

Just one thing to keep in mind: the PMID pin tracks the input voltage, so while it’s cool that they make a 5V/3A boost converter, it can also go as high as 12V.

Beware that Maxim has a reputation of discontinuing parts. They also promote a device and see how many would buy it and if it looks good they will start a design