[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)