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!
Why the Cleanup?
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.
What We Did
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:
Standardized naming conventions
A templated description, including manufacturer part numbers and links to datasheets and example products
Production part numbers (sorry, that’s mostly for our internal use) and SparkFun SKU numbers where applicable
Uniform silkscreen markings, like outlines and polarity indicators
Uniform name and value labels, in case anyone wants to print them on the PCB
Uniform op-amp and logic symbols—amplifiers and logic gates should be gate-swappable
An approved international standard reference designator
Verified footprints!
What you can expect from the library’s device view. Descriptions, links, product IDs and standardized names.
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:
LilyPad-Wearables
Button holes, sewtabs and petals used on our LilyPad boards.
SparkFun-IC-Comms
Things that exist on wired busses – USB-to-serial, high-speed line drivers, level shifters, CAN transceivers, Ethernet PHY’s, etc.
SparkFun-Aesthetics
Non-functional items such as logos, build/ordering notes, frame blocks, etc.
SparkFun-IC-Conversion
IC’s that perform analog-to-digital or digital-to-analog conversion.
SparkFun-Batteries
Battery clips, connectors, and appropriately sized silk outlines for LiPo batteries.
SparkFun-IC-Logic
Parts which fit into the standard logic IC families. AND’s, OR’s, shift registers, etc.
SparkFun-Boards
Footprints for SparkFun breakout boards, microcontrollers (Arduino, Particle, Teensy, etc.), breadboards, non-RF modules, etc.
SparkFun-IC-Memory
Memory IC’s like Flash and EEPROM.
SparkFun-Capacitors
Capacitors
SparkFun-IC-Microcontrollers
Microcontrollers!
SparkFun-Clocks
Real-time clocks, oscillators, resonators, and crystals we use.
SparkFun-IC-Power
Anything that has to do with power delivery or making power supplies.
SparkFun-Coils
Magnetics - inductors, ferrite beads,
SparkFun-IC-Special-Function
Anything that doesn’t fit into the other "SparkFun-IC-X" libraries. 555’s, LED drivers, motor drivers, etc.
SparkFun-Connectors
Electrically functional connectors.
SparkFun-Jumpers
Solder jumpers, cut jumpers, or any other semi-permanent connection method.
SparkFun-DiscreteSemi
Diodes, optoisolators, TRIACs, MOSFETs, transistors, etc.
SparkFun-LED
Discrete LED’s, including seven-segment displays.
SparkFun-Displays
LCDs, OLEDs, etc.
SparkFun-PowerSymbols
Power and ground symbols – “3.3V”, “V_USB”, “GND”, “AGND”, etc.
SparkFun-Electromechanical
Electromechanical devices, like motors, speakers,servos, and relays.
SparkFun-Resistors
Resistors!
SparkFun-Fuses
Fuses, or fuse-like components such as PTCs. Reference designator F.
SparkFun-Retired
Footprints for any component that is no longer in use.
SparkFun-GPS
GPS modules, GPS antennas, etc.
SparkFun-RF
Devices that send or receive RF – cellular, Bluetooth, WiFi, etc.
SparkFun-Hardware
Board components that are not electrical in nature, such as stand-offs, magnets, and Actobotics.
SparkFun-Sensors
Accelerometers, gyroscopes, compasses, light sensors, temperature sensors, etc.
SparkFun-IC-Amplifiers
Analog amplifiers – operational amplifiers, headphone and audio amps, etc.
SparkFun-Switches
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.
Use the wildcard (*) around your search term—and search descriptions(!)—for a better chance at finding your part.
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!
comments | comment feed