Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Oh, it's fine.

The lack of clarity is in keeping with the USB C connector itself, which may supply or accept power at various rates or not at all, may be fast or slow, may provide or accept video or not, and may even provide an interpretation of PCI Express but probably doesn't.

It probably looks the same no matter what, and the cable selected to use probably also won't be very forthcoming with its capabilities either.

(Be sure to drink your Ovaltine.)



The USB A connector stayed the same between USB 1, 2 and 3. Yet most manufacturers voluntary distinguished them by giving USB 1 and 1.1 a white insert in plug and port, USB 2 a black insert and USB 3 a blue one

This was neither standarized nor enforced, yet it worked remarkably well in the real world

Then we decided to just have no markings at all on USB C cables. On the ports at least we occasionally get little thunderbolt or power symbols


The exterior of the USB A connector stayed the same. The number of pins increased when we went from USB 2 to 3. So, even in this case, it’s slightly more complicated. The colors helped because the capabilities were very different between the ports. But when the USB IF increased the number of options (and reduced the size of the connector), different colors became impossible to do.

The problem is that there are too many uses for one connector. But this is wha we wanted - a reduced number of standardized connector/power options.


> But when the USB IF increased the number of options (and reduced the size of the connector), different colors became impossible to do.

Some USB C cables identify their capabilities visually or electronically. All USB C cables could do this.

> But this is wha we wanted - a reduced number of standardized connector/power options.

We meant who?


> Then we decided to just have no markings at all on USB C cables.

I'm shocked the LTT TrueSpec cables are the first I'm aware of to so such a small and basic thing. I have so many USB C cables and no idea which are power only, USB 2 only, or what. Such a mess


… and a M1 MacBook will source 5V/3A all day long to a non-PD negotiated sink. Somewhere between the M1 and M3 Apple decided to buy into USB-IF compliance and limit to 500mA.

Has lead to some very embarrassing “works on my computer” situations on prototype boards shared with my EE colleagues (I’m a software guy who dabbles in hardware when I need to)


I think the Rd pulldown options are for 0.9/1.5/3A without PD negotiation.


It doesn't take PD negotiation to get 5v, 3A from a compliant source. A 5.1k resistor or two (quantity depends on placement in the overall circuit) is sufficient.

This may be a matter of semantics, but I can't bring myself to call a resistor a negotiator. They only do one thing and they're very resistant to other options. :)

With nothing connected to the CC line(s) at all, then there should be no output voltage on Vcc. It shouldn't be 5v @ 3a, or 500mA, or anything else -- it should be ~exactly 0v, and therefore also 0a.

A resistor or two tells the power source what we want. Without it (or some, you know, actual PD negotiations), we get nothing.

---

A careful reader will note the repeated quantity distinction. Let me explain that.

Every USB C socket has both CC1 and CC2 pins. They're on opposite side of the connector and get used for sorting out PD, and for detecting the cable's connector orientation (if/when that matters).

But a cromulent USB C to USB C cable can have just 1 CC wire, and that's OK. It works; it isn't even wrong. To get such a cable to coax 5v from a 5v/3a source and get power for a prototype widget on Gilligan's Island, with the cable already cut in half to get at the wires inside: Wire up power and ground to your prototype. And put a 5.1k resistor between that single CC wire and ground. Voila: We've requested 5v at up to 3a.

Or: If we're being a bit more proper and snooty and want to do it The Right Way, and we actually have a USB C jack to prototype with, then that more-ideally takes two 5.1k resistors; one to pull CC1 to ground, and another to pull CC2 to ground. This does the same thing, but it does it on the connector side of things instead of the daunting no-mans-land of wires. Only one of these resistors will ever be used at one time.

