I'm curious about something. I'm an Eagle user, but I recently
subscribed to this list out of curiosity. I've played with KiCAD for a
few minutes, but not yet tackled any real projects with it. One of the
main roadblocks has been the lack of libraries, though I recently
found out you can convert Eagle Libraries which makes things easier.

Anyway, I have an idea for what I think would be a much better way to
support part libraries, so I thought I'd throw it out and see what
people think. In my experience, part libraries are a huge pain. You
have to search for the correct part, which may or may not be listed as
being present in a particular library. If you find it, you can't count
on it having been done correctly, so you have to compare the part to
the datasheet to double check. Even if you find a good part, there is
a good chance that the schematic symbol is badly designed, etc. And if
you manage to fix any of these problems in your local copies, you need
to start over when a new version is released. Libraries are great if
they are coming from a definitive source who does a good job
assembling them (such as if Atmel released and maintained their own
AVR library), but when they are OS, their are a ton of potential
issues.

Instead of having traditional monolithic libraries, it seems to me
this is the ideal place for a web-based system. In this system, the
part footprint would be separated from the part itself, so all TQFP32,
.8mm pitch parts would use the same footprint (I think KiCAD already
does this). Right there you eliminate a lot of potential issues. For
the parts themselves, instead of having an AVR library (for example),
each individual part would be available via a web-based service.
Instead of downloading the AVR library, you would download the
ATMega32 part. This makes it much easier to find your exact part, and
also means that only one person ever needs to create a particular
part.

If that part is not already available, you create and submit it as
normal, and it's available for the next guy, however it is marked as
an untested part. Each part will have a 'trustworthy' rating, and
until a certain number of people vote that the part is correct, it
will remain flagged as suspect so people will know to double check the
datasheet. If there are problems with a part, anyone can update the
part to fix them, and their changes would automatically be shared. The
parts are versioned Wiki-style, so the old version always remains
available if changes are made. The user would be prompted that the new
version is available and allowed to change or not, so this would not
break existing designs due to minor corrections.

Some other thoughts:
* Though the footprint is standardized, the individual part does have
the ability to override each layer of the standard part if necessary,
so if a particular part has a specific solder mask requirement, for
example, you can modify that layer while still using the standard
footprint.

* This allows people to easily share part documentation and tips,
reference schematics, etc, since they can be easily attached to the
part itself.

* This would be web-based, but there would be a browser integrated
into the library browser, so you could add any part directly from
within the program.

* This would not replace the existing library system, at least not at
first. You can easily export the web-library for off-line usage.

* The parts would still be organized into library-like categories, to
make things easy to find. Parts could also be tagged to make things
even easier.

So any thoughts or comments?

Reply via email to