If you’re eagerly reading this tutorial you’re getting pretty deep into the plumbing of Eagle. Congratulations! Keep going!
We’re going to assume you’ve already read our other tutorials on through-hole and SMD PCB layout so you should already have Eagle and the various support files installed. We use keyboard shortcuts liberally so you better have them installed as well.
This tutorial will show you how to create a custom SMD footprint and schematic symbol library. This is a crucial skill for any hacker who wants access to the latest technology via SMD modules or new SMD ICs.
Choosing a Part
As new ICs come out, the PCB layout softwares of the world will not have that specific part within their component libraries. For example, Eagle may have a given footprint (SOIC-8 or QFN-24) but I wouldn’t trust it. I have lost so much money on PCBs that had the wrong footprint that I don’t use the built-in libraries, Eagle or other. Sometimes I’ll use a friend’s library, but we all make mistakes (I actually owe David Mellis a beer for messing up one of his boards because he relied on a footprint of ours). Don’t trust anyone or anyone’s library without a one-to-one print and a thorough review of the datasheet and pin mapping.
The FT230X from FTDI looks like an interesting new IC. Let’s do a breakout board for it. Before we can start laying out a board, we’ll need to create a brand new footprint (aka ‘package’ in Eagle), schematic symbol, and device for it before we can begin to layout a PCB.
In other words:
footprint + schematic symbol = thing I can use
or using Eagle’s language
package + symbol = device
Now that we’ve chosen a part, let’s make a footprint for it!
Eagle requires three things to get an IC into the library:
Package (also known as a footprint)
Symbol (the schematic symbol)
Device (mapping them together)
The tutorial images show us working from the SparkFun-DigitalIC.lbr file but you can create your own custom library file if you’d like.
We are going to start by creating a footprint from scratch. Because the FT230X is a digital IC, let’s open the SparkFun-DigitalIC library.