Scanning Parts Into KiCad

You do not know how to make a PCB unless you can make your own parts. [Jan] knows this, but like everyone else he checked out the usual online sources for a footprint for an SD card socket before making his own. It turns out, this SD card socket bought from an online marketplace was completely undocumented. Not only was an Eagle or KiCad footprint unavailable, but CAD files showing the dimensions of the part were non-existent. A solution had to be devised.

Instead of taking calipers and finely measuring all the pads on this SD card socket – a process that would surely fail – [Jan] decided to use a flatbed scanner to trace out the part. The part was placed on the glass and scanned at 300 dpi with a convenient reference object (a public transport card) in the same picture. This picture was imported into a CAD package, scaled to the correct ratio, and exported as a DXF. Since KiCad readily accepts importing DXFs, the CAD file was easily accessed, traced over, and a new part created.

From start to finish, making the footprint for this no-name, off-brand SD card socket took fifteen minutes. That’s nothing compared to the time it would take to manually measure each of the pads, draw a footprint, and print out the footprint at 1:1 scale to see if it matched up several times. It’s awesome work, and a great reminder that the best tools are usually right in front of you.

Assigning new packages to Eagle PCB components


If you’ve spent any time at all laying out your own circuit boards we’re sure you’ve run into the issue of not having the right component or package available in the standard libraries. If it’s a common part, chances are the symbol definition will be there.  But perhaps the footprint you want to use is missing? Here’s an easy to follow tutorial which demonstrates how to assign new packages to existing Eagle PCB components. It even shows the basics of how to tweak the footprint to fit your needs (like making SMD footprints easier to hand solder).

This will not teach you how to make your own custom symbols, or how to build packages from scratch. But it will let you locate the package you want to use from a different component, then copy it to your own library for use with different parts. And the techniques shown make this a quick and relatively painless process.

We certainly don’t want to start another comment quagmire like the recent PIC v. AVR discussion. But we’ve used both Kicad and Eagle rather extensively and feel that neither one has really mastered part/footprint creation in a user-friendly way. We like Kicad’s total separation of footprints from components, and it’s myriad of parameters which can be used to tweak the layout. But if you use the same components frequently, Eagle’s standard of linking parts and footprints does end up saving a lot of time. What do you think?

Reverse engineering salvaged part footprints


So you just pulled a fancy component off of a board from some broken electronics and you want to use it in your own project. What if the data sheet you found for it doesn’t include measurements for the footprint? Sure, you could pull out your digital calipers, but look at the measurements in the image above. How the heck are you supposed to accurately measure that? [Steve] found an easy answer for this problem. He uses microscope software to process an image of the board.

One common task when working with a microscope is measuring the items which are being viewed under magnification. [Steve] harnessed the power of a piece of free software called MiCam. One of its features is the ability to select an area of the photograph so serve as the measuring stick. To get the labels seen in the image above he selected the left and right edges of the board as the legend. He used his digital calipers to get a precise measurement of this area, then let the software automatically calculate the rest of the distances which he selected with his cursor.

MiCam is written for Windows machines. If you know of Linux or OSX alternatives please let us know in the comments.

Adafruit Eagle library

We love it when a PCB comes out right the first time. We’re careful enough with our designs that if something is wrong it’s usually a footprint problem, like we picked the wrong package for the components. Adafruit is helping to make the design process easier by sharing their Eagle library. Like the Eagle library version control we saw earlier in the month, this library is housed on github making it easy to stay up-to-date. The library includes many components (switches, crystals, IC’s, etc.), and fixes some prolbem-footprints, like 0805 surface mount pads.