Or: If we have a USB C jack and can only scrounge up one 5.1k resistor (maybe we only have a single #2 pencil to whittle down to 5.1k of resistance), or we're being particularly lazy, then that's OK too. Pick CC1 or CC2 and put 5.1k between there and ground. It will work with the cable plugged in one way, and it won't work with the cable flipped 180 degrees. That can be enough to get a thing done for the moment or whatever. (There's no solution that is as permanent as a temporary one.)

---

These are some of the things I learned when I was in the field and needed a 5v, >2.5a power supply to replace one that had died. I said to myself, "Self, just go over to Wal-Mart and get a 3a USB C power brick that comes with a cable, cut and splice that cable to fit the widget that needs power, and call it done. If it dies in the future, replacing it will be intuitive and fast."

So dumb ol' me went to Wal-Mart and bought exactly that, and I quite confidently set forth with the splicing.

This did not work. At all.

And that was a harsh rabbit hole to dive into, but it was ultimately fine. After I got back that evening I soldered a 5.1k resistor (of 1206 SMD form) mid-span between the CC wire and ground, and finished the adapter-cable quite neatly with some adhesive-lined shrink tubing.

Doing it this way got the customer's gear working faster than ordering the "right" parts and waiting for them show up would have, and it still works. That's all been a few years ago now; I consider it to be as permanent as anything ever really is.


I’m printing this out for next time I’m stuck on an island.


The lack of clarity is in keeping with the USB C connector itself, which may supply or accept power at various rates or not at all, may be fast or slow, may provide or accept video or not, and may even provide an interpretation of PCI Express but probably doesn't.

It gets even worse.

I now have two cheap Chinese gadgets (a checki printer and a tire inflater) that have USB-C ports for charging, but will only charge with the wire that came with the gadget. The other end of which is an old-style USB plug.

It seems that USB-C sockets are cheap enough parts to use them for everything, even if the manufacturer isn't going to put any actual USB circuitry behind them.

Edit: Three. I forgot about my wife's illuminated makeup mirror.


I keep a few of these around to deal with this: https://www.adafruit.com/product/6323

Very annoying though! The devices are just missing a couple resistors which is probably less than a cent on the BOM.


Wow, thanks for sharing this. Like the parent commenter, I have an increasing number of cheap devices like this. I wonder if anyone sells an "enclosed" version of this product. This won't survive 5 minutes in my house, haha.

A quick google I found one but they're $17 each (!) and it's from a site I've never heard of and can't vouch for, so not bothering to link it here.

I'm really surprised there aren't a number of these all over Amazon. Or if there are, they're using different keywords to describe them, so I can't find them.


On AliExpress I found some that were already packaged into neat little professional-looking adapter-sized widgets for about $2.50 each.

I'd link them here, but I have a US perspective on things and it wasn't clear to me how this listing would be delivered. And delivery method is important to me, here.

If with AliExpress Choice shipping, then that'd be fine: They'd show up on a doorstep in Anytown, USA for a few dollars each.

But if they'd be delivered using Approximately Any Other Method, then: Surprise! Your widget valued at less than $2.50 now costs you $80 to receive!

I don't want to encourage anyone to be surprised like that.

(I have no doubt that an enterprising person could negotiate a very good price on 1,000 of these widgets and sell them on Amazon if they were motivated to do so.)


Adafruit sells enclosures for them, too.


Note: If it just needs 5V power (Like many microcontroller-focused devices), USB C is convenient, because chargers and cables are ubiquitous. And they all (WIth exceptions like the one you mentioned) support 5V DC power.

Bonus: YOu can enable USB 2.0 data transfer as well for firmware updates, computer interfaces etc.

So: Cheap/ubiquitous part, everyone has cables + AC adapters to their local plug: I think it's a great default power connector.


Ah that's a fun misuse of USB ports. The companies will often even dodge issues with the USB-IF by labeling the ports as Type C and letting the customer's mind fill in the word USB.

I wish these devices would just use barrel jacks, labeled with the voltage and polarity. But these manufacturers know that the USB-C port weighs into buying decisions (and they know that most people have zero clue about the difference between a physical port and the electrical/protocol specs).


I hate barrel jacks, it seems that every single time I encounter one it's different from any adaptor I have. Size, voltage, and polarity can all differ. People got sick of having 10 differnet power adatpters to charge stuff. Hence the demand for "single connector" which seems to have converged on the USB-C form factor.


Right, but if it's not actually USB-C, at best you're looking at the device not working when plugged into a proper USB-C power supply. At worst you're facing fried electronics.


Agreed that would be like wiring a standard North American household wall outlet with 240VAC. Technically possible, but will probably fry anything not expecting it.


I came across a group of racks in the IT room in a (US) factory once that had 208v on their standard NEMA 5-15R sockets.

Their global-market IT stuff didn't care at all. But some of the US-market audio stuff I was integrating came with old-school linear power supplies, and those items cared a great deal.


Have run into that exact thing also, not that the sockets were 5-15R but IEC C13 in a rack CDU. But someone had some adapter pigtails from C14 to a standard NEMA socket, of course that doesn't change the voltage at all. Hilarity ensued.


My aftermarket android auto display uses the type c connector for power input - wired directly to raw vehicle power. It will not run on 5v. It doesn't negotiate pd either. It just expects around 13 volts right on the power pins, and the supplied power cable does exactly that. It's portable too, which means that some poor person plugged their cable into their phone and blew it up.


Or just include a $0.03 pd negotiator in the circuit


I repaired device like that a while back - it only took two half-cent resistors and a half-assed soldering job to make it compatible with standard USB-C cables and chargers: https://www.nfriedly.com/techblog/2021-10-10-v90-usb-c/


Yeah, they got cheap. They either got cheap with the BOM, or they got cheap with the QC and never tested it with USB C power sources, or they got cheap with the spec and it's working as-designed.

It just takes a couple of insignificant resistors and a USB C socket that brings out CC1 and CC2 to pads on the board to do it right. I wrote about how that works in a sister comment if you want to read more.

But those devices will charge/work just fine with any bog-standard USB A to USB C cable, alongside any decent power brick with USB A outputs. It doesn't have to be the exact cables they came with.

It's annoying in the "you cheap bastards" sort of way, but regular A to C cables will work.

(If it's really important to you, then it can be possible to hack in a couple of 5.1k resistors inside the cheap-bastard devices and make them work with regular USB C power bricks and regular USB C to C cables. The resistors will tell the source to provide 5v at up to 3A. All compliant USB C cables are required to safely pass 3A.

The mod can range from very easy, to somewhat problematic, to "fuck this, I quit". In reality, there might already be pads on the board to connect CC1 and CC2 to ground; just solder in the resistors. Or, the pins are probably brought out at the connector itself, so it can be bodged with some extra wire.

But reality is a cruel mistress and not all available PCB-mounted USB C connectors expose CC1 and CC2 at all, although in a sane and pure world absolutely all of them should.)

[tl;dr, just keep an A to C cable with the devices, always have USB A where they get used, and forget about it. The next round of cheap stuff will be better, worse, or the same, and that's a future problem.]


This quagmire (along with the version names) is why I call it the Unintuitive Serial Bus.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: