'nuther database quandry:
I am wondering how to deal with alternate symbols.
Example: for a dual schottky like a BAT54S I have two symbols that have different use cases:
But I only have one part number in the database, which can only map to one symbol. For a part with an alternate footprint they must have different part numbers, but not for an alternate symbol.
Any options?
Is it possible to make a symbol with two units for this?
It would mean that both units share one of the pins and I donāt know if KiCad accepts that.
Maybe itās just a bad idea even if it works. I guess this can lead to difficult to find errors if you use those units in different places and forgot they share a pin.
Hmm. I will just live with one symbol. This is not a common situation, but there are applications. Decades ago people fussed about demorgan gate equivalents ā same issue I guess.
I think itās a bug which it has been there all along and you should report. The symbol browser makes a hyperlink of the datasheet field, assuming itās a URL without expanding variables in the target, and not going through the system or registered PDF viewer. I know the last because I have set xdg-open to use Firefox, but this hyperlink goes to Chrome.
So a database is used to select a symbol and subsequent footprint, but what about a part that has no symbol yet has a footprint? I have a small box on my top level schematics I call Other which is where I stick mounting holes, mounting pads that get grounded, and other oddball stuff so I could create a little symbol and put it there. Is that the best way to handle something like this light-pipe? It needs to be put on the board so its mounting holes are added, it pokes the appropriate distance off the board, and the leds are placed appropriately under it. This will also put it on the bom (though it really should be on a higher-level assembly bom):
The workflow of having no symbol at all is not supported at the moment. My advice is to create a symbol (it can have no pins if it needs no electrical connections) to represent this part. Best practice for mounting holes (in my opinion) is to have a symbol for them even without using a database library.
For a light pipe with NPTH mounting holes, I would create a symbol for it (with no pins) to put in your Other box.
My company takes this same approach. Holes, screws, heat sinks, etc. all go on the schematic. We even have a PCB symbol that represents a physical PCB as a part. That way, the schematic BOM includes every single part needed for a build, including the PCB and all hardware. All of this is in our database library. We are an Altium shop at the moment, but we have completed a standard design in KiCAD and will be sending it to our PCB house shortly to prove out our workflow. Assuming that goes well, we will start transitioning to KiCAD next year.
Also, we have successfully converted several libraries to KiCAD and things are looking pretty good. My current task is convincing my company to shell out for support. Iām almost there.
That makes a lot of sense to include the extra parts so they auto-generate on the bom. Even the bare pcb (with vendor, costā¦) ā elegant. Could even add enclosure, accessories, manual, packaging, assembly/test costā¦ Flag those extra lines items to exclude for pcb build bom, but a super-bom could give you the entire product and cost with one click. Well, for simple 1-board products. Hmm, just thinking out loud.
The most difficult thing is to decide what falls under āboardā and what under āsystemā. Cables?, Panel connectors? SW? All boundary stuff is always difficult to decideā¦
"My company takes this same approach. Holes, screws, heat sinks, etc. all go on the schematic. We even have a PCB symbol that represents a physical PCB as a part. "
This is how I always did it. Made parts for mounting holes, etc.
Great to hear that you are in a corporate environment moving to KiCad from Altium!!
@teletypeguy āBut I only have one part number in the database, which can only map to one symbol.ā
That, in my opinion, is how it should be. If you need another symbol, you create another part number. Which impliesā¦ that you have your own set of part numbers that are the database key field. I.e. you should create a ācorporateā part numbering system (just dumb numbers - donāt try to put any intelligence into the number, start at a million or ten million and go up sequentially) and not use the manufacturers part number. The manufacturers part number is a field that is associated with your corporate part number like any other.
Iām probably stating the obvious, but it wasnāt clear that your database is set up that way from your post.
well, there are cases in which having multiple schematic parts for the same internal code is handy:
when you and your colleagues have different preferences on the graphical representation
when you work with big FPGAs or high pin count micro controllers;
often we prepare different schematic symbols for different projects to provide a clearer interpretation of the schematic.
With OrCad CIS you simply have to provide different names separated by commas in the symbol column of the db.
Yes we have a company number system that encompasses everything we use from parts to board-assemblies to manuals to packaging stuff, and this will be the ID key in the new db.
However, I disagree that a different schematic symbol should have a different part number for the same manufacture part number and footprint (different footprints should, of course, have different part numbers. As an example, maybe I want one of these two symbols for a db9 (de9 for you purists) ā same part number but different symbols:
Now I have not used a db9 in many years, but this could apply to a 2x5 header that I want in two versions, or the dual diodes I showed before, or maybe I like the alternate gate symbols with bubbled inputs sometimesā¦
I will now need to define different part numbers (for the same part) pointing to different symbols, such as:
1001234 is symbol A for part 1001234
1001234-alt is symbol B for part 1001234
or something like that. It is not unworkable, just requires some bom cleanup later. Being able to select an alternate symbol at schematic time would be nice, but would be a new feature request that would likely be way down in the priority queue.
But I am not complaining as the database functionality is great, and is forcing me to go through my entire spreadsheet number system, rearranging, adding symbol/footprint/datasheet fields for kicad, to pull into a db soon and get started working with it.