Check out the new and improved, tightened-up SparkFun Eagle libraries - now with uniformity, verified packages and documentation!
Here at SparkFun, our Eagle libraries are the epitome of our open source philosophy. Every device we’ve ever prototyped with and every package we’ve ever stuck on a red board lives somewhere in that collection of .lbr files. Unfortunately, so too
does did a lot of garbage.
Over the past half-year or so, our internal DFM (Design for Manufacturability) team---Toni_K, MTaylor, .Brent., QCPete, and I---have been working to clean up those Eagle libraries. And yesterday we pushed those changes to the master branch of the GitHub repository!
We’ve been developing on and evolving our Eagle libraries for more than a decade(!). We sorted what was originally just one library---SparkFun.lbr---into multiple files and stuck them on GitHub almost five years ago. We’ve been collaboratively building on them since then. The repo recently surpassed 1,500 commits!
Over that time, though, a lot has changed---packages have been tweaked, and fixes have been made. And sometimes, after committing those fixes, we weren’t always good about cleaning up after ourselves. That’s why you may have seen parts like the ATmega32U4 in the library, with four variants of the same QFN44 package.
The libraries have also fallen victim to their age. Ten years leaves a lot of time for electronic components to die off. The old RF library, for example, was filled with parts like the GM862, the Lassen IQ and the nRF2401A---retired parts that no one in their right mind should design a project around, even if they’re able to get a hold of one.
In general, the libraries were in need of an audit. There were too many places where they were confusingly organized, poorly documented or full of dangerous end-of-life (EOL) traps.
In preparation for cleaning up the libraries, our crew first met to agree on common rules for our Eagle symbols, footprints and devices. Every component of the library was to have:
In addition, the cleanup was only performed on parts that were not EOL’ed. Parts that were retired long ago by manufacturers were axed entirely, and parts that were retired from the SparkFun catalog were moved to the SparkFun-Retired library.
We also further filtered parts into more granular libraries---specifically with regard to the IC libraries. Our new list of libraries is:
Button holes, sewtabs and petals used on our LilyPad boards.
Things that exist on wired busses – USB-to-serial, high-speed line drivers, level shifters, CAN transceivers, Ethernet PHY’s, etc.
Non-functional items such as logos, build/ordering notes, frame blocks, etc.
IC’s that perform analog-to-digital or digital-to-analog conversion.
Battery clips, connectors, and appropriately sized silk outlines for LiPo batteries.
Parts which fit into the standard logic IC families. AND’s, OR’s, shift registers, etc.
Footprints for SparkFun breakout boards, microcontrollers (Arduino, Particle, Teensy, etc.), breadboards, non-RF modules, etc.
Memory IC’s like Flash and EEPROM.
Real-time clocks, oscillators, resonators, and crystals we use.
Anything that has to do with power delivery or making power supplies.
Magnetics - inductors, ferrite beads,
Anything that doesn’t fit into the other "SparkFun-IC-X" libraries. 555’s, LED drivers, motor drivers, etc.
Electrically functional connectors.
Solder jumpers, cut jumpers, or any other semi-permanent connection method.
Diodes, optoisolators, TRIACs, MOSFETs, transistors, etc.
Discrete LED’s, including seven-segment displays.
LCDs, OLEDs, etc.
Power and ground symbols – “3.3V”, “V_USB”, “GND”, “AGND”, etc.
Electromechanical devices, like motors, speakers,servos, and relays.
Fuses, or fuse-like components such as PTCs. Reference designator F.
Footprints for any component that is no longer in use.
GPS modules, GPS antennas, etc.
Devices that send or receive RF – cellular, Bluetooth, WiFi, etc.
Board components that are not electrical in nature, such as stand-offs, magnets, and Actobotics.
Accelerometers, gyroscopes, compasses, light sensors, temperature sensors, etc.
Analog amplifiers – operational amplifiers, headphone and audio amps, etc.
Switches, buttons, joysticks – anything that moves to create or disrupt an electrical connection.
There are a lot of libraries to choose from, but hopefully it’ll be a little easier to narrow down your search. Don’t forget: in the
add dialog, you can use the asterisk (
*) as a wildcard, in case you don’t know the precise name of the part you’re looking for.
Now clone our repo and start creating boards of your own! You should feel comfortable knowing the parts you design around are accessible and documented, and the footprints are verified. If you encounter any bugs, feel free to submit a pull request or file an issue. And if you want to submit parts of your own, feel free to add them to our UserSubmitted library.
For even more Eagle resources, check out SparkFun.com/Eagle. We have tutorials there to help you get everywhere from setting up the software to generating Gerber files. Happy Eagle’ing!