All About USB-C: Manufacturer Sins

People experience a variety of problems with USB-C. I’ve asked people online about their negative experiences with USB-C, and got a wide variety of responses, both on Twitter and on Mastodon. In addition to that, communities like r/UsbCHardware keep a lore of things that make some people’s experience with USB-C subpar.

In engineering and hacking, there’s unspoken things we used to quietly consider as unviable. Having bidirectional power and high-speed data on a single port with thousands of peripherals, using nothing but a single data pin – if you’ve ever looked at a schematic for a proprietary docking connector attempting such a feat, you know that you’d find horrors beyond comprehension. For instance, MicroUSB’s ID pin quickly grew into a trove of incompatible resistor values for anything beyond “power or be powered”. Laptop makers had to routinely resort to resistor and one-wire schemes to make sure their chargers aren’t overloaded by a laptop assuming more juice than the charger can give, which introduced a ton of failure modes on its own.

When USB-C was being designed, the group looked through chargers, OTG adapters, display outputs, docking stations, docking stations with charging functions, and display outputs, and united them into a specification that can account for basically everything – over a single cable. What could go wrong?

Of course, device manufacturers found a number of ways to take everything that USB-C provides, and wipe the floor with it. Some of the USB-C sins are noticeable trends. Most of them, I’ve found, are manufacturers’ faults, whether by inattention or by malice; things like cable labelling are squarely in the USB-C standard domain, and there’s plenty of random wear and tear failures.

I don’t know if the USB-C standard could’ve been simpler. I can tell for sure that plenty of mistakes are due to device and cable manufacturers not paying attention. Let’s go through the notorious sins of USB-C, and see what we can learn.

Omitting The Resistors, One Cent At A Time

No USB-C resistors in sight, and the pins aren’t even soldered

Yep, you got it. The first, honorary entry is omitting 5.1 kΩ pulldowns on a USB-C port intended for charging your device. “Why does my device charge with a USB-A to USB-C cable, but doesn’t charge with a USB-C to USB-C cable”, asks the user? The answer is simple – because your device’s designer decided to save one cent while building your device, and didn’t care about testing the device before selling it to you. In other words, your device is supposed to have two resistors connected to the USB-C plug, yet it does not, and USB-C power supplies are unable to detect that they ought to provide power. Remember, the resistor detection is fundamentally a safety mechanism, and by now, information about this problem is omnipresent.

Omitting these resistors is one of the most infuriating Type-C mistakes for users, and often results in people debugging the problem for hours on end. Here’s just an example of a developer who was working with a WCH RISC-V board using a USB-C connector for power, and spent a good few hours due to WCH not bothering to add these resistors. If you buy an USB-C-equipped Arduino Pro Micro or TP4056 board on Aliexpress, it is likely to be resistor-less. Everywhere you look, you’ll find a resistor-less device or two. The sheer volume of this problem is, honestly, ridiculous.

Murderous “USB-C” PSUs At Your Local Lidl

Remember the power article, specifically, how you get to higher voltages? Let’s recap: you get 5 V first, and then only after resistor detection. Higher voltages require negotiations over a digital protocol. This is a safety rule – it’s how you can use the same USB-C charger for your laptop, your phone, your wireless headphones, your devboards and whatever else.

Picture by Stephanie Lahs

Now, what happens when someone builds a power supply with a fixed higher-than-5 V output, say, 12 V, and puts a USB-C plug on it? The answer is – seriously bad things happen. Such a power supply isn’t safe to be used on actual USB-C devices – it’s likely to destroy your phone or laptop, and it’s at a glance indistinguishable from an adapter that follows the USB-C rules laid out for everyone else. If you must use such an adapter for something every now and then, you ought to mark its cable with red tape in a way that covers the connector plug, so that you (or your loved one) don’t grab it to charge something else. Seriously, it’s easy to make a mistake, and the more you get comfortable with USB-C, the more likely you are to make it.

Who does this? Well, many no-name manufacturers do, but also Lidl Parkside tools, for one. CrowPi does this too, in their recently released CrowPi L laptop. Both of these come with dumb “USB-C” 12 V power supplies, and neither of them should be sold to consumers, especially given that the CrowPi laptop is designed for kids and educational purposes, and Parkside tools are designed for non-tech-savvy people. When your kid burns a $500 smartphone or your granddad burns his laptop due to a $2 power supply, that’s when the gravity of this standard violation really sets in.

Blaming Companies? It’s Not That Simple

The resistor omission is by now a thorn in consumers’ sides, and the murderous PSU designs are unforgivable. Designers should not do these things. There is, however, an area where I can forgive mistakes happening, and that’s the USB-PD protocol – specifically, the compatibility mistakes, especially in early USB-C tech.

