← Back to team overview

kicad-developers team mailing list archive

Re: Re: Library Repository


On Mon, 22 Feb 2010, phinitnan_c wrote:

Dear Vesa,

As I'm new, I'll wait for your standard's definition. I'm also learning the IEC-617 & IEEE-315
standard which i think the new drawing should be used(What do you think?). Please make an annoucement
when you are done and I will start the work.

Mateusz and Tony,

it's great to see your enthusiasm regarding library update. The work is endless :) I think in the near future (this release), it's most productive to redraw schematic symbols to unified style (and size) and definitely according to above mentioned standards. Some symbol library reordering is also in place. Lets just first focus on _symbols_ (schematic logic) and leave component library (logic symbol to real world mapping) aside. That's quite easy to add by users (just some typing) and it will be much wasted effort in larger library update. For arrow heads and other complex details we need to agree on dimensions and device some kind of "clipboard" system to aid in editing. Otherwise those andjustment arrows need to be hand added by text editor, but fortunately there is not many of them and it is quite easy actually. In the example libs arrowheds are random and ugly.

Footprint (physical PCB parts) and 3D is getting very good working elsewhere: http://www.uni-c.dtu.dk/~univind/kicad/

For Dick, do you agree on the naming conventions regarding symbol, component library and footprint? That's about the best I could imagine as a non native english speaker.

*/ *** Blue sky ideas start here ***

The big picture I'm working on is as follows:

*Symbol (only logic) [BJT] exports _logical connectors_ B,C,E
Maps to a component library (Logic to real world)

** Library (component definitions, only text database) [BJT->2N2222/PN2222]
exports package outline [TO-18/TO-92], docs, pin numbering, SPICE-model, manufacturer data, etc... Maps to a physical representation (footprint, 3D) which are mostly standard

*** Footprint/3D (physical) [TO-18/TO-92 -> TO-18/TO-92 footprint and 3D]

Logic and physical representations are mostly standad and the data resides in library database. That means one can very easily manipulate real world part without touching to the schematic and also allows very sophisticated grouping of the shematic elements to real world parts. Allowing pin/gate swapping and resistors mapping to arrays(networks) even automatically.

Say one makes an (audio)amplifier with some BJTs. After a while its evident that even better performance is achieved by using a transistor array IC for input section. One selects those five transistor symbols in schematic and clicks "choose new component" and picks LM3046. Three transistors in an array are logically and electrically eqivalent and they are marked interchangeable in the netlist. The differential pair is a pair, so it's pair symmetrical logically and electrically, so netlist gets a mark that these are interchangeable at will with each other. Now the PCB routing monkey or computer may choose optimal layout without altering the schematic (as is case with rigid pin numbering in symbols).

Circuit engineer however wants to see the actual pin tumbers while debugging, so the layout info is stuffed back to the netlist and actial pin numbers shown on the schematic.

Component librarian's work consists mostly checking the textual database for correctness and updating the documentation and the librarian can almost always escape liability when something doesn't fit "I just used the standard footprint XXYYZZ so blame footprints!" Ok, ok... maybe I missed a pin number ;)

*** Blue sky ideas end here *** /*

Some ideas for libraries to do asap are

-rcl.lib (R, C, L, transformers, variable and dependent forms too)
-transistors.lib (BJT, FET, IGBT, UJT, all variations rings and w/o, heatsik rings maybe too, needs scripting for arc segments)
-diodes.lib (tunnel, varicap, schottky, zener, led, SCR... TRIAC?)
-transducers.lib (speaker, mic, earphone...)
-relays.lib (as multipart components with contacts and coils separated)
-opamps.lib (styles updating)

Guidelines and examples can be found at http://users.tkk.fi/~vsolonen/kicad/

I'm going to be a bit busy this week as I have to finnish designing quite a tricky plasma source... Few hundred watts and must keep burning in very strong wind, without blowing IGBTs and must be small yet cheap enough too. And I'm going to be a MSc chemical engineer some day. Something is bugged...

Longpost is long...

Follow ups