I have a rather complex schematic with resistors of different sizes due to power requirements.
To prevent confusion and permanent checking I’d like to display the associated footprint to each symbol in the schematic.
But I did not find an option to just display the footprint name without the library name. With the library name included it gets too cluttered.
Has anyone any idea how to achieve this?
You can add an extra field to a symbol and any text there.
An easy way to show the footprint is to add the package to the symbol name, i.e. use fully defined symbol where each physical package has its own symbol (like R_0402, R_0603 etc.). This means you would use different symbols for different resistor sizes.
Before KiCad I was using the idea - the element name fully specifies the element to be used. As standard I assumed 0603. So for 1k 0603 the name was 1k, for 1k 0402 the name was 1k_4.
The other solution I see is to use different sizes of resistor symbols. My resistor symbol is 40x100mils rectangle. I suppose that difference between 80 mils (0402) 100 mils (0603) 120 mils (0805) and may be wider like 60x140 mils for 1206 would be easily noticable at schematic.
Custom schematic symbols are the way I would do it.
Here I copied a normal resistor from the device library (R1) into a project specific library and made it a bit bigger and with a thicker rectangle.
With those custom library symbols you can make them look anything you like. Maybe a generic symbol for “power resistors” or you can give each size of resistors it’s own schematic symbol and add custom graphics or text (footprint string), and then also add a predefined footprint to your own schematic symbols.
Thanks everyone for your suggestions.
However, this still leaves room for mistakes, since the actual chosen footprint may differ.
And my goal is – that when reviewing the schematic – I do not need to check each component, if really the footprint fits the naming scheme or the symbol.
Anyway, Thanks for your confirmation that currently there seems to be no functionality in Kicad that supports this.
I think I will try to get a feature request to the developers then.
The beauty of working with personal schematic symbol libraries here is that you can assign the footprint to the library symbol, which can greatly reduce errors. If you do this, then you can select the right library symbol for a resistor of a certain size, and do not have to worry about footprints for them anymore.
Also: A convenient way to check if all footprints are assigned correctly is to use: Eeschema / Tools / Edit Symbol Fields…
For example, in the schematic below 3 different footprints are used for the resistors (capacitor and connector still unassigned).
If you group the symbols by “Reference” and by “Footprint” in the Symbol Fields spreadsheet, you have a nice overview of which footprints are assigned to which resistors:
Especially when you have a big, or a hierarchical schematic, this geatly speeds up verification.
Even better: If you click on a Reference field in the Symbol Fields spreadsheet, then Eeschema pans to and highlights that specific component. In the screenshot below I clicked on R5
Edit / Addition:
If you open Eeschema and Pcbnew at the same time and place them next to each other, then when you click on a Footprint in Pcbnew, then Eeschema also pans and highlights the corresponding schematic symbol.
Not in my case
I don’t go through the step of footprint assignment. In my way of using KiCad the footprint is defined at the moment I add symbol to schematic (all symbols in my libraries have footprint assigned to them).
I don’t modify anything in symbol after it is placed at schematic. If I decide to change 1k to 1k2 resistor I delete one and replace it with the second one taken from the library. That way I have to be carry about element list to be used only when working in libraries. During schematic/PCB designing I can’t by mistake for example set a not existing resistor value that than will be listed in BOM.
@eelik yes I want always see which (and if) a footprint is assigned.
@Piotr I see what you do there. I know this workflow from my company. But since Kicad does not support “atomic” libraries I do not want to go down this road. Too much copy/paste.
I want to concentrate on the circuit design and not on symbol design.
I would do this if Kicad would support symbol design in a way where you can say this component uses symbol “resistor 1” and then have several components use the same symbol. So if I change one symbol in this example all resistors would change.
Otherwise I’m not willing to have 50 or more resistors in my library.
Especially for schematic review I prefer a PDF plot or even paper copy.
My current design will finally have at least 12 schematic pages, number of components will sure be >400. So having the package visible right to the component really makes review much easier than having to sit on my computer with Kicad running.
Also, I want to give the schematic to someone else for review and this is much easier in PDF than in Kicad with all the files that need to be attached.
I have several resistors. Some of them need to be Melf package for example due to power requirements.
My current problem is that when I display the associated footprint it plots right through neighboring components.
Same is true for diode packages. Some need SMB some need SOD123.
I do not want to created separate symbols for each type of package. I like a uniform look of my components of same type.
This was aimed at the design flow where you have only one component symbol and can use it for several components.
Than I would try to have different symbols for different footprints when I have only to maintain 3 or 4 symbols.
But for every resistor its own symbol is way too much work to maintain.
I am speaking about one symbol with long aliases list.
In my conception if you wont to have other (bigger) symbol (for higher power resistors) and use for them the same name (that is 1k with small rectangle is something different then 1k with big rectangle) you have to make for it the next library.
If you don’t wont to use the same name you can have all resistors in one library.
At that moment I have 3 resistor libraries:
R1 - 1mm length resistors (0402), only one symbol in library with many aliases
R2 - 2mm length resistors (0805), only one symbol in library with many aliases
R - default R library - one symbol for 0603 (with aliases), and separate symbol for 1206 (currently having only 0RL resistor). In one library element name have to be unique and 0R in R library is reserved for 0603 0R so the symbol 0RL (long). To have it as 0R at schematic I would need the next R library containing only one element. At that moment I don’t plan to use any other 1206 then 0R and till now I used maximum two 1206 0Rs at one schematic so I assumed it is better to have longer name for two elements then have the next library for only one element.