The PD specification is 800 pages – this is, no doubt, intimidating. If you’re getting paid to implement USB-C, however, it’s your job to be familiar with it. On the other hand, when you’re an early adopter implementing a complex specification, it’s quite likely you’re going to screw it up through no fault of your own. You don’t have as many implementations to work with, you’re going to work with (and around) similarly early adopter low-level hardware like ICs, and other devices around you are going to be similarly crooked in subtle ways. The gist is – early adoption of is more of a tricky engineering problem than we might recognize.

In addition to that, there’s two early adopter routes for a wide-reaching interfacing technology like this. One route is – you build a device that is engineered to be specifically compatible with the pricey peripherals that you manufacture, despite being based an open standard being aimed at intercompatibility, and don’t really test the device with other things. I call this the Nintendo Switch route, for no particular reason.

The other early adopter route is – you design a device, then test it with other devices. It’s the early adoption stage, so other devices are often similarly broken, and you end up adding a slew of workarounds and bugfixes piled up on top of each other. New devices keep getting released, and for a while each of them brings a slightly more broken implementation. At best, you spend plenty of time testing when hardly anyone else around does, ensuring tip-top compatibility – provided you can throw developers at the problem. At worst, your fixes create a whole new kind of buggy device.

With this “blaming companies” disclaimer in mind, let’s move to the next point, where I will spend time blaming companies.

Not Testing PD Implementations Enough

Nowadays, there’s no excuse to release a poorly tested USB-C product. If an open-source project can have an array of power supplies to test a USB-C PSU with, large companies have no excuse. If you bought a hefty powerbank that doesn’t put enough effort into figuring out power roles and ends up getting charged from the laptop when you need the opposite, that means it’s not been tested on laptops like yours, and chances are, yours isn’t special. Let’s face it – a company developing powerbanks can afford to buy a few laptops with different OSes and test the behaviour until it works well.

The PD compatibility problems are out there, and you might stumble upon them eventually, especially when it comes to charging. There’s laptops that don’t work with specific chargers, for instance – my Framework laptop doesn’t work with a Xiaomi laptop 65 W charger, in a way where the battery keeps cycling from 10% to 30%, and the charger keeps doing connect/disconnect cycles. I also have a dock where charger passthrough works only for half of laptops. Of course, there’s ways to mis-manage specifications, but let’s face it – there’s gotta be a more fundamental cause for this.

Part of the problem is lack of information sharing. When a large open-source project solves a tricky compatibility problem and adds a workaround, it goes onto GitHub for everyone to see and make use of, with a searchable description of the problem in the commit message.

When a commercial entity fixes the same bug, it is thrown into /dev/null for all other informational intents and purposes, except for the binary blob they push as a firmware update – if even. In this case, each company implementing PD-talking stuff, has their own database of PD quirks, working around peculiarities of devices they tested with. Those PD quirks ought to be openly available information, but they’re not.

Proprietary solution developers aren’t paid to share things, whereas in open-source project, the sharing happens naturally, through no extra effort, once again exposing the fundamental inferiority of proprietary processes. Large part of the reason you have buggy USB-C devices, is that companies would rather make you overpay and suffer incompatibilities, than put effort into sharing information between themselves. Whether it’s security vulnerability information or designing standards together, large corporations are slowly learning to do things the right way, domain by domain, but the general concept never really seems to stick – the fundamental blinders of profit motives and greed are just that strong.

Microcontrollers with PD peripherals are often tough to work with, too. Again, this is a lack of effort put into making those peripherals friendly for developers, whether through better design or better documentation – often, more open code, as you might be able to guess, sadly. This factor alone makes it more likely that the end-user will encounter mistakes, purely because a peripheral that is harder to work with will be harder to write reasonable code for.

Don’t Add, Don’t Tell

You can buy a $1000 laptop, and find out that its USB-C port only does USB3 – no charging or DisplayPort. Or, you can buy a mid-tier $500 smartphone, and find out that it can’t charge and do OTG at the same time, despite USB-C making it so that devices can easily do precisely that in a standardized manner, killing off all those MicroUSB splitter adapters with weird resistors on the ID pin.

By Ilya Plekhanov, CC A-SA 4.0

In laptop space, Asus is one of the worst offenders, having had a long streak of devices with only USB3 output on USB-C – no DisplayPort, no charging, not to even mention Thunderbolt. What’s worse – when looking at documentation, you might not find any mention of what the USB-C port is capable of, no matter if it’s capable of something or not. And of course, lack of clear labeling of ports makes it worse.

