[HN Gopher] PCB Edge USB C Connector Library
       ___________________________________________________________________
        
       PCB Edge USB C Connector Library
        
       Author : walterbell
       Score  : 153 points
       Date   : 2025-10-26 02:31 UTC (20 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | 15155 wrote:
       | What PCB thickness is optimal? The USB-C tongue on a shieldless
       | part I use is ~0.7mm, which is a pretty thin PCB.
        
         | webdevver wrote:
         | i wonder how often you can plug/replug the connector in this
         | case. how will the pcb material hold up? with my press-fit or
         | clip-fit (is that a term?) 3d prints, ive noticed that 20
         | cycles can be sufficient to induce substantial 'loosening'.
        
           | ggm-at-algebras wrote:
           | Plug an OTG cable in and connect to that, so you don't repeat
           | plug-unplug?
        
             | eternityforest wrote:
             | What about the force transferred by the connector wiggling?
             | I think You'd need a very good mechanical design on the
             | case to make it all work.
        
               | kgasser88 wrote:
               | I don't think it's intended for thousands of mating
               | cycles. It's a "free" standard
               | programming/debugging/recovery/configuration interface.
        
           | Kirby64 wrote:
           | It's likely in the order of 10-30, especially with something
           | like ENIG as a finish. If you wanted more cycles, you'd want
           | to switch to a hard gold finish which would likely increase
           | the cost substantially.
           | 
           | This is truly only for a debug port, not anything else.
        
         | Taniwha wrote:
         | They say "use 0.6 mmm"
         | 
         | https://x.com/AnasYMalas/status/1982060711670067350
        
           | Taniwha wrote:
           | +copper+ENIG is going to make that 0.7mm
        
           | peteforde wrote:
           | That is a very thin PCB. For anyone reading this, 1.6mm is
           | standard.
        
             | shadowpho wrote:
             | No.... It really depends where/what industry/what type/how
             | many layers.
             | 
             | I would say 1.6mm is pretty thick but it depends.
        
           | jmgao wrote:
           | I've found 0.8mm to make much more reliable connections,
           | since the specification says that the tongue should be 0.7mm.
           | 0.6mm will disconnect if the cable is angled in any way.
        
       | peteforde wrote:
       | In a similar vein, I discovered and have started using the Tag-
       | Connect TC2030-USB to program/troubleshoot my boards. While it's
       | technically/originally intended as a way to do JTAG debugging, I
       | am completely enamored with the ability to drop a footprint on my
       | PCB and be able to connect to it without having to place a
       | relatively expensive connector (or a connector at all) that I
       | don't necessarily want users interacting with.
       | 
       | https://www.tag-connect.com/solutions-target-devices/usb-ser...
       | 
       | They have FTDI versions as well, for those who want the full USB
       | boot/reset treatment.
       | 
       | Also, they have another connector for attaching to castellated
       | edges. I think it's just so clever.
        
         | Brian_K_White wrote:
         | I just use ordinary straight pin headers and stagered via
         | holes. The board just has vias and the cable just has a plain
         | pin header not even pogo pins.
        
           | stavros wrote:
           | Why vias? So the pins don't go all the way through? Wouldn't
           | any disparity in the lengths of the pins make that pin not
           | touch?
        
             | azdle wrote:
             | I think they probably mean standard through-holes. It's the
             | old trick where you stagger the holes just enough that the
             | flex of the pinheaders still let's them be inserted, but
             | have just enough friction to stay in place while you're
             | flashing or whatever.
        
               | stavros wrote:
               | Oooh that's a great trick! Thanks, I'll try that on my
               | next board.
        
               | Brian_K_White wrote:
               | Right, plated through holes, but with almost no exposed
               | anular ring. As little as I can get away with without
               | getting mask sprayed down into the hole.
               | 
               | For 100 mil pitch, 25 mil square pins: 36 mil holes, 6
               | mil off center, 12 mil hole to hole.
               | 
               | The short side of a generic pin header is the side that
               | goes in the holes, so the long side is free to accept
               | dupont sockets and shunts the same as if you had the same
               | pins soldered in the pcb. So the cable is just ordinary
               | programmer fly wires with female dupont ends. You don't
               | even need to make an actual cable.
               | 
               | If space is tight on the pcb then it does use up more pcb
               | than pads that leave the other side free. And pogo pins
               | are going to be a lot faster for producing something in
               | numbers.
               | 
               | I don't mind buying nice stuff like a fancy purpose made
               | good-working tool for myself but I'm always making open
               | source projects and one design goal is to require as
               | little as possible, and as generic and universal as
               | possible from the user. So I avoid fancy special things
               | where possible. It's not designing for commercial
               | production runs nor designing for one-off for myself,
               | it's designing to a kind of a platonic ideal to strip
               | away anything unnecessary and yet try to meet 2 opposing
               | goals at the same time as much as possible: Don't require
               | special tools that make things work reliably because of
               | how fancy the tool is, and don't require the user to be a
               | zen master craftsman that can attain a successful result
               | with rocks and nails. Try to make the process reliable
               | and repeatable while still only requiring basic materials
               | and supplies. As much as possible anyway.
               | 
               | Pogo pins are pretty common these days and not exactly
               | exotic or expensive any more so maybe I can start using
               | them.
               | 
               | Then again, the through holes do 2 extra things besides
               | make the connection.
               | 
               | With pads you need to aim/register the pins to land on
               | the pads, and you need to hold them there. That means
               | aiming with your eyes and holding with at least one hand,
               | or it means adding some kind of extra registration and
               | grabbing features to both the pcb and the cable, like
               | extra drill holes or slots and extra plastic shapes on a
               | special cable-end etc. Or no extra features on the board
               | and instead a whole clamping jig that holds both the
               | board and the pins.
               | 
               | Since these are holes that pins go in to, you don't need
               | any other form of registration to aim the pins at the
               | pads. The pins go in the holes.
               | 
               | And they hold onto the pins themselves, so you don't need
               | any other form of retention.
               | 
               | It's just like plugging a plug into a socket where the
               | socket provides all that naturally.
               | 
               | I have one board that needs two different connections
               | like that, one for jtag and one for power and to
               | temporarily close a jumper to write-enable the cpld. So a
               | 4-pin and a 6-pin, 2 different cables in 2 different
               | places. The entire board is slightly smaller than a
               | DIP-28 so no room for any real connectors. You just stick
               | the cables in and two different cables hold themselves
               | with zero hands while you operate the flashing software.
               | The wires are all plain dupont wires stuck on the pins,
               | no solder, and 2 of the pins just have a generic jumper
               | on them. It's completely basic and not-special and works
               | perfect.
               | 
               | I have another board that needs 28 pins in a small space.
               | For that one I used 2.0mm pitch pins in straight rows not
               | staggered, but with the holes only 1.7mm apart. In that
               | case it's the long side of the pins that goes into the
               | holes, and the short side is soldered into a programming
               | adapter pcb that goes into a programmer. The pins are in
               | 2 sets of 2x7. Each set of 2x7 has 2 straight rows of
               | 0.72mm holes 1.7mm apart. What happens there is, as the
               | pins start to lean over, the top of the pins hit the
               | opposite side of the hole on the top of the pcb, and
               | don't want to go any further. The pins wedge solid and
               | make 4 points of contact, 2 on bottom and 2 on top, and
               | the board won't go any further even though the pins only
               | just poke out the top and there is still almost 2mm of
               | travel left. So you have a lot of remaining travel to
               | just push a little more if you get a bad connection. It
               | works great and no special parts anywhere.
        
         | wrs wrote:
         | I've been doing a cheap DIY version of Tag-Connect for some
         | STM32 projects (6-pin debug). I just put the holes for a pin
         | header near the edge of the board, and use a pogo clip to
         | connect [0]. (These are readily available on AliExpress in
         | various sizes.)
         | 
         | [0] https://www.adafruit.com/product/5433
        
           | edanuff wrote:
           | I do exactly the same on my boards and use that same clip.
        
             | sam_bristow wrote:
             | Back in my undergrad days I built a similar clip out of a
             | broken clothes peg, hot glue, and some 2.54mm headers. It
             | worked well.
        
         | jkestner wrote:
         | Same, enamored and I'm not even the EE. Elegant, no cost on the
         | product side, and I don't have to take the board out of the
         | case to access it.
        
         | exmadscientist wrote:
         | They're fine for one guy using them on the bench but they are a
         | nightmare for mass production. The 50-mil pitch is annoying to
         | make work with a bed-of-nails fixture, the clips are
         | fundamentally incompatible with production lines, either robot
         | or human, the parts are expensive, and the cycle life is not
         | there.
         | 
         | I have had one too many arguments with firmware people who
         | think these things are sufficient for production that I am just
         | done with them by now. There are other ways to do it.
        
           | pidge wrote:
           | Out of curiosity what are the other ways?
        
             | BertoldVdb wrote:
             | Just put normal test pads next to the tag connect, a bit
             | more spaced out. A bed of nails in the production line
             | connects to that, the tag connect can be used for bench
             | development.
        
             | davidzweig wrote:
             | 0.1" header holes slightly staggered to grip inserted
             | headers can work great and you don't need to have a special
             | expensive cable on hand to use it.
        
           | ACCount37 wrote:
           | This reads like a skill issue to me.
           | 
           | The only actual issue I had with Tag is that it takes up more
           | space than an array of aggressively placed test points would.
           | Which is still acceptable in some designs.
           | 
           | If you can't hit a massive, enormous 1.27mm pitch connector
           | complete with dedicated indexing holes with your jig, I can't
           | fathom how that would be the fault of the connector.
        
             | anymouse123456 wrote:
             | Not sure how this got down voted.
             | 
             | This is truth.
        
               | Diti wrote:
               | >> This reads like a skill issue to me.
               | 
               | > Not sure how this got down voted.
               | 
               | You'll notice the parent comment could have gotten the
               | point across without sounding toxic, by just dropping the
               | "skill issue" paragraph.
               | 
               | See also:
               | https://news.ycombinator.com/newsguidelines.html (the
               | section about how to write a good comment).
        
               | exmadscientist wrote:
               | No, it is not. _You_ may think my contract manufacturers
               | lack skill. (No comment from me.) But _I_ have to live
               | with them and make things work.
               | 
               | I try to get my CMs involved in design early. I think it
               | is telling that whenever I give them choices, they reject
               | Tag-Connect and pick one of the other options. Every.
               | Single. Time.
               | 
               | The connector that was specifically flat-out hard
               | rejected was the TC-2070 14-pin version. The number of
               | pins was part of the problem. Apparently (this was a
               | while back now so I may be misremembering) they had
               | trouble with the density at 0.050": 6 pins gives you a
               | lot more room on the sides to squeeze stuff in than 14
               | does. So they have to do it with a special premade block
               | that comes in and hits the pads, and that block was
               | nearly-but-not-quite unobtainium for the 14-pin version.
               | The CM hated the Tag-Connect in general and wanted it
               | gone, so we didn't trust them too much, but then we tried
               | to build the fixture in house and prove them wrong...
               | after that experience I have joined them in their hatred.
               | 
               | The fact of the matter is that there are many, many other
               | good ways to do it, so it's not Tag-Connect or nothing.
               | Castellations are right out in HVM because of the cost
               | hit, so that rules out Edge-Connect and friends. Wurth
               | has WE-SKEDD which looks like the same general thing as
               | Tag-Connect but I've not had cause to try it.
               | 
               | My favorite thing to do, if space allows, is to just put
               | down the unshrouded surface-mount header. Cortex and ESP
               | parts nominally use a standard 0.050" header and you can
               | just place it down. Then don't populate it, and you've
               | got an array of pads that are long enough to stagger test
               | probes on to in a bed-of-nails, or for bench use it is
               | very easy to hand-solder the header on. Plus it's
               | surface-mount so the space below the header is available
               | for use (often things like pull resistors or ESD diodes
               | go nicely here). The biggest wrinkle here is the solder
               | stencil. You _do not_ want to have paste put on these
               | pads if you 're not soldering the header, because you
               | badly want your test pins to hit clean ENIG finish and
               | not flux-covered no-clean solder (doubly nasty to probe,
               | even clean solder is bad enough). So it's harder to do a
               | small run of 100 bench-debug boards with headers then the
               | rest as production. You usually end up just soldering the
               | header by hand (or having the CM do it), which is OK.
               | 
               | Otherwise it's traditional pogo pads all the way. This is
               | pretty much required anyway whenever the board is too
               | small for other methods (did I mention Tag-Connect is
               | _huge_? Tag-Connect is _HUGE_.) and it works great as
               | long as you were already planning on fixturing.
        
               | eqvinox wrote:
               | With the information you're giving, my decision would
               | probably be to take the non-clip TC2030 or TC2050 (I've
               | never needed 14 pins) footprint and overlay the footprint
               | for a regular 1.27mm SMD connector on top of it. Cortex
               | debug connector should be a good fit but I haven't
               | checked.
               | 
               | That seems to be the "get your cake and eat it" (though
               | it does mean you're spending the space and drilling the
               | holes for TC.) But still -
               | 
               | > They're fine for one guy using them on the bench
        
               | exmadscientist wrote:
               | If you're insistent on Tag-Connect, that's a pretty good
               | way to go. Those legs are a big part of the problem and
               | so the No-Leg version helps a lot. But then it also falls
               | out of the board....
               | 
               | Seriously, I tried to like Tag-Connect. I _did_ like it
               | before supporting a CM and a hardware team trying to use
               | it (and lose the cables...). Now I just plain don 't
               | think it adds value over the alternatives. The header is
               | three cents. Three. Cents. The cable is $39 (with legs,
               | $34 without). That buys you over 1,000 headers and then
               | you can use the free cables that come in the box with all
               | the debug probes and live in the pile over there in the
               | shop.
        
           | technothrasher wrote:
           | We do smaller production runs of typically 100-1000 boards
           | and have had good luck with the Tag connectors for
           | programming them.
        
         | mmoskal wrote:
         | I had good experience with carefully spaced holes in PCB and a
         | 50 mil header, see https://jacdac.github.io/jacdac-
         | docs/ddk/firmware/jac-connec...
        
           | amelius wrote:
           | You might be interested in this "SKEDD" connector:
           | 
           | https://www.we-
           | online.com/katalog/media/o210254v410%20ANE011...
           | 
           | https://www.digikey.com/en/products/detail/w%C3%BCrth-
           | elektr...
        
         | _Microft wrote:
         | Maybe you like this - "paw connect", a whimsical version of the
         | footprint for this connector:
         | 
         | https://github.com/LeoDJ/Paw-Connect
        
         | the__alchemist wrote:
         | I wish the cables weren't so expensive! They do wear out after
         | a while; had one die that way. Using the 2030-NL STM32 6-pin
         | one.
        
       | JKCalhoun wrote:
       | That's cool but I am not sure how a customer of mine would feel
       | if I shipped a board to them like that. (I could see trying it on
       | a project for myself, though.)
        
         | mananaysiempre wrote:
         | The problem with USB-C connectors for hobby projects is that
         | they are ass to solder by hand--I'm still looking for one that
         | would use a larger pitch by shorting the four USB pin pairs for
         | either orientation. If you're shipping something to a customer,
         | I think it's fair to assume that you don't really have that
         | problem :)
        
           | exmadscientist wrote:
           | Do you find the 6-pin charge-only Type-C connectors too
           | small? Or the 16-pin 2.0-only ones? They seem reasonably
           | hand-solder-friendly but I admit I've been fortunate enough
           | to have the factory handling them for me.
        
             | mananaysiempre wrote:
             | Yeah, I find the 16-pin ones a little beyond my skill. They
             | also feel silly--why can't I have one with just six pins
             | for D+-, VBUS, GND, and CC1/2? I guess I could have a
             | factory make a bunch of modules like that for me, but it
             | definitely feels like a thing that should already exist.
             | 
             | (There are passive A-to-C adapters, so I see no reason why
             | I couldn't short pin pairs like that.)
        
               | exmadscientist wrote:
               | You cannot do that because of how the connector flips
               | over.
               | 
               | (Believe me, I have tried to make it work.)
        
               | mananaysiempre wrote:
               | Could you clarify? As far as I can tell, GND is A1/B1 and
               | A12/B12, VBUS is A4/B4 and A9/B9, D+ is A6/B6, and D- is
               | A7/B7, and each A pin swaps with its B counterpart when I
               | flip the connector.
        
               | exmadscientist wrote:
               | Only one side of the cable is going to be lit, but you
               | don't know which one it is: it depends on whatever
               | happened upstream. So you have to be able to handle
               | either side being lit up. You can't easily do that with a
               | single set of contacts because of how D+/D- is handled
               | (it would be a literal X-shaped crossover), so now you're
               | kind of stuck.
               | 
               | It ends up just not being worth the trouble if you need
               | the USB 2.0 pair. But power-only is much easier and,
               | guess what, pretty available in the market.
               | 
               | The 6-pin Type-C provides 2 pins each for power, ground,
               | and CC. (DO NOT LEAVE CC OUT. THIS IS WHY A LOT OF RECENT
               | USB STUFF MISBEHAVES. GET CC1/2 RIGHT PLEASE.)
               | 
               | The 16-pin adds 10 more: 4 for D+/D-, 2 more each for
               | power and ground, and then they add 2 more for SBU as
               | well. I'm not entirely sure why SBU is important enough
               | but I'd guess it's because it's physically vertically
               | next to CC so probably helps the mechanicals to leave it
               | in.
               | 
               | There actually do exist 8-pin guys like this
               | https://www.lcsc.com/product-detail/C47326494.html (among
               | others) that add D+/D- only to the 6-pin connectors. I
               | can't imagine they work terribly well most of the time
               | but they must have some use? They do seem to be from
               | Asian vendors only, which might mean something.
               | 
               | (Side note: the way Type-C handles D+ and D- has caused
               | me _so much pain_. I get that it was a difficult problem
               | to solve... but there had to be a better way than this,
               | right? Probably not, but I can still whine.)
        
               | JKCalhoun wrote:
               | I have soldered the 12-pin, power-only USB-C connectors.
               | The real breakthrough came though when I tried a hotplate
               | rather than soldering iron for the USB-C connector.
        
           | murderfs wrote:
           | Get a hot air gun: it'll make your life way easier. You can
           | tin the pads with a soldering iron, put the connector on and
           | squirt some flux on the leads, and then just blow hot air
           | until it reflows into place.
        
             | Hackbraten wrote:
             | How would tinning those tiny pads not create a massive
             | bridge between them? Does the bridge somehow go away in the
             | reflow phase? (Not familiar with reflow at all)
        
               | The_SamminAter wrote:
               | Using with a little flux while tinning usually prevents
               | the pads from bridging
        
               | etrautmann wrote:
               | Yes, the surface tension of melted solder pulls the
               | solder to just the pad areas (assuming you don't have far
               | too much)
        
               | foldr wrote:
               | To add to the sister comments, you can quite easily
               | remove such bridges by adding flux and then touching each
               | individual pad with a fine tipped soldering iron. It
               | sometimes takes a few tries, but eventually the solder
               | that's touching the solder mask will either be wicked
               | onto the iron or move onto one of the neighboring pads.
               | (The trick is to touch just the pads with the iron, and
               | not to try to attack the solder bridge itself.)
        
               | amelius wrote:
               | Make sure there is soldermask between the pads. This
               | makes soldering much easier!
               | 
               | (If your foundry can't fabricate it, then make the pads
               | thinner until they can fabricate the soldermask.)
        
             | The_SamminAter wrote:
             | What do you do if the structural through-holes already have
             | solder in them, that wick doesn't seem to get? I've been
             | trying to put a new USB C port onto my switch for quite a
             | while now. (Now that I think about it, I can probably just
             | shorten the prongs on the port and add solder after for
             | structural strength).
        
               | ahartmetz wrote:
               | A desoldering pump (manual model, $10 or so for a decent
               | one) is very suitable for removing solder from through-
               | holes, if that is the main issue.
        
               | 0_____0 wrote:
               | I often add solder to make it easier for the wick to get
               | everything. If the original assy was Lead-Free, using low
               | temp solder (I can has lead? As a treat?) may make a
               | difference here as well. Flux pen on the solder wick also
               | seems to help especially if your wick is kinda crusty.
        
           | LiamPowell wrote:
           | They're also ass to make PCBs for. The second you need 2oz or
           | higher you start to really push the limits of what most
           | prototype shops can do.
           | 
           | This is a pretty standard 2.0 receptacle, you've only got
           | 0.2mm between pads if you follow their footprint (literally
           | the limit for soldermask bridges on 2oz at JLCPCB):
           | https://gct.co/download?type=PDFDrawing&name=USB4105.pdf
        
       | peterburkimsher wrote:
       | If you're interested in other PCB edge connectors, here's an HDMI
       | one I designed:
       | 
       | https://forum.kicad.info/t/hdmi-pcb-edge-connector-for-raspb...
        
       | geepytee wrote:
       | Very clever packaging of a connector
        
       | izonu wrote:
       | Here is a similar project in the sense that it uses no connectors
       | on the PCBs, using a SOIC-8 clip to bite into the board. I think
       | it's pretty clever.
       | 
       | https://github.com/SimonMerrett/SOICbite/
        
       | dvh wrote:
       | Doesn't it require ENIG? I wanted edge connector for my pcb
       | project but it adds $20 to the price of pcb, that's just too
       | much. Anyone knows card edge alternative? I'm thinking pin header
       | but that's not very user friendly. Edge card can be inserted
       | blindly even if you don't see the connector, pin header would
       | probably just bend irl.
        
         | the__alchemist wrote:
         | ENIG sounds expensive right? Double the cost of your board or
         | w/e? IMO it's no big deal because::                 - A: If you
         | want a 6 or more layer board at some places, you have to get
         | ENIG anyway, and solving routing puzzles isn't my idea of fun.
         | - B: The PCB price is a small portion of the overall price
         | anyway; parts and SMT dominate. So you're paying 2x as much on
         | 15% of the total or w/e.
        
           | sagarm wrote:
           | Eh for a hobbyist it's simpler and more robust to just put a
           | connector on the board or use a test clip. I use clips like
           | these: https://www.aliexpress.com/item/1005007622121847.html
           | 
           | You can choose your spacing: 1, 1.5, 2, or 2.54mm.
        
         | tuetuopay wrote:
         | I've done HDMI edge connectors like this using plain HASL
         | without too much trouble. Just don't forget to remove all
         | soldermask on the connector path, they'll dirty out quickly
         | otherwise.
         | 
         | But, now I do ENIG everywhere because it's often the same price
         | as lead-free HASL (or so close it does not matter), while
         | looking way cooler. I've started to take quite seriously leaded
         | stuff now, especially since low temperature lead-free solder
         | exists (SAC305).
        
       | Velocifyer wrote:
       | I was looking for this for a while!
        
       | the__alchemist wrote:
       | This is very cool! What is the practical intent, given USB ports
       | are 69c each? To save vertical space? I am thinking: Neat this is
       | elegant and would work! But I can't think of any scenarios (off-
       | the-cuff.) where I would choose this.
        
         | user_7832 wrote:
         | I have no idea how easy it is to implement this in KiCAD, but
         | if it is - prototyping with this can be faster if you're eg
         | making something like a DIY keyboard. Fewer things to solder,
         | which is very nice if you struggle with it.
        
       | userbinator wrote:
       | There are USB-A drives which do this, and in my experience they
       | are far less durable than ones which have an actual connector.
       | Given the thinness, this is going to be too easily snapped off.
        
         | kaoD wrote:
         | I mostly use these for prototyping. Even gold-coated fingers
         | still suffer from abrasion after many inserts so there is no
         | way these are durable.
        
       ___________________________________________________________________
       (page generated 2025-10-26 23:01 UTC)