There’s two cases when hackers have to think about USB-C connector mechanics. The first is when a USB-C connector physically breaks, and the second is when we need to put a connector on our own board. Let’s go through both of them.
Clean That Connector
What if a socket on your phone or laptop fails? First off, it could be due to dust or debris. There’s swabs you can buy to clean a USB-C connector; perhaps adding some isopropyl alcohol or other cleaning-suitable liquids, you can get to a “good enough” state. You can also reflow pins on your connector, equipped with hot air or a sharp soldering iron tip, as well as some flux – when it comes to mechanical failures, this tends to remedy them, even for a short period of time.
How could a connector fail, exactly? Well, one of the pins could break off inside the plastic, or just get too dirty to make contact. Consider a device with a USB-C charging and data socket, with USB 2.0 but without high-speed pairs – which is to say, sadly, the majority of the phones out there. Try plugging it into a USB-A charger using a USB-A to USB-C cable. Does it charge, even if slowly? Then, your VBUS pins are okay.
Plug it into a Type-C charger using a Type-C cable, and now the CC pins are involved. Does it charge in both orientations? Then both of your CC pins are okay. Does it charge in only one orientation? One of the CC pins has to be busted. Then, you can check USB 2.0 pins, used for data transfer and legacy charging. Plug the phone into a computer using a USB-A to USB-C cable. Does it enumerate as a device? Does it enumerate in both orientations? If not, you might want to clean D- and D+ pins specifically, maybe even both sets.
Can Be Replaced – Sometimes
It also helps if you can take your device apart, get a USB-C plug breakout and measure continuity through the socket. What if your connector is too busted and there’s no continuity, no matter how much you reflow a specific pin? Well, it might be bad news, unless you own a reasonably popular device.
I would not be surprised if there’s literally a thousand different USB-C connectors types out there – and every phone and laptop under the sun seems to use a slightly different, mechanically incompatible one. If a USB-C connector in your expensive device fails, you might have to look for a very, very specific replacement part. They’re also often bothersome to desolder and replace, given that they’re always a combination of through-hole and SMD parts. Sometimes the SMD pads are firmly under the connector and inaccessible, and with edge-mount connectors, sometimes they’re on both sides of the board. Often, there’s plastic right next to the pins, or over them. All of this makes it bothersome to use hot air or a soldering iron for removing the connector.
On the upside, not all manufacturers are half-intentionally hostile like that. New Macbooks have USB-C sockets on a separate, easily detachable and replaceable part. Many phones have the USB-C port on a separate small PCB on the bottom of the phone, too. In both cases, you can just go on Aliexpress and purchase a separate board, that you then replace. Now, disassembling modern phones is a rabbit hole, but I guess we can be thankful that there’s at least there’s some consideration.
Just like MicroUSB, USB-C connectors have small latches. They’re not visible – as they’re inside the plug, on the sides. That said, they’re more often present than not. Of course, just like MicroUSB, these latches also wear out. Thankfully, all you need to do is to buy a different cable. And what if it’s your favourite cable, or what if you feel like building your own cables?
You can also buy USB-C plugs with small breakout PCBs, that let you solder wires onto them. Having such plugs lets you build custom cables or create new ones; I personally buy them from LCSC as they stock a surprising variety if you know where to search. There are plugs that have pullup resistors on them and will work great for building USB-A to USB-C cables, but you better be sure to remove the resistor for USB-C to USB-C applications. There are plugs that expose both CC pads, extra handy in case you want to build your own USB-C extensions or something. And there are also plugs with an emarker programmed, in case you want to get 5 A out of a PSU and need to build a custom cable, among other things.
By now, we’re firmly into the territory of making our own stuff. Let’s talk about doing it properly – again, limiting ourselves to mechanical aspects, for now.
General Connector Rules
For a start, let’s highlight something great about USB-C sockets. The overwhelming majority of them have through-hole mounting pins – a welcome departure from legacy of MicroUSB and MiniUSB, where the cheapest connectors you could buy were surface-mount only, making it easy to rip the connector off the board. It’s really hard to find a USB-C socket that’s fully surface-mount, and this does make things more mechanically sturdy.
For hackers, this does tend to make PCBs and assembly and bit pricier – you need your fab to be able to do PCB slots, since most USB-C connector footprints use slots, and when ordering PCBs with assembly, you have two or four extra through-hole pins that need to be manually soldered – which comes with extra fees. That said, it’s undoubtedly for the better, and prices will go down over time.
USB-C connectors, sockets and plugs alike, have current ratings. All the sockets are supposed to be rated for 5 A, but I’ve seen some Chinese ones rated for 3 A; check the datasheet. Of course, if you’re putting a 5 A connector on your board, remember that it will only pass 5 A if your board is able to request that, which in turn requires active USB-PD communications — the usual dual 5.1K pulldown arrangement isn’t sufficient for that. On the upside, if you’re not aiming to have a 5 A connector specifically, you don’t need to check the current rating.
This variety of sockets exists because there are myriad ways you might want to mount a USB-C socket – on top of the board horizontally, or vertically, or vertically but facing sideways, or inline with the board with dozens of possible heights, with or without waterproofing, and of different manufacturing quality. There’s also myriad ways to expose high-speed pairs, if you need a connector with those. Some use SMD pads and some use through-hole pins for high-speed, and that’s just scratching the surface.
Not all connectors are good for you, either – which does help decrease the variety somewhat. First of all, you will see connectors without CC pins exposed, which will only really work with USB-A to USB-C cables. One could expect to find such a connector in a “baby’s first soldering kit” package sold for $3. You really shouldn’t use them, however. There’s also plenty of connectors that expect to have SMD pads for pins fully hidden under their own package. If your solder paste stenciling skills aren’t up to snuff, you really, really don’t want to debug soldering issues with such connectors.
Low Speed, Simple Rules
Let’s limit ourselves to USB 2.0 and CC, and of course, VBUS and GND. The hobbyist choice of a tried and true connector, highlighted in the first article, is the 16-pin SMD one. You will see it on devboards, cheap USB-C-equipped products, and many a hacker creation – it’s special in that it’s somewhat defined in the USB-C specification, too. KiCad has its footprint listed as USB_C_Receptacle_HRO_TYPE-C-31-M-12
with a matching symbol called USB_C_Receptacle_USB2.0
, but HRO are certainly not the first to produce this connector, and there’s a trove of pin- and footprint-compatible connectors to this one specifically. Plus, as I mentioned, you get SBU pins, and you might want to use them for something like a UART – or perhaps, delete the SBU pads from the footprint so that you have two less pins you can possibly bridge during soldering, as the picture illustrates.
When you find a nice-looking substitute connector, do check its datasheet pin numbering with that of the PCB footprint you’re using. There’s been cases when in-datasheet footprint pin numbers are different from the commonly used numbers, or the datasheet was confusing and lead to hackers making mistakes, causing hours of debugging after a manufacturing issue has been found. While you’re in the datasheet, check if there’s a recommended PCB thickness for mounting such a connector. Even though such connectors mount on top of the board, PCB thickness might define how easy it’s going to be to have the shell pins solder properly. That said, it’s more of a recommendation than a requirement.
Of course, you shouldn’t be afraid to search and use any connector that you might ever want. For instance, if you don’t want USB 2.0 and might want an easier soldering experience, there are really nice connectors that only expose GND, VBUS and CC pins. In general, if you ever want a connector that exactly fits your usecase, you always can find one, and you can treat the 16-pin one as the safest fallback ever. Oh, and if you’re using a 0.8 mm PCB and you want to do things really, really cheap, you can build the socket right into your PCB. It might be just a tiny bit janky and it might eventually fail you, but it will, ultimately, work well enough.
High Speed, High Demands
What if you ever want to use connectors with access to high-speed lanes? Sadly, I don’t have a specific high-speed connector to recommend you, but I I can certainly give you a few guidelines on how you can find one.
If you’re looking to settle on a high-speed-capable socket for your designs, I would recommend that you either find an existing and verified open-source design that looks easy to solder for you, or perhaps, find a few connectors that look suitable, order samples, design a board with test footprints for all of them, then try assembling a few and see how well it goes.
If you’ve found a footprint online that looks like it would fit a nice connector you found, check the dimensions carefully, then check again – even if the footprint name is the connector part number verbatim. Two months ago, I decided to make a breakout exposing all high-speed lanes on a USB-C socket, having the signals at least pretend to look like a differential pair. It’s not exactly close to being reasonably suited for actual day-to-day USB3 or DisplayPort use, since I ordered it as a two-layer board and the impedance is therefore out of wack, but it’s still better than the usual breakouts with 90 degree bend “high-speed” traces.
I found a footprint in KiCad that looked like it’d be easy enough to solder – through-hole pins for the row under the package, and surface-mount but soldering-iron-accessible pads for the row outside of the package. I found some connectors on LCSC that looked like they fit the footprint. When the day came to solder connectors onto breakouts, it turned out that the shield pins on the front were offset a few millimeters from the footprint locations. It also turned out that PCB holes for through-hole pins were just a tiny bit too tight after plating was added – next version will certainly have slightly larger holes.
Edges And Plugs
It might be that you find a nice edge-mount connector with through-hole high-speed inner row pins. When doing PCB layout, you then might realize that it’s impossible to pull two of the innermost signals out – one CC and one SBU. One workaround is to straight up omit these two pins if the footprint is for a USB-C plug: you don’t use SBU and you don’t need a second pin for VCONN, which is, simply put, an unused CC pin reused as a power pin for an emarker.
Or you could solve the problem. The first way is to use a multi-layer board and route the pin out through an inner layer, where annular rings of through-hole pins aren’t present. The second way is using tracks tiny enough that they can still pass around the connector, by the PCB edge. Or for a third way, you could sneakily decrease the width of two through-hole pads around the offending pins on the top (non-solderable) layer, until a track fits between them.
Most of what I’ve mentioned applies to sockets and plugs equally. Of course, there are some plug-specific issues. For instance, there are mid-mount plugs – plugs that expose the full set of pins, with each USB-C pin side on different side of your PCB, and they’re reasonably nice to solder. On the other hand, I have no idea how such plugs are assembled at the factory – they seem to be reflowed and not manually soldered in products I’ve disassembled, but since there are SMD pads on both sides that the connector goes on top of, I have no idea how you would stencil such a board, especially in a larger-scale manufacturing environment. Any ideas?
Another peculiar consideration is that you’re only allowed to have a plug connect a single set of USB 2.0 data pins, which is to say, one pair of USB 2.0 pins has to stay disconnected. Some solderable plugs even have a second pair of USB 2.0 pins physically missing. I’m not quite sure why you can’t do this, especially given that almost every single USB-C socket PCB design parallels these pins, and it would just be a parallel connection all the same.
And that’s everything that you might want to know about USB-C connector mechanics. Of course, if I missed something, do talk about it in the comments!
Wow, fantastic writeup! Informative, detailed, and thorough, with just the right balance of depth. Well done!
“What if you ever want to use connectors with access to high-speed lanes? Sadly, I don’t have a specific high-speed connector to recommend you, but I I can certainly give you a few guidelines on how you can find one.”
Use flag orientation connectors (sometimes get called “vertical right angle”). They’re a total breeze to solder manually because they break out left/right instead of front/back, and you still get a right-angle port. Oh, and the space between the pads is big enough to stick a 24 mil pad/12 mil drill via so it’s easy enough to jumper the USB 2.0 connections.
Or use bodge wires…
USB-C is a big disappointment. There is no locking feature. They have a score of additional semi-compatable power models coming. They didn’t think USB-C through.
Seems like a locking function would lead to a lot of sad macbooks and phones with torn-out jacks
There’s a latch. It’s described in the article.
There’s also a locking standard. The locking cables are readily available.
→ find “latch” yields nothing within he article …
– only occurs in Your response.
Your Control-F is broken, try searching any of the following words on the page….
“Just like MicroUSB, USB-C connectors have small latches. They’re not visible”
Duh. Read the article. It’s there. They use the plural “latches” hopefully that’s not too confusing for you…
Because the article used “latches.”
There are multiple cable/connector vendors for locking receptacles and cables. The locking connector specification was developed in tandem with the original USB-C mechanical development.
https://www.usb.org/sites/default/files/documents/usb_type-c_locking_connector_specification_rev_1_0_20160309_0.pdf
Locking features are evil except maybe in high vibration applications. In what universe would you want to pull something and transmit force to the PCB instead of just unplugging?
USB-C handles the common use cases brilliantly and the less common use cases acceptably. It will almost always charge, even if it’s at 5W, and USB2.0 almost always works.
With GPIB/HP-IB connectors, we may simply not want the plug to fall out of the socket. Ever. Because sometimes the equipment involved requires a forklift or other heavy lifting equipment to move far enough away from the wall to get a human back there to reconnect it. That’s just one real-world example I’ve had the treat of dealing with. I can easily imagine a similar situation involving USB-C connectors, sometime in the not-too-distant future, where a connection with integrated fasteners would’ve saved a few days of downtime.
Google single or dual locking screw USB-C connector and you’ll find what you want.
You don’t need to redesign USB-C to do that.
Just use screws, D-SUB style. The screw holes could be mounted directly to the chassis without transferring too much stress to the connector and PCB themselves.
On connecting both D+/D- pins in the plug:
IIRC (but it has been a while since I looked into this), there’s a few legitimate use cases for having them be independent in both orientations. I’m not sure if any of them overlap with the space where a standard cable is expected to be used though (Debug Mode, etc).
Maybe it’s to accommodate folks who actually use a switch to mux the USB 2.0 pair? It’d avoid the stub on the PCB that would loop back. I can’t recommend if that’s legal, or recommended, even if very few would add it in practice.
Oh that makes a lot of sense to me! And VirtualLink also uses the two USB2 pin pairs for USB3 purposes. Joining the two pins in the plug is something that the spec doesn’t want to do, but for a hacker, it makes sense to know why – and yeah your guess sounds pretty good! USB-C has some allowance for stubs on USB2 (since it explicitly allows joining the USB2 pairs at the socket), but if a USB2 or VirtualLink switch is used, that could be too much of a stub indeed. Both applications seem pretty rare, so in absence of other reasons, I’d join them, but ofc, no guarantees, indeed.
Wait, is there actually a cable that legitimately has all 4 SuperSpeed pairs *plus* both USB 2.0 pairs? That’d be really handy: my go-to for high-speed pairs has been various MiniSAS HD or SATA, but that’s jumping from 2 pairs (SATA) to 8 (MiniSAS) and the MiniSAS HD cables are pretty friggin’ big, and plus the externals have no sidebands.
Yeah, adding 1 doesn’t sound like a lot, but it gives you a 2-bit source-synchronous interface both ways, and the USB-C connector is dense.
VirtualLink is technically a violation of the USB C spec iirc (because of the way it reuses wires)
I’ll be completely honest with you, almost all devices in my house use a magnet charger, in USB Micro, Lightning and USB C flavors.
They also get Otterbox/Spigen or similar cases, I’m having trouble remembering when I had to replace a port or device.
That said I’ve got 2 styles of trigger board (5/9/12 qnd 5/15/20) and 4 styles of power delivery circuit
(Lenovo slim tip to 45w, 45w/65w/100w) as needed. My T480 and Steamdeck can share a charger (no magnets there.)
USB c great for hacking
This is why I hate USB-c and prefer lighting.
Fully agreed, I have seen, uses, supported lots of USB connectors, and they are all the worse. The best design belongs to the Lighting connector. There are fewer breakable parts on the host side, the cable side is solid. Replacing the connector on the host side is difficult, replacing the cable is easy.
I’m sure there’s a reason the lighting didn’t take the world by storm.
I think the reason is simple. It is licensed by Apple and is not free for everyone to implement. That is what holds it back.
That’s not the reason. The reason is the socket that wears out, not the plug. Not to mention that lightening is all of a sudden usb 2.0 speed
Not just holding it back, but ultimately killing it.
I’m about halfway through this excellent and well researched article and I have a gigantic boner 10/10 wonderful content, thanks!
My phone USB-C connector became quite flaky over time and wouldn’t keep a cable inserted securely, or eventually at all. Turns out it was slowly becoming packed with denim lint. I took a cotton swab with a hollow plastic stick (not paper stick), cut off one end, and split the stick lengthwise for about a half inch, trimming away one side and leaving a half circle “U” extrusion. With the round side facing the inner pins, I could use it to scrape and coax all the lint out from deep in the socket without damaging the conductive traces. Very easy to clean these connectors up, and no need to buy special products to do it.
Weird, I was just talking to my father about this on Christmas because he said all of the chargers he kept buying stopped working within a short period so I cleaned the port out with some contact cleaner and a q-tip and he was so happy it worked he joked that was the best present he received this year.
awww I’m glad to hear that!