← Back to team overview

kicad-developers team mailing list archive

Re: Github part footprint filenames


On 8/21/2013 1:38 AM, Lorenzo Marcantonio wrote:
> On Tue, Aug 20, 2013 at 08:03:54PM -0400, Chris Morgan wrote:
>> one part footprint per-file, and use of the new s-expression format. I
>> was wondering though why this format isn't the default yet? I have a
>> June stable build.
> AFAIK the code isn't ready, yet.

It's not.  I'm just about have the CvPcb part of the footprint library
table work done which as always took longer that I thought it would.
Then I have to finish hooking up reading the new footprint assignments
in Pcbnew and making sure that the Eeschema footprint field wont be a
problem.  My goal is to be done by the end of the summer which is
rapidly approaching.

>> So I was trying to figure out how we might name files that were stored
>> in github. If we begin by assuming that pcbnew will use github
>> directly, how should part footprints be named? Does the name inside of

Please avoid using spaces and colons in the footprint file names.  A
space is used to separate the library nickname from the component name
in the footprint assignment file so any spaces in either the library
nickname or the footprint file name will cause the parser to choke.
This can be overcome by quoting the names but it always seems to end up
causing grief.  The colon is used internally as a separator to parse
FPID objects which look like: library_nickname:footprint_name.  Also,
make sure your file names are valid on all platforms.  I think there are
a few characters that are valid on *nix that are not valid on windows.


> If you were crazy an 'official' name is the IPC footprint name. Totally
> unreadable of course! Search for 'IPC-7351B Naming Convention for
> Standard SMT Land Patterns' (it's free), and be aware the revision C is
> coming out.
>> I'm trying to figure out how we can have kicad use the blob sha. Doing
>> so would let us avoid issues where the filename was the same but the
>> content differed.
> Probably the whole footprint-table system will handle it :P
> Also, consider that pcbnew copies the footprint (unlike eeschema), so
> once it get inserted it is not 'vulnerable' to library changes.
> As usual, library naming is more a personal/organizational issue (since
> the standard is most unfriendly I refuse to use it). Actually often the
> 'built in' library is often designed with different technology
> parameters so at the end I always had to redraw most of the component,
> with any cad... Just pick a rule and do it consistently. I do it this
> way and find it useful, YMMV...
> - First of all each technology uses a different lib. So 0,2mm
>   clearance parts have the save name as 0,1mm clearance one. but they
>   live in another lib (another folder, actually). The fabrication level
>   is part of the technology (there are exception, but these are
>   product-specific...)
> - Run-of-the-mill chip components are named a R, L, C followed by their
>   EIA size. So R0603 is a 1.6mm resistor, then. This is because at least
>   here in Italy the metric designation is not really used for these;
>   also there is an ambiguity for a couple of sizes.
> - Molded tantalum are CPxxxx-y where xxxx is the metric case and y is
>   the Kemet package. Yes, Kemet, because we found that these are not
>   always compatible between brand, since the pin lenght varies... anyway 
>   CP7343-D is a typical example.
> - Aluminum capacitors are CPCASE-y where y is the Panasonic case.
>   Actually these *are* interchangeable, usually, so probably they could
>   be named with their size, too.
> - Most other components are named preferably from the JEDEC name, or the
>   EIAJ name, or the manufacturer one, followed by the pin name pattern
>   (or nothing if numeric). Alternative names are stored in the tags. By
>   the way there are too many SOT23 variants around... example TO236 is
>   a numbered SOT23, TO236-AnK is a single diode in SOT23. Of course
>   MO220WGGD1 is not very readable as a name but at least is shorter
>   than the IPC one.
>   Example of manufacturer specific packages: NATIONAL-TJ7A is a D2PAK
>   regulator (IIRC), LINEAR-MSOP12 is a non-standard MSOP12 used by some
>   LT components.
> - Other stuff is named with the name of the component/series. Example:
>   WE-PD2-L is a Würth PD2 L-size inductor, which is *almost* the same as
>   SDR0805 (which is a Bourns SDR0805 inductor). Almost because the PD2
>   is bigger so even if the pads are the same, the courtyard is not!
> - Parts with have an industry-standard size but no official size are
>   named from the component used as a representative. Example:
>   FINDER-40.52 is the typical 5-mm pitch, 2 form-C contacts relay.
> - Really unique components use the component name. CB1aH-P is a huge
>   relay with trifurcated pins (fun to desolder).
> - Solder mask is the same as the pin; the fabricator does
>   enlargement/ganging.
> - I keep silk/assembly to the maximum material position and pre-trim
>   silk against pad (since mask enlargement is done by the fabricator we
>   can't use the builtin feature).
> - Silk/refdes size are a big issue since they depend *a lot* on the
>   fabricator. I use the 'standard' 1.2/0.12mm sizes but the old
>   technology based on 0.2mm screen is still very common :(
> Hope I have given some good ideas

Follow ups