Automagic Tool makes KiCAD Schematic Symbols from PDFs

Last time we talked about a KiCAD tool it was to describe a way to make the zen-like task of manual assembly more convenient. But what about that most onerous of EE CAD tasks, part creation? Home makers probably don’t have access to expensive part library subscriptions or teams of people to create parts for them, so they are left to the tedium of creating them by hand. What if the dream tool existed that could read the darn PDF by itself and make a part? It turns out [Sébastien] made that tool and it’s called uConfig.

uConfig has a pretty simple premise. It scrapes manufacturer datasheets in PDF form, finds what it thinks are diagrams of parts with pin names, functions, etc, and emits the result as parts in a KiCAD library. To aid in the final conversion [Sébastien] added rules engine which consume his custom KiCAD Style Sheets which specify how to categorize pins. In the simple case the engine can string match or use regex to let you specify things like “all pins named VDD[A-C] should be power pins”. But it can also be used to move everything it thinks belongs to “GPIOB” and stick them on the bottom of the created symbol. We could imagine features like that would be of particular use breaking out gigantic parts like a 400 ball BeagleBone on a chip.

Thanks for the tip [arturo182]!

25 thoughts on “Automagic Tool makes KiCAD Schematic Symbols from PDFs

    1. Yeah, inventing tools that are automagic is THE most satisfying thing in programming, that’s why it has it’s own word. It just looks like magic, sometimes even for person which made it. It’s literally distilled cleverness.

      1. I’m a total n00b to kicad but I tried out this software and it worked for me. I’d appreciate it if someone could auto-generate footprints from gerbers because they are widely and freely available with cloud software.

  1. Useful, I have mostly done simple stuff and the first time I hit the part not in library issue I usually revert to back of envelope schematics, because given the usually non-intuitive drawing tools in these packages, it’s quicker to draw everything by hand than one plus parts…

  2. So glad I made the jump to Kicad 5 years ago. When choosing an open source tool, my advice is: first select very carefully. Normal Capitalist market rules don’t apply, open source is lean, and there is no fat in the market to support multiple identical source trees. In the end, there can be only one.

  3. yes fucking yes fucking yes fucking yes!!!!! This is the kind of shit I’ve been dreaming of. My open source PCB empire will continue to grow but now at an accelerated rate. Component creation time is the biggest sink for PCB design.

  4. Over the years I have found that when I have to draw parts with a large amount of pins, the IC manufacturer usually has some form of list of pins in text format on their website; sometimes, I manage to copy and paste the pin table directly from the pdf into excel.
    I then use excel to format the data in the fashion that is required. adding the pin coordinates with a x=0 and Y with an increment of whatever is the standard pin pitch in the cad tool. Meanwhile I create a dummy part in whatever cad tool I use, export it to a text format (step not required in Kicad), and paste into the pin list section the data from excel, and all is left is import it back into the library, and edit the part so all the pins are where I want them.
    All this saves from the pain of entering the pin information manually, in addition to preventing dangerous typos.

    I have found it to work well, saves a lot of time, and it is a universal method with all cad packages that accept an ascii import.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.