The cherry on top is a single USB-C port on a laptop – and nothing else — you might have seen Macbooks like this. You’re basically required to carry a dongle with PD passthrough around, there’s nowhere to plug your wireless mouse receiver in, and the USB-C port becomes the living definition of the word “bottleneck”. When it comes to right to repair, having a single USB-C port for absolutely everything means adding a giant failure point that will leave you laptop-less if you accidentally use too cheap of a charger and end up melting the only port’s plastic. If it’s not a Macbook, good luck finding a replacement port; custom-made small-batch USB-C ports can be quite literally impossible to find for a hobbyist.

Still, Workarounds Exist

Remember: if your USB-C cable is broken or wonky, you should stop using it and buy a replacement. Mark devices that misbehave, and talk online about them; name and shame liberally. Read online reviews if compatibility is what you worry about, scroll down on Aliexpress, or search the product name to see if the device you’re buying has the resistors it needs. When buying a USB-C power supply or an expensiveish dock, it can be good to test it with your device and make sure you can return it or exchange it for a different one. With time, the sharp edges will smooth out, and whenever it is that USB-D visits our households, you will find a lot of people feeling nostalgic about just how simple USB-C was.

77 thoughts on “All About USB-C: Manufacturer Sins

  1. In the early days of the PD spec, it was very much a moving target. I was working at a semiconductor company developing USB-PD chips, and there would be monthly changes that necessitated ripping up large amounts of tested work. We had a Systems Engineer who was the team expert on PD and he did a good job of it. When he said “I don’t know”, on a design issue, it meant that you were stuck with at least half a day of digging through that spec.

  2. in a sense, i long for the days of “simple” usb2.0 (it was still a convoluted mess). usb-c seems on the outside to be made for phone people. people using small devices with no moving parts. i had no problem using usb a and b ports to connect an inkjet printer, which could vibrate a micro-usb to the point of structural failure (i have a 3d printer that did just that and is now connected to my computer via bodge wires soldered to test points). of course usb-c while being slightly bigger, still leaves me questioning the structural capabilities of the port. what’s worse is they deprecated the superspeed capable a and b ports when introducing usb-c. is it really the port to replace them all? imho its not.

    recently i was trying to get my vr headset to use the full bandwidth of a usbc port on my brand new gpu, where every part is rated for 5gbps but i end up getting half of that. sure it keeps the charge topped but it doesn’t move the data at spec. in fact i do not think i have ever had a good experience with usb-c. things don’t charge, or they charge wrong or they break things or perform out of spec. its only redeeming quality is that its not mini/micro usb. also the port used for the internal pc connection to a front panel usb-c port is attrocious and shaves 20% of the throughput off the port. we need something better than this trash.

    1. Indeed, similar to my experience as well. And a disappointment that the USB group didn’t know better – considering the relative cheapness and simplicity to implement USB 2 is what meant it came to dominate in place of the otherwise better performance firewire of the day (at least with a powered hub, as the specs power limits were problematic for USB)

    2. the ‘required through-hole’ part of USB-C makes it pretty good for applications like these, and in my experience, it’s been solid! I can see the desire to go for USB-B on some applications, and, it’s worth giving USB-C a try there.

      USB-C port on your GPU? What kind of standard does that use, I wonder? Could you tell more about the hardware setup?

      And yeah, the ‘internal to front’ ports, are, well, the connection there is at mercy of case manufacturers, which can cheap out on cabling. Has been this way with USB3 front panels too, sadly =(

      1. the gpu was a 7900xt. ive had it about a month. being an amd card i doubt its thunderbolt. but the usb tree view shows it up as a 3.2 Gen 1 port, which by spec is supposed to be 5gps. quest 2 gets 2.7gb of that over the official link cable (which is an active fiber cable capable of 5gbps). interestingly enough there is a second usb 2.0 port on the card somewhere. probibly for rgb, thought my gpu has none. i spent a few days trying to get more speed over the link cable. apparently the headset doesn’t need it, but it still bugs me that its not performing anywhere near spec. i expect maybe 10-20% overhead at most. i suspected the rating is per direction, but then why would it do 2.7?

        its oddly the fastest port in the system as the 2 mobo c ports come in at 2.5 and 2.2 (front panel) gbps. mobo is an msi “mpg b550i gaming edge max wifi”, which supposedly has both 10 and 5 gig ports.

        anyway im using an ncase m1 sff case, which cost $200. their pigtails are way longer than they need to be for the size of the case, they could probibly reach if your mobo manufacturer put the port in the far corner where the cpu power usually goes. the connector is perhaps 4 inches away from the front panel at most. i generally do not like the internal connector itself. it is very loose. its on my of worst internal pc connections hall of shame, somewhere between sata and that stupid power cable than nvidia is using on its current lineup.

        was not aware of the required through hole part of the spec. that’s at least an improvement over previous micro connections. but it still doesn’t address industrial applications. would not mind usb-c-in-d-block format. counter intuitive but extremely robust.

        1. Ahha! I’ve looked it up, and this exact connector is quite mysterious – it’s there, but the purpose of it is not known; it doesn’t have TB or USB4, but has DP and USB3 on it (no idea about PD). The card must have a USB3 controller for this port on it, somewhere on either the GPU die or the card as a separate IC routed into PCIe or the GPU somehow – I’d wager the former.

          The actual purpose of the port isn’t known, but I deduce that it has an AMD USB3 controller wired up on it, one way or another. You can absolutely slow USB3 down by i.e. attaching a controller through an old PCIe x1 link; it’ll show up as Gen 1 still, but won’t perform as such, which has been the case on older desktop and laptops). Given that it’s slower than you’d expect, I’d wager that USB3 is not the port’s main function, and AMD didn’t bother wiring the USB3 controller up as such; specifically, the controller could be somehow throttled at some point in the chain. AMD should talk about what this connector is actually for, and why the USB3 on it is limited – my bet is squarely “AMD chip includes a USB3 controller but they didn’t bother much about speed, just bolted it on there somehow”. This is, puzzling, and AMD should have done better.

          1. thing is i have a 10 and 5 gig c ports on this mobo, and neither of those do better, in fact they are worse.

            the mobo ports are newer, and show up as:
            AMD USB 3.10 eXtensible Host Controller – 1.10 (Microsoft)
            and the one on the gpu shows up as:
            ATI/AMD USB 3.10 eXtensible Host Controller – 1.20 (Microsoft)

            the one on the gpu looks like a more recent version. they both use the same driver from ms (on windows 10). it probibly has some new features.

            it probibly does have pd though, the quest headset uses too much power to stay charged under use on basic v5 power. the manufacturer page says very little about the port, but it is working as a vr port.

        2. Could the throughout be limited by a concurrent DP stream? Not familiar with how the Quest Link protocol works but the general idea behind USB C on a GPU was for tethered only headsets where they need a DisplayPort stream primarily and the USB data was for control and sensor info only.

          1. To be clear, the DisplayPort stream on USB-C is only enabled after the peripheral you plug in requests DisplayPort… oh, and you still get a full USB3 link through it, it’s not limited pin-count-wise. DP excludes dual-link USB3 working at the same time (half of the HS pins are taken by USB3 and half by DP, and USB3 dual-link needs both), but dual-link is rare and is more like ‘hitting 20Gbps’ kind of deal.

    3. The Type E connection is always slow? One thing the PC parts industry was extremely slow to produce was a PCIe x1 card with a Type E port. They’d made a whole lot of PCIe x1 cards with an external Type C port (and often various other internal and external ports) but until sometime in 2022 Type E was only available on PCIe x2 or longer cards.

      I got one of those x1 Type E cards and I chalked up the slower speed to having the card in a PCIe 2.0 x1 slot. The reason for buying the x1 card is my motherboard is one of the ones with no Type E port onboard and the only real x16 slot is of course for the GPU while the other x16 slot that’s really x4 is taken out by using the NVME slot. Both of those are (IIRC) PCIe 3.0. So all I’m left with are some PCIe 2.0 x1 slots. There are *a lot* of motherboards that only have x1 slots available when a GPU + NVME SSD are installed.

      I sent emails and filled out contact forms for every PCIe expansion card manufacturer I could find, detailing WHY they needed to make a Type E x1 card, and how damn simple it ought to be to make. Just spin a different PCB for the same chip, with the connector pads moved inside and designed for the Type E connector. Low effort product to fill a very common need.

      1. pretty sure the wifi is on an e-key card. but ive never actually removed the shroud though. this card is a bit slower than id like and i want to upgrade it at some point, or just use the 2.5 gigabit ethernet port instead. but that’s some serious computer surgery given the small form factor build and relatively large air cooler. probibly will do that to coincide with my usual maintenance.

        both of those interfaces seem to work on a single lane each, with an nvme drive, and one of the usb host controllers. i presume these are 3rd gen lanes because thats what the chipset has and the 4th gen lanes are used up by the gpu and the nvme boot drive. its entirely possible the bottleneck is part of the mobo, being a mini-itx. it might be trimming some busses to make all the features fit.

        the usb busses on this system are pretty crowded and im getting better performance from the gpu port in vr. most of those devices are low speed, like my 12 year old ch hotas controllers. i also got a spacemouse and a wireless mouse receiver and a fancy keyboard on usb-c.

    4. Worse than the article text about 12V fixed outputs, the image of that usb c type connector for the LED PSU, if you zoom in, you’ll see it says 20 volts dc! That’s definitely frying some things!

  3. “Having bidirectional power and high-speed data on a single port with thousands of peripherals, using nothing but a single data pin”

    I have designed something a bit in that direction for a specific project: Using WiFi signal on a complex coax cable wiring, with bias power supply, to connect a cluster of 24 sensors boards on a very dynamic gaming machine. This worked really well, with nearly millisecond latency, but required a very precise protocol to detect and address each boards. Keeping the WiFi signal into the cables and boards with minimal leak was the hardest part to not have interferences with existing WiFi signal.

  4. You get the most positive comment I can think of for this one. Not complainants of excess negativity from me this time…

    Great Job!

    Though it probably aught to be preface to the whole series, “here are a few of the major pitfalls and in the next articles I’ll explain why the pain can be worth it” idea rather than “Its really awesome with a little mention of the flaws on the way” of the rest of the articles. As really the degree of pain USB-C can cause is a major barrier to entry, and it is a greatly required warning for the family tech support person to make damn sure NOT to spec/buy USB-C for their less tech savvy relatives without verifying in person what it can and can’t do on all its ports, and so if its simple enough for them to deal with…

    1. Though saying that, the last line maybe breaks it a bit “and whenever it is that USB-D visits our households, you will find a lot of people feeling nostalgic about just how simple USB-C was.” as it is at least plausible for the next standard to not require a million pages – specs have become clearer and simpler in future revisions before. Though it does in this case seem unlikely, so that though might be that small stubborn streak of optimism deep down…

      1. The cable&connector spec is like, 450 pages, good half of them describe stuff like ‘optical cable parameters’ and ‘connector mechanical dimensions’, and I’ve read through it within an hour-two’s time. A hobbyist doesn’t even need to do that for simple applications, either. PD spec is 868 pages and covers tons of stuff about PD that you’ll never need, but that ought to be defined for special cases, and a large amount of examples for implementers to follow. I’ve got a two-article combo on the way, that helps you build a high-voltage PD sink using info from like, ten pages of the PD spec!

        1. ‘special cases’ ‘you will never need’… Except when lack of compatibility with them breaks everything else on you later.

          And that is way too many pages still! And not proving your point – USB-C and PD adds heaps of pages to the USB of old, USB-D may well decide there must be for legacy reasoning all of USB-C and now lets add another 1000 pages!

          1. You say you’ve read the specs, and if you did, you’d know that the ‘special cases’ or ‘things you’ll never need’ there doesn’t ‘break everything else on you’ – it’s optical cables, authentication extensions, torque specifications and test jigs, packet descriptions, eye diagrams, tons of comms examples… like, how do I even address a comment where you assert a vague thing and I can immediately think of a bunch of counterexamples I actually saw in the spec? You sure you’ve read it?

          2. There are so many gotcha edge cases to it that will matter for the hacker and big production designer as well, as it is so needlessly complex for its purpose already! For power delivery specs on a consumer device you shouldn’t need more than a page really, and in this case talking about a future USB-X, with the stupid clinging to direct backwards compatibility you still have all the currently ‘important’ pages, and now add in yet more important ones to go with them to meet the new feature set! Which will create even more daft edge cases that cause problems.

            And if USB-C so far is anything to go by those new features will now always be on the same connector with no markings of any kind to actually let the users know and 0 functionality…

            USB-PD as a concept might have made sense if you stuck with the existing USB3 connector family, and you insist you must shove 100w down it… For a whole new connector why make it that stupidly complex!

    2. Hehe, what you describe you wish you have read, is basically how my article series goes! You really should reread the cable+connector+illegal adapter articles as I’ve told you to before, like, they do describe pitfall after pitfall, and the intro article has two sections for negatives! As I said in a previous comment, basically every article mentions negative aspects of USB-C.

      Also, yes, USB-C is really awesome nevertheless, and the pain is avoidable! I don’t issue warnings for family tech support people, because I don’t believe that to be appropriate. You can issue them all you want, but I’d rather stick to the reality I see – USB-C is absolutely usable and seriously powerful. It’s not a perfect technology, and I talk about those imperfections. If you want an article that confirms your view, I’m sure you can find something!

      1. I have read them all, and I’m not saying you are entirely rose tinted specs – just that for me, and it seems a few others you are overly positive, glossing over the troubles a bit much as you really want to talk about x feature of the spec. This article feels like a bit more like that manatory warning label that should be read first before you get into the good stuff on the rest of the articles.

        1. I actually use USB-C day-to-day, a lot. I also started hacking on USB-C recently, been doing that for a bit, and it’s pretty easy! This article is mostly ‘companies screw things up for you’, which, again, I’m averse to blaming at the spec. Resistors should be added, murderous PSUs shouldn’t be built, PD products should be more widely tested, and manufacturers should add port labels and product descriptions about their ports. These are not about the spec, and I don’t see it as fair to put them this way.

          1. I’d argue its entirely about the specs, this level of universal fuckups is something that doesn’t happen with sane and sensible KISS style, with no massive feature creep specs – there will always be some mistakes, but nowhere near this many from practically everyone…

            And it is entirely on the spec that the connector has no provision for something like keying or at least an enforced visual identification of the provided functionality… When the same connector can be anything, and all the cables can be anything, so any function at all is far from certain. Yet they all look identical that in its own right makes it really really poor. We have for ages now very successfully made computers and largely consumer electronics as well an if it fits it works, this throws that away and is going to be nothing but trouble.

    3. i stopped providing my family with free tech support long ago. i got tired of getting blamed because the crap they bough, that i told them not to buy, wasn’t working. people think that because they bought something expensive that they are entitled to hours of free troubleshooting from the nearest nerd at hand.

    1. USB-C does not mean USB-3. And that confuses the hell out of consumers. It is just a connector, what it does, you won’t know until you try. As markings are never there and as useful as unreadable runes.

  5. I decided to protect my laptop’s 2 USB-C ports by adding magnetic adapters.
    They work like a charm and I’m no longer afraid or breaking a port with my daily plug/unplug from the dock and power supply.
    Moreover, my USB ports can’t be switched off so I’m able to quickly disconnect from the dock and turn all peripherals off.

    1. I’ve done the same on my phone. My last two (both google pixels), slowly died because it became harder to get them charged due to the amount of fluff that got lodged in there due to being carried in pockets. Even after cleaning out, it got to the point that they would only charge when the cable was supported on a desk. Even then it was a touch and go situation and often took 5 minutes of careful positioning

      It maybe just Google hardware, but there seems to be a issue in USB-C hardware where they are prone to debris ingestion blocking the locking mechanism. It was never a problem I had with the older connectors

      I have now a magnetic adapter. Not only are they easier to connect when using the phone as a sat-nav, but if there is a fault, I can just swap them out, instead of replacing the whole phone

      This does raise the question of the benefits of combining a charging and data cable. If I was going to take a bet I would suggest 99% of phone users don’t use the data side of USB, relying on wireless data transfer, so having a single point of failure and complication of not having purpose built charging solution seems questionable (wireless charging not withstanding), even before we get into the issues of adding data diodes for security

    1. oh there’s plenty – TP4056 boards, Arduinos with USB-C, general devboards with USB-C ports where you would’ve had expected microUSB earlier, and a slew of adapters. It’s kinda sad.

      oh what Adafruit products would those have been?

  6. Some Lidl products (like Parkside cordless glue gun) also ship with custom power-only A->C cables and refuse to charge with other cables. It seems they deliberately make it not work, because even if they just blindly connected +5V and GND to their charging chip, it would have better compatibility than it does now.

    1. I think I got the same one, and I think the issue is that they expect to negotiate something more then 5v. Only in ports that actually offer more that 5v I’ve seen it working.

    2. I got their dremel-like multitool where the newest version (which I got) has the battery built-in and charges through a USB-C port that’s implemented as if it was a 500mA micro-usb port.
      Also, the multitool is weak and anemic compared to the previous version that had a separate battery that charged in the dinky charger.
      That one had some chooch to it, and only died because I outright abused it so much the chuck part got hot and a locking pin dislodged and jammed the motor portion so suddenly a axle snapped.

    1. in the laptop world, for many years, chargers were sold at very high prices. You used to easily pay 100 for a lousy 65W charger. Ever since the move to usb C charging, many laptop chargers have gone down in price significantly, costing comparably to USBPD chargers. I think adding USB PD is a big win.

  7. For me the worst contender is HP, which says on multiple laptops that it supports USB PD on the USBC port. Then people have to find out that no, you cannot charge your laptop with that USBC port. All you can do is charge another device from that port with some limited PD, which is not what people mean when they want to know if a laptop supports usb power delivery.

    The best one i have seen was lenovo, which had it clear in the manual what the PD charging could do, depending on the power level of the charger.

    But yes, overall we are suffering from a lack of clear user manuals and most importantly we are missing proper labelling on a port. I look at a port and can only guess what powers it possesses.

    1. oh that’s bad! I would’ve totally expected charging from that port, weh. This is worse than Asus – at least Asus doesn’t claim to do PD when they release new tech with 5V-output-only 3.0-only ports! And yeah, I sometimes need to look through crevices on a manufacturer’s website or in product compatibility lists on third-party sites to know if a certain cheap laptop can do DP output on USB-C – that’s wack, and you know they have the information, they just don’t bother to put it on the website.

      1. Not to mention the USB spec bodies love of confusing branding so even if they do give at least partially ‘good’ details on the specs there is always that doubt as to just which speed is this 3. something gen something else?

        Does seem to be a much more common flaw in modern electronics though, ‘datasheets’ lacking real data but lots of attractive people, probably in form fitting or very little clothing ‘demonstrating’ the product…

    1. Hey, can I borrow your USB-C phone charger to charge my USB-C laptop? Sure!
      Thanks for nothing, it won’t even charge!
      Fun if you can only find out what supports what by plugging it in (at least USB-a had the blue and black connectors)

        1. this is one of my frustrations as well, especially for the ports on the laptops. how hard could it be to add a label or text on the bottom of a laptop which says what that port can do?

          And chargers? all seem to follow some fashion of being as plain as possible with only a tiny text on it.

      1. Your OS ought to give you a warning – it generally has all the required information to do so, if it does not warn you, it’s that nobody bothered to implement it. It’s really not fault of USB-C as such – blame Microsoft/Linux/Apple, or your manufacturer’s driver writing team.

        1. You are assuming there the fault is in the OS or laptop, it can just as easily be the powersupply being wonky, as you yourself have pointed out. In which case the OS can’t warn you and your hardware might be perfect.

          1. =D And any PSU can be wonky! With USB-C, there’s way more tools to detect some kinds of wonkiness in PSUs, since there’s the actual communication channel that lets you figure out the state of the PSU; you can compare the current limits and know not to trip them. As opposed to ‘why is this barrel jack cutting out? oh, it’s because it’s 0.5A and I need 3A, and 5A will also work”, you know.

          2. One only possibly used line of communication (as its not actually required in USB-C spec to use it!) is suddenly ‘way more’ then? And this a line of communication that can require the cables to do some talking in their own right, just adding another point of failure, even when everything is working perfectly the cable can say ‘sorry boss no can do’ – really don’t see that as an improvement.

            And actually finding a PSU that weedy or a device that really is that greedy, talk about unusual… As most high power laptops seem to be rather good at draining their battery while ‘on charge’ to meet those high peek transient powerdraws anyway if the supply starts drooping early I’d expect the battery to pick up the slack seamlessly, and be quite capable if the drivers are set up for it of sending you that notification you won’t read about insufficient supply… So the question then becomes ‘hmm why is my battery so empty after charging for the last hour of …?’ which is a problem you would get just the same with USB-C.

          3. @Arya: Barrel jack adapters usually have on the bottom side a label that says “=== 21V 2A” or so, ao you can know what one voltage/amperage to expect, and the cable is integral to the charger. With USB-C, even if the adapter has the volts and amps your device requests, a wonky (unlabelled) cable can throw a spanner in the wheel.

            I am not saying USB-C is worse, it certainly is a good innovation. But the many unlabelled options makes things harder to diagnose for the end user.

    2. To me only one of those points is that convincing…

      Can’t agree with ‘Reason 4’ at all as ‘dedicated chargers’ frequently means nothing but a barrel jack with DC x volts – a much cheaper thing to produce, and trivial to wire up to a bench supply type variable PSU for a ‘universal’ travel adaptor if that really matters. Even for many battery products the charge control is often entirely in the battery or device itself – so it just needs an input voltage in the right range (though this is not always the case of course).

      And I find ‘Reason 3’ unconvincing as well – Compatablity issues with USB-C and PD aside, with how very very cheap a simple fixed voltage no negotiation PSU is if you need one at work and one at home its not a big deal and having that second one allows for really good cable management on your desk for both at once! And it also has to be said many devices can actually take a wide input voltage range AND simply use a common barrel jack, so you can quite likely use your works or home PSU on the other device just fine (though there are dangers to that – caution required)

      And Reason 1 isn’t very convincing at all either, though it is a stronger argument. But comparing old bricks made with different much heavier technology to really quite expensive but lighter modern tech – you could have a lighter PSU for your older device if you are willing to pay that premium to match more expensive but lighter and more compact technologies. I’d expect there to be some gain for USB still – as less excess mass could be needed for barrel jack adaptor etc. But then as my experience says you need to carry at least in the tens of USB-C cables to actually be able to find one that works right and isn’t broken yet… (and I don’t buy cheap shitty cables, so the many I’ve already been through really hurt the wallet, though as I do rarely just want power…). Also your camera battery charger isn’t a fair thing to throw in there, unless you are going to have a camera without exchangeable battery or only be able to charge them while they are in the camera, and as I don’t know anybody that uses a real camera without carrying at least one spare battery – you still need that separate charger box even if its energy source is changed to USB-PD, so its added weight is still required.

      So sorry but really to me only reason 2 seems reasonably accurate. But still doesn’t really play out that easily with the massive compatibility issues USB-PD and USB-C cables can bring because its such a messy spec – its far from as trivial as that statement makes out. IFF USB power were a more sane, static and consistent spec so it could be that easy I’d agree, and boy would it be nice. But on the whole the only USB power that really is trivially reliably easy to borrow a power adaptor for is the 5V only stuff, might charge slow but it will always work…

      I could add a reason 5 however – travel to other nations or import devices should become less inconvenient to power if USB-C and PD ever become actually reliable.

      1. Are you aware that most laptops/cameras etc manufacturers take extra measures to make sure their charger is not a simple adapter with a barrel connector that can be easily replaced? so no, you cannot swap them. There are also plenty of differences between connectors, voltages or protocols even within the same manufacturer. USB PD is forcing all those to operate with a standard that can be shared.

        I think you are also overestimating the complexity of making a power supply variable and adding a controller that can change the voltage to it. This is another reason why this makes sense. you add 10-20% more complexity to a switch power supply and not its 500% more useful because it is variable and has a standard protocol.

        “carry at least in the tens of USB-C cables to actually be able to find one that works right and isn’t broken yet” – i am one of those aliens who manages to do this with a single usb cable. i also have 2 other, one longer and one shorter. they also work just as well, but i prefer the medium one. strange.

        1. I’ve only seen it won’t just work when fed the right voltage from a common connector like that from with Dell at all recently. And I suppose arguably Apple as they loved doing their own thing, but if you are rich enough to buy into their lifestyle brand you can afford it anyway…

        2. Plus PD doesn’t really force anything – you can be PD but not support various things some PD supplies will – it is a wild west and an ever changing standard. That older PD device even if they did their due dilligence and at time of release it was 100% perfectly compliant* won’t stay that way – new higher power modes etc. But there is nothing to show why.

          *(which with such a complex spec with so few if any implimentations that good actually in the wild I’d say is rare in its own right)

          Oh and on USB cables as the only thing I actually need USB-C for actually needs USB-C not USB-2/3 in a snazzy outfit the cable actually matchings it stated compatibly and long term reliably drops massively… At least in my experience, all while costing at least 10x more than a USB2 or 3 cable…

  8. “a company developing powerbanks can afford to buy a few laptops with different OSes”

    Probably not, the margins on stuff like power banks is small. Retail is grabbing most of the profit, not the people who actually designed the boards.

    Also, you can’t just blame manufacturers; there’s plenty of specs which they follow fine. If everyone is having problems with the USB-C spec you need to ask if there’s a reason.

    1. oh I am defo thinking about larger manufacturers here, esp given it’s them who get it wrong, and they tend to have control over chip firmware. Smaller manufacturers typically rely on an all-in-one IC, where, like, yeah, the PD-behaviour-programmed-in IC manufacturer gotta have a test setup too.

      Plenty of specs that manufacturers follow fine? Now that’s funny =D When they learn to do two 5.1K resistors, something that you can learn from one of the numerous ‘how to add USB-C charging’ appnotes, let me know!

  9. I picked up a new laptop last week, with USB-c. I spent the last couple of days trying to connect it to my existing kit.

    I’ve now got a USB-C / DisplayPort adaptor which only works with one of my (almost identical) Dell screens. The DP inputs are fine on both monitors; I’ve used them for years with no issues with “real” DP outputs from laptops. How does USB-C manage to mess it up?

  10. Was this sentence supposed to have a link?

    “Here’s just an example of a developer who was working with a WCH RISC-V board using a USB-C connector for power, and spent a good few hours due to WCH not bothering to add these resistors.”

  11. I have the reverse issue to the first sin discussed in this article, I got some really cheap USB-A to USB-C cables. They work fine with my dev boards that use USB-C, when I tried to use one to charge my Pixel 6a, the phone acts like nothing is connected.

    After reading through all the articles in this series, I still can’t figure out why this happens. It seems that they should work fine, since they are just dumb USB-A to USB-C cables.

    Great series of articles though, they really make USB-C clear and simple.

  12. Huion are guilty of not following spec. Just try plugging a generic USB-c device into their proprietary tablet cable and see it stop working in short order, even after tagging it with red gaffer tape.

  13. I think all phones that have an USB-c port also accept 12v after their negotiation.
    So what happens if there is 12v without negotiation with such phones? Surely they won’t blow up will they? That seems just scare mongering of the author.
    Now if you say it damages the PD chip it might sound possible, and that would be very vexing of course. But would it though? Does anybody know?

    1. Even if you can get away with that (which I’d say is at best a very very iffy proposition – got to be lots of smaller/cheaper phones out there that only charge at 5v) it should not be at all encouraged. It is a certainty that not all USB-C devices will survive the wrong supply and the whole selling point that is supposed to make USB-PD worthwhile is it won’t blow up your device so you no longer have to pay any attention to what you plug in.

      All allowing such a mockery of the spec does is make an already overly complex spec that will silently fail to do as expected in so many ways even worse as it now in practice actively destroys stuff…

  14. Thanks for doing this series of articles. It’s so informative, a joy to read, and I especially like your willingness to clearly and plainly state the value of open (both code and standards!) as it relates to this problem.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.