Sneaky Footprints


The Quest for a Right-Angle:

My name is Pete Lewis, and after years of playing in a band and finishing a music degree at CU Boulder, in the summer of 2007 I found myself assembling small electronics at SparkFun. After working in production for about a year, I discovered a neat trick by modifying the basic header footprint in Eagle. This simple but innovative footprint dramatically decreases assembly time and makes it easier for people to solder through hole connectors correct and straight.

I showed up on my first day of work eager to learn. Abe and Matt (production masters) showed me my desk, turned on my soldering iron and gave me a pile of scrap boards to practice soldering. I had very little soldering experience (I once fixed my own guitar cable!), but that doesn't matter at SparkFun - everyone was eager to show me how to improve my soldering skills and share what they had learned. After about half an hour, and a few dozen through-hole components soldered, Abe said, ?Wanna try to make some LCD backpacks?? And with that, I started my building my first SparkFun product!


The idea for a modified footprint started on that first day. Soldering male headers to the LCD backpacks, I was trying to make them look like this:

http://www.sparkfun.com/tutorial/SneakyPete/lcdbackpack.jpg

Notice how the male headers are nice and perpendicular to the board. That's not as easy as it looks! My first few didn't come out as pretty as the one above, but hey... it was my first day!

To give you an idea of just how bad it can look, I did a little dumpster diving down in the tech shop:

http://www.sparkfun.com/tutorial/SneakyPete/dumpsterdive.jpg

Recognize any of those?

I didn't take too long to find what I was looking for. Here we have an LCD backpack with no 3-pin screw terminal soldered in place yet. This probably more like what my first few looked like:

http://www.sparkfun.com/tutorial/SneakyPete/bad1.jpg

Notice the small gap between the black plastic and the PCB:

http://www.sparkfun.com/tutorial/SneakyPete/bad3.jpg

Bad, bad, bad!! Into the dumpster with you!

Here you can see that not only is there a gap, but it's not perpendicular!:

http://www.sparkfun.com/tutorial/SneakyPete/bad2.jpg

Now back to my story. I was soldering away... enjoying the success of right angles... and then I started to wonder, ?Man... it's kind of hard to hold this header in place. It sure moves around a lot. I wonder if there's a way to make it stay put while I solder it into place??

At first I thought, ?How about making the holes smaller?? This seemed reasonable enough. The holes are slightly larger than the pins, and that's why the header moves around so much. I later learned that you need that space because it allows for the solder to flow down the hole and around the pin - which helps ensure a good connection.

My next idea was to build a jig that could hold both the board and the header in place. Fair enough, it should work. But how much time would it take to build this jig? And how long would it last? Plus, how big is it going to be? Even though it's a little tough to hold each header in place, I can line up 20 or more at a time with the current method. So a jig isn't the best solution either.

And so I just kept on soldering, and I didn't think too much more about it. It wasn't until a few months later (probably a few thousand headers later) that I thought of my most recent adventure, altering footprints!

Matt (director of production) had encouraged me to write down my ideas, so when it hit me, I grabbed my notebook and jotted a few things down. A few weeks ago I was flipping through my notebook and came across these three pages:


The image ?http://www.sparkfun.com/tutorial/SneakyPete/all3notes.jpg? cannot be displayed, because it contains errors.


At the time I was working on those LCD backpacks again - soldering the 3-pin screw terminals into place. Just like the headers, they require a similar effort to hold in place while you solder.

Next, I turned to the modern Eagle for guidance and played around with footprints. Here is the existing standard footprint for a 6-pin header:

http://www.sparkfun.com/tutorial/SneakyPete/existing.jpg

The yellow squares are the pins, and the inside of the green circle is the hole size. Notice how there is an equal size gap between each corner of the pin and the edge of the hole. Here's a closer look:

http://www.sparkfun.com/tutorial/SneakyPete/zoomexisting.jpg

This is where all the ?play? is happening. Also, this is where the solder is flowing down the hole!


