5 ms·
An Engineer's Guide to USB Typе-С (2024)
- deleted 3mo ago[deleted]
- qwertox 3mo agoGood find!
- delis-thumbs-7e 3mo agoNice one. I need to read this later.
- wolfi1 3mo agothere is a timestamp as parameter, I don't know, what it is good for, but the link works without it as well
- account42 3mo agoMight be for cache busting.
- wolfi1 3mo agocould be, but for pdf documents I would assume that they are not changing this much
- Lex-2008 3mo agotimestamp corresponds to Oct 08 2025, so probably the last time the file was modified
- crote 3mo agoTI usually links to chip datasheets, which do tend to change from time to time. Having both a reference to a specific revision and a trivial link to the latest revision is quite handy in practice.
- faangguyindia 3mo agoI use an Apple Silicon Mac and often use programmable keyboards like the Royal Kludge RK61 via USB C. when I press keys such as A, S, D, F, W, or nearby keys in quick succession, the keyboard stops responding completely until I unplug and reconnect it. I've even replaced the USB C cable with a new store bought cable, but the issue still persists.
- rjh29 3mo agoUsb isn't the issue, you bought an extremely budget mechanical keyboard.
- thenthenthen 3mo agoAlso avoid Epomaker, had the same issues, but needed a full reflash (every other day), losing all my layers etc. (The import function was broken lol)
- faangguyindia 3mo agoturns out it was just me not knowing my keyboard has full qmk support and can be configured via usevia, what N-key rollover (NKRO) is. my keyboard is actually r65 by royal kludge i got that wrong! I was gifted this keyboard and i just love its feel.
- DaSHacka 3mo agoCheck if your keyboard has a way to enable n-key rollover (NKRO) https://en.wikipedia.org/wiki/Key_rollover https://en.wikipedia.org/wiki/Key_rollover
- faangguyindia 3mo agoYou are genius! thanks this completely solved my issue, for those curious https://postimg.cc/75hV9tCK https://postimg.cc/75hV9tCK I use usevia, all i had to do was find a keyboard definition file for my keyboard which claude found in 2 minutes!
- rjh29 3mo agoPretty good summary. It can be confusing since type C is "just a connector" but it's pretty heavily coupled with the protocol now.
- ahk-dev 3mo agoUSB-C reminds me of HTTP: one familiar interface hiding an enormous amount of complexity underneath. That's great for experts, but difficult for everyone else because the same connector can expose wildly different capabilities depending on the implementation.
- imtringued 3mo agoGuides like this explain why there are so many broken USB-C devices. The guide mentions that you do not need a PD chip for 5Vs, but then tells you that USB C is a cold connector meaning 0V is on VBUS when nothing is connected and jumps straight into the complexities of the PD protocol running over the CC pins instead of explaining how to get the 5V without the PD chip first. Then in the section where it tells you how to do that, it fails to properly explain how to connect a load switch (10 cent component at 100 units) to get around the 10uF limit. The vast majority of applications will require less than 15 W and a good chunk of them can't get away with 10uF between VBUS and GND so a schematic how to do it in the lowest cost way would have helped here. Edit: After reading until the very end I got the impression that this is just an ad for Texas Instruments PD controllers.
- crote 3mo agoBasic 5V devices just need a 5.1k resistor on each CC pin to GND. It is pretty obvious when reading the actual USB-C Connector Specification.
- dvh 3mo agoNow I want to know, how to add larger than 10uF cap?
- freeone3000 3mo agoWhy? 10uF is already pretty beastly, and the point is to dampen signal verses intermittent drops and drains, not power the backing device for any amount of time.
- triactual 3mo agoYou need a soft-start circuit between the USB connector and your big cap. When you first connect the USB device, the cap has no charge (0V) so it appears as a short to ground to the host 5V supply. The result is a large current spike which can draw down the host supply below some functional threshold or even damage it. We could oversize the host supply to deal with a 25 A transient and add cost and introduce safety concerns or push the solution to the connecting device where the problem exists. The solution is to ramp the current up "slowly" over several ms using a transistor on the device side. While the transistor is turned on slowly, it isn't fully conducting, acting as a variable resistor. The transistor is dissipating power during this transition so it must be sized correctly and timing controlled deliberately. Hence why we want the same design to contain the cap, transistor, and ramp control. A typical circuit might be: connector->small cap->soft start->big cap->main circuit. The soft start feature is often just built into a voltage regulator since there's already a transistor and control circuitry there but you can also get a dedicated load switch if you only want ~5V. The 10uF requirement is a contractual agreement between host and device that ensures compatibility between devices. If you don't follow it, a sophisticated host may simply cut power when it sees the current spike and that would be the device's problem.
- elhart05 3mo agoThe EPR safety design is the part worth highlighting for anyone not deep in USB PD. The handshake is deliberately structured so a single message error can't accidentally push a port into a 100W plus contract, the sink has to actively drive entry into EPR mode and the source verifies cable capability before sourcing anything above 20V. That's a sensible failsafe given how much heat and current you're dealing with at 48V and 5A. The eUSB2 section is also underrated context for why this matters beyond cables. As process nodes shrink below 7nm, the old 3.3V USB 2.0 signaling literally becomes a reliability risk to the silicon itself, which is why chipmakers had to invent a whole lower voltage PHY just to keep USB 2.0 alive on modern nodes.
- mtabini 3mo agoNot only that, but EPR contracts must be actively maintained in order to remain in effect. The sink needs to send a ping to the source every ~500ms, or the source pops out of EPR mode and forces a renegotiation. This ensures that, if the sink crashes, the source doesn't keep pumping power into a device that can't take it anymore.
- kubb 3mo agoMy new iPhone with USB C charging is such an improvement! Thank goodness for the European Union. If it weren't for them, we'd all be stuck with these flimsy Apple charging cables forever.
- BLanen 3mo agoThere were non-apple lightning cables already. And I have to say, the lightning connector itself is better than the usb-c connect in my opinion. I get that having the pins on the male* plug is a theoretical advantage in durability but that has not been my experience with usb-c connector durability on either end. EDIT: usb-c has pins on the male plug. Which is what I meant. So female -> male.
- valina-line 3mo agoThat's fascinating; I've only had positive experience with USB-C cables and terrible with Lightning. What kind of cables do you commonly use?
- kubb 3mo agoCouldn't be further from my experience. They would always eventually stop connecting. I didn't mention the single cable for everything advantage, that goes without saying.
- kotaKat 3mo agoI've also had basically zero issue with Lightning connectors, but had a constant battle with USB-C of every kind to figure out what's charging, what's data, what's PD, and so much more hassle. I don't get why Apple was forced to colonize by the EU when they had the market-leading connector in place for significantly longer than USB-C even existed. "It's only USB2!" Does it have to support the faster USB3 speeds? Not really... we don't have to keep forcing everything to include the latest kitchen sink support.
- Aefiam 3mo agoAs far as I understand Apple could have still supported an additional lightning port if they really cared about it. Per gemini for making ligthning accessories you also have to pay 4$ to apple per device that are passed onto the consumer. I dont know in what way that has to do with colonization. USB everywhere is nice because you can use the same charger for all kind of devices and dont have to carry multiple with you. The different kind of specs for usb cables is unfortunate, but you can just buy the highest spec ones and only use them.
- amelius 3mo agoHow can I read out the bit error rate?
- mtabini 3mo agoBit of self-promotion: I spent the last year or so designing an open-source USB-PD protocol analyzer[1], and the complexity of the protocol can be mind-boggling. Most of the time, the communication between source and sink is really straightforward, but it can get amazingly complicated when both devices are dual-role or come from the same vendor[2]. As messy as it is, however, it's also a very useful protocol that allows even small players to take advantage of the same economies of scale that large companies can take advantage of. Pity that the communication often requires dedicated chips, though thankfully those are relatively inexpensive. I was able to get an RP2350 (the same MCU that's in the Raspberry Pi Pico 2) to interface directly with USB-PD, but they could have made it easier and more accessible. [1] https://github.com/T76-org/drpd https://github.com/T76-org/drpd or https://www.crowdsupply.com/t76-org/dr-pd https://www.crowdsupply.com/t76-org/dr-pd [2] https://hackaday.io/page/399885-a-mac-and-an-ipad-walk-into-a-bar-part-1 https://hackaday.io/page/399885-a-mac-and-an-ipad-walk-into-...
- Melatonic 3mo agoWhat do you think of those cheap chips you can use as USB-C PD control boards ? They usually have a button some way to cycle between a few different output voltages (like 12v, 5v, 18v, etc)
- mtabini 3mo agoIt's hard to make a sweeping statement, but I can tell you that I more or less use USB-C exclusively in all my hardware designs now, and I've found that most of these “decoy boards” work well enough. The model I use[1] most often supports basic the USB-C protocol well, is easy to solder to (and remove from) an existing PCB, and is pretty robust. I cannot stress enough how convenient being able to “plug and play” USB-PD power in an existing project is. Whenever I send a finished device to a client, I no longer have to worry about having to source a compatible power brick, or about them misplacing it. Not to mention that, for the simpler projects, I can literally get a 20W power puck from IKEA that has really good performance and costs all of $5 (Canadian). On top of that, if I find that I need more voltage, I can just change a jumper on the decoy board and I'm ready to go. The only thing I wish more of these boards came with is better overcurrent protection; with PPS so common these days, it would be pretty easy to let the user choose an appropriate current cutoff. Oh well! [1] https://www.amazon.ca/dp/B0CNVN1N3J?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_4 https://www.amazon.ca/dp/B0CNVN1N3J?ref_=ppx_hzsearch_conn_d...
- tonymet 3mo agoA helpful guide, but usb c usability from a consumer standpoint is atrocious. From the specs it runs so many modes, PD (at various power levels), classic 5v , alternative modes. Sadly, there’s no way of knowing which mode a device or cable is supporting. They could have done a better job color coding the connectors like resistors, so you could know the protocols supported by the cables and devices. I have to label my own cables according to data support, PD, max power, etc. And many of my “usb c” devices only work with usb-A to usb-C cables. The connector design targeted the industry and not consumers. Hopefully they will improve that.
- xg15 3mo agoAlways found it a bit strange that USB-C is referred to as a "new connector" when it clearly seems to be an entirely new protocol. (Unlike the previous new connectors mini and micro which were just differently-shaped plugs for the same wires) So is the protocol technically USB 4.0 and USB-C "just" a new connector role defined by that protocol, or did they ditch the versioning and "USB-C" is its own thing? The guide mentions that USB 4.0 is the first version to require a USB-C connector, but then later refers to the "USB-C protocol". Is that the same as USB 4.0?
- samatman 3mo agoPerhaps you will find page 27, "USB signals over USB Type-C®", clears up the strangeness. At least when you get to the first section, "USB 2.0 Signaling Over Type-C".
- ianburrell 3mo agoUSB-C is a connector. Part of the confusion is that USB specification versions have come to be associated with the protocols and speeds defined there. The basic division is between USB2 and USB3 which are separate protocols on different wires. USB-C has multiple high speed lanes. USB 3.0 defined the SuperSpeed protocol and 5GBps speed. Later versions increased speeds, 10GBps (USB3.1), 20GBps (USB3.2). These were also called Gen1, Gen2, or now just the speeds. Then, there are alternate modes which run other protocols over high speed lanes. DisplayPort is the most common one. Next, USB4 defined USB4 protocol which multiplexes SuperSpeed and DisplayPort over two high speed lanes. USB4 requires USB-C. This is basically Thunderbolt standardized. Specification also defines 20Gbps, 40Gbps, and 80Gbps speeds.
- rjh29 3mo agoIt's easier to split USB 3 into two stages: 1) USB 2.0 - 480 Mbps, 0.5A (2.5W / 5V) 2) USB 3.0 on Type-A - increases data to 5/10 Gbps (e.g. for SSDs) and power to 0.9A (4.5W / 5V). 3) USB 3.0 on Type-C - adds pins to enable most of the new stuff: base 3A (15W / 5V) and up to 240W with power delivery; extra data lanes for 20 Gbps, DisplayPort for external monitors. 4) USB 4.0 on Type-C - changes protocol completely (using packets instead of fixed lanes per pin) and requires minimum speeds and the use of type-C port. A-to-C cables act like A-to-A as they don't have extra pins - they're just easier to use. Pre-Power Delivery lots of phone chargers used A-to-C cables with a custom protocol to negotiate power draw beyond 0.9A. And some devices pull 3A anyway just assuming there's a power brick that supports 3A attached. But technically none of that is compliant.