Automatic part creation from datasheets in Eagle


Creating Eagle parts for devices with many pins can be quite time consuming. To automate some work I was doing with the Xilinx Spartan-6 family, I created two scripts to generate Eagle parts for each device.

These scripts take as their input a text file containing a list of pin names and their appropriate pads. (As written, they are designed to accept text directly copied from the Xilinx datasheets, although they could be easily modified to suit other formats). Instead of directly generating the part, they produce a large output script that can be fed directly into Eagle's command line interface.

First, pinCreator.py creates all the necessary pin objects (in symbol view), naming them appropriately, and assigning the proper pin type where appropriate (I/O, Pwr, or NC). It will correct duplicate pins by naming them according to the Eagle convention of PIN@0, PIN@1, etc.

Second, pinConnector.py will connect the pins to their appropriate pads (in device view). You'll need to have the package already available in the library, with the pad naming convention matching that of your datasheet. For virtually all common IC packages this is not a problem. This handles duplicate pin names using the same method as pinCreator.py.

See my entire library of Eagle scripts on GitHub.