And here is how I altered it. I moved each hole a little in the directions of the red arrows:


http://www.sparkfun.com/tutorial/SneakyPete/mod1.005.jpg


Notice how two corners of each pin are now touching the edge of the hole. Here's a closer look:


http://www.sparkfun.com/tutorial/SneakyPete/mod1zoom.jpg


I also alternated the direction (up or down) for each hole. Making the holes staggered like this forms a sort of ?brace? between all of the pins and sides of the holes. It holds them in place nicely. Plus, without changing the hole size, there is still space for the solder to flow down the hole and around the pin.


I knew that the distance I moved the holes was going to be very important. Not enough and then pins would still move around. Too much and they wouldn't even fit. So I tried four different amounts and designed the following board:

http://www.sparkfun.com/tutorial/SneakyPete/testboard.jpg

The top right is the current standard footprint, and the rest are my mods. On the left side I tried four different amounts of movement. I shifted the holes by 0.002, 0.003, 0.004 and 0.005 of an inch. On the right side I tried a couple different diameters. Later, I decided that I wouldn't want to trust the fab house to drill the holes with that kind of precision. If the the hole was made just a bit too small, you wouldn't be able to use the board! I also tried out the ?long? shaped pads in Eagle, which I have experienced to be quite helpful in getting a nice fillet. But the winner was... the 0.005 on the bottom left. Just snug enough, but not too tight. Here you can see the alternating spaces quite clearly:

http://www.sparkfun.com/tutorial/SneakyPete/close1.jpg

And here's a shot of it pushed into place, almost like a snap-in component!

http://www.sparkfun.com/tutorial/SneakyPete/close4.jpg

Yes, victory is mine! The sweet taste of success!


You can find these footprints in the updated SparkFun Library. Under the device ?M06? you will find two new variants. The one pictured above is called, ?LOCK?. And I also included a variant called, ?LOCK_LONGPADS? It has the same spacing but looks like this:


http://www.sparkfun.com/tutorial/SneakyPete/longpads.jpg

Feel free to download the updated SparkFun Library here.


And, if you like your headers to align perfectly every time with little effort, then feel free to use this footprint on your next design. Also, don't be afraid if you see some squirly-lookin' pin holes on our future boards. We're just trying to make better right angles!

rock on,
Pete Lewis

Comments 29 comments

  • PhilipH / about 16 years ago / 5

    Guys,
    While the solution above is very clever, there is a more simple solution. It will allow you to solder headers of any footprint; use an old breadboard. The holes in a breadboard are the exact size of the standard .1" pitch header. The breadboard will hold the header straight and does not allow side to side movement.
    This is how I have done it for years and has always provide perfect results.

  • zaq / about 16 years ago / 3

    OMG, I just use the female side for the pins i'm soldering to hold it steady and right. works as a heat sink too.
    still a clever hack and one I'm sure will live in future designs. what will we call this mod? the "Lewis Offset" ?

  • josheeg / about 16 years ago / 2

    I like tape it helps also and that was done with boards I did not make.
    but results can varry depending on what your taping to the board.
    Kicad is much better than eagle. Check out the auto part numbering and renumbering and free & open source I felt the squeeze of eagles board size and schematic sheet limitations after a fue video tutorials and a quick start I am hooked.

  • Shadyman / about 9 years ago * / 1

    It seems that you could also do a locking 2-pin header by shifting each of the pins 5 mils inward or outward along the axis instead. That said, I have no idea if the Sparkfun Library already has one or not, I'm just throwing that out there. Just finished making a set of "locking" single-row header footprints for gEDA/PCB. For headers over 4 pins, I left the first and last holes where they were instead of shifting them, to aid in overall positioning at design time.

    • Hi Shadyman, Thanks for posting. I'm glad this old tutorial is still found useful! Yes, we do have some 2 pin style locking footprints with the center-pints scooted 5 mils outward. It is very rare that we have PTH parts soldered into place at SparkFun, but more and more designs are starting to now that we have a selective solder machine on the floor.

      I like your idea of not shifting the "end" holes too allow for more standard positioning on a layout - good thought. We will keep this in mind with future library work/layouts.

      Also, I just checked out the gEDA project for the first time. Looks cool! There are more and more board design tools coming out, it's hard to keep up. We have always used eagle here, and so we are pretty darn committed at this point. There was talk of transitioning to Kicad, but our experience is that it has a rather steep initial learning curve. Have you worked with gEDA a lot? If you're already working in the library, I assume so. What has your experience been like?

      • Shadyman / about 9 years ago / 1

        Hi Pete,

        The gEDA suite has its quirks and its annotation is one-way through a BASH script, but it's grown on me. Footprints are easy enough to add, you can do it in the PCB program or in text file, or in the "gfootgen" program. Both gschem and pcb have quick keyboard shortcuts for just about everything, which is nice, but as separate programs, each has its own set of them.

        pcb can export layouts as gerber, png (layer or "photo" mode), postscript (which can be converted to pdf), BOM, etc. I have a quick bash script to convert its ouput (foo.toplayer.gbr, etc) to the output that most boardhouses use (foo.GTO, etc) which I should post too.

        I'll have to get around to uploading all my footprints and symbols to gedasymbols.org (the reigning champ of symbol/footprint sites), which is run by DJ Delorie. She's on #sparkfun from time to time.

  • FloridaJo / about 13 years ago / 1

    I like the way you thought this one out. Nice job Pete.

  • __sen / about 14 years ago / 1

    I tried out these footprints on a run of a new board, and just finished assembling a bunch of them. So much easier/faster! I've always done the "solder one pin, align, solder the rest, touch up the first" method in the past, but this makes it so much easier to get nice repeatable results. This board had a bunch of 2x3, 2x4, and 1x6 headers, and all came out really well.
    Certainly falls under the "why didn't someone think of that 10 years ago?" category :)
    Thanks Pete/SparkFun!

  • PeterG / about 15 years ago / 1

    Hmmm...
    Normally I just plug my pins into a proto board as a holder. Then I put the circuit board on top and solder the pins.
    When you pull the whole assembly from the proto board, you end up with nice straight pins, no gaps.
    Peter.

  • sergiu / about 15 years ago / 1

    I use Tack Putty (http://www.google.com/products?q=elmer%27s+tack). Elmer's brand is great. Just warm it up a little and use it to hold headers and parts while the board is upside down. It cleans up easily with a bigger piece.
    My favorite tool for correcting soldering mistakes is Hakko de-soldering gun 808 - if you can afford it buy yourself a present this Christmas.

  • AndyM / about 15 years ago / 1

    Thanks! Brilliant idea. I will certainly be using the new SparkFun library!
    One suggestion: Any chance on the long pad layout of lining up the pads since the pins are still lined up? (I am too lazy to edit it myself - besides Pete would probably do a better job!)

  • MyMatthew / about 16 years ago / 1

    This is a great idea, I have spent soo mush time staggering the pins by slightly bending the headers themselves. I always wondered how you guys could that many done and strait everytime.

  • Member #-99e99 / about 16 years ago / 1

    Great article! I've seen this trick used before, for example you can see it visibly on the Digilent CMOD board which uses this technique for the CPLD JTAG connector. They've set the spacing so that you can pressure fit the programming header and not have to solder it permanently:
    http://digilentinc.com/Products/Detail.cfm?Prod=CMOD
    Not sure how many insertion cycles it would survive, but it seems like it would work well enough for a short time. Always wished they had posted their spacing, seemed a waste to have a board made just to figure out the optimum offset. I think this SparkFun article fills in all the details! Thanks again!

  • rmeyer / about 16 years ago / 1

    What a simple solution to a common problem. This is what happens when someone comes in to unfamiliar territory and takes a "new look" at a problem. In my robots I have always reinforced my headers with one or two drops of CA glue on the silkscreen side (so far I have not noticed any undesirable conductivity in the glue). This has the added advantage of holding the component in place for soldering. Of course, I don't imagine it would be very effecient in production work.

  • cartufer / about 16 years ago / 1

    some of those boards in that dumpster look ready for the dings and dents page

  • keystoneclimber / about 16 years ago / 1

    Philip you beat me to it! Don't worry about modifying all your footprint libraries, just get the breadboard out.

  • ianhan / about 16 years ago / 1

    I tend to solder both ends leveled, then solder the rest. This is interesting though.

  • tCm / about 16 years ago / 1

    Hey Pete,
    Nice tutorial. It seems like a boat of work to mod the library, when some craft with the iron is better practice. However, it looks like it worked well. Especially if the header remains how it's shown in the board while you solder.
    'Zaq' had a good technique too: grab a female socket, let the 3rd hand hold it, and run down the header pins. I usually use a female socket, but solder an end pin first, call on 'signal7' to adjust the alignment, solder the second end pin, and do the rest. Thanks for sharing, I'll check out the new library.- ted

  • joeuser / about 16 years ago / 1

    I've done this unintentionally almost every time I've fabbed a board at home. |:
    My favorite technique for holding headers and most other parts in place for soldering is some "normally closed" tweezers.

  • signal7 / about 16 years ago / 1

    I have a solution I've used for literally 20 years.
    1 - Solder just one pin and don't worry about getting good alignment.
    2 - using a free hand, move the component flush and aligned while using the soldering iron to heat the one soldered connection.
    Easy. Quick. No need to redesign the board. You'll never get the alignment right if you just solder them all - you can't heat them all at the same time.

    • Tacroy / about 14 years ago / 1

      Haha that must be the super intuitive thing to do; I just soldered my first ever row of header pins (I got a five DoF thingy from dings and dents, so I figured I could practice on it - later I'm gonna put it in my breadboard and see what works), and came up with exactly this technique.

    • Yes, that is what all us engineers do to solder headers in. But the production team has to do tens of thousands of connections, sometimes in a day. Shaving off the re-heat re-align step was Pete's goal.

      • signal7 / about 16 years ago / 1

        For production work, I would make a jig to hold the headers in place. Two ideas come to mind here. If all of the headers are straight, you could just populate one board with opposite gender connections and then solder the whole thing in one step.
        The other way to do it, especially if you have components that need to be held in place with odd heights, is to use 2 part silicon RTV to mold the topside of a finished board. The only hard part of doing this is that you have to select a material for the pour that can withstand the minor heat of soldering. It's more work to make a jig this way, but if you can do an entire board in one shot, it would be worthwhile.

        • Sam Pratt / about 16 years ago / 1

          Pete showed why that wouldn't work. How long would the jig last? How long would it take to make? What kind of downtime are you looking at between solderings? Could it work for all types of connections, or would I have to make a new one for each type of board? What do you make it out of? How does an electronics company make that, anyway? And what are the costs of making these jigs?

  • syndicated / about 16 years ago / 1

    Honestly this idea is genius.
    Thanks Pete!

  • Fenichel / about 16 years ago / 1

    This is a terrific idea, possibly even patentable. Will SparkFun be converting its Eagle libraries to use this technique with pertinent parts (any parts with short, straight leads, I expect; probably including DIPs), or will it just become part of the folklore, with redundant Eagling effort being undertaken all around the world?

    • PeteLewis / about 16 years ago / 1

      Hey thanks! I am currently testing a ton of new footprints that will be added to the SparkFun Library soon - including DIPs, barrel jacks and many more. Viva la revolution, baby!

      • droll / about 16 years ago / 1

        Pete,
        This really is a fantastic idea!
        I'm worried that you don't have that fun little SparkFun logo next to your username, hopefully they can fix that!
        Keep up the great work, this is a really smooth solution.

  • saccade / about 16 years ago / 1

    This problem has driven me nuts for years. What an ingenious solution!