kicad-developers team mailing list archive
Mailing list archive
Re: Re: Library Repository
On Mon, 22 Feb 2010, phinitnan_c wrote:
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
*** 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
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
Longpost is long...