KicadLib/KiCad_Library_Convention.txt
2014-07-01 20:07:56 -04:00

109 lines
4.3 KiB
Plaintext

KiCad Library Convention
========================
Revision 0.3, June 8th 2014
Devised by Carl Poirier
With help from members of:
kicad-lib-committers@lists.launchpad.net
kicad-developers@lists.launchpad.net
1. General Rules
----------------
1.1. Writing uses C-style naming with the first letter of each word being capitalized. Ex: "Socket_Strip_Straight_2x06"
1.2. Every acronym has all of its letters capitalized.
1.3. Manufacturer name is capitalized as usual. Ex: NEC, Microchip
1.4. Component name must match its filename
1.5. When dimensions are used in part name, they are in millimeters, decimal places separated by a dot, and unit is not capitalized. Ex: "Cap_10x13mm_RM5"
1.6. Filename is the same as the part name.
1.7. The Value field must be prefilled with the object name.
1.8. The order of elements in names must be the same as the enumerations presented in this document.
2. Symbol Library Names (.lib files)
------------------------------------
TODO
3. General Rules for Symbols
----------------------------
3.1. Using a 100mil grid, pin ends and origin must lie on grid nodes (IEC-60617).
3.2. Pin has a length of 100mil or more in increments of 50mil if number needs more space.
3.3. Origin is placed in the middle of symbol.
3.4. Black-box components group pins logically, for example by function set, and ports in counter-clockwise position.
3.5. Whenever possible, inputs are on the left and outputs are on the right.
3.6. Field text uses a common size of 50mils.
3.7. The reference field is prefilled with the reference designator of the symbol (IEEE 315-1975).
4. Symbol Names
---------------
TODO
5. Footprint Library Names (.pretty repositories)
-------------------------------------------------
5.1. Part type (resistor, cap, etc), must be in plural form.
5.2. Package type (SOIC, SMD, etc).
5.3. Manufacturer.
5.4. Part number.
6. General Rules for Footprints
-------------------------------
6.1. Follows datasheet recommendation unless intentional variation, for example longer pads for hand soldering.
6.2. Pad 1 is on the left first, then at the top, except at the top for PLCC (IPC-7351).
6.3. For through-hole components, origin is set on pad 1.
6.4. For surface-mount devices, origin is placed in the middle with respect to device lead ends (IPC-7351).
6.5. Silkscreen is not superposed to pads, is completely visible after board assembly, uses 0.15mm line width and provides a reference mark for pin 1. (IPC-7351)
6.6. Cannot be duplicated to match a different pin ordering. This is to be handled in the symbol libraries.
7. Names for footprints of Surface-Mount Devices (SMD)
------------------------------------------------------
7.1. Specific package feature first, not separated by anything. Ex: "TSSOP"
7.2. Package name, numbers separated from letters using hyphen. Ex: "SOT-89"
7.3. Variation of package, separated by another hyphen. Ex: SOT-23 with 5 pins: "SOT-23-5", Exposed pad under package: "QFP-48-1EP"
7.4. If it's a manufacturer-specific package, name can be appended, separated by an underscore.
7.5. Any modification to the original footprint, indicated by appending the reason. Ex: longer pads are used to facilitate hand soldering of a QFN component: "QFN-52_HandSoldering"
8. Names for footprints of common devices, such as resistors, capacitors, etc
-----------------------------------------------------------------------------
8.1. Name of part, may be shortened for common components. ex: "Cap", "Socket_Strip", etc.
8.2. Dimension, which may include at its end the positioning. Ex: "TO-220_Horiz", "1x02_Angled"
8.3. Pad distance, in the form of an RM rating.
8.4. Any modification to the original footprint, indicated by appending the reason.
9. Names for footprints of specific devices
-------------------------------------------
9.1. Name of part.
9.2. Part number. Ex: "Oscillator_SI570"
9.4. Any modification to the original footprint, indicated by appending the reason.
Changelog
---------
Revision 0.1, May 8th 2014
1. Initial Commit
Revision 0.2, May 19th 2014
1. Minor clarifications to few items
2. Exposed pad is now considered as a variation of a package, thus separated by hyphen instead of plus sign.
3. Added 2-level numbering
Revision 0.3, June 8th 2014
1. Specified that pin ordering duplicates are to be handled in symbol libraries.
2. Specified the rules for footprint silkscreen.