I am designing a PCB which contains more then 150 components. Consider a resistance for the instance for which I have defined 3 fields Reference, value and MPN in schematic editor. When I shift to PCB Editor every resistance’s ref and value are visible(don’t know why MPN is not). The same problem is for all the components. So is there any way by which I can control that only reference for components are visible on F.Silkscreen ?
Your question is a bit ambiguous. We don’t know how much you know about KiCad and if you have misunderstood something.
In KiCad v5.1 a footprint can get only the reference and value from the schematic symbol. Custom fields in the symbol can be used only for BOM generation etc. in eeschema. If you actually need to use symbol custom fields in footprints it’s possible only in v5.99 (the unstable development version) and in the future v6.
Whether those available fields are actually visible in the footprint depend on the footprint design. In the official KiCad libraries every footprint have the reference in the silk layer and in the Fab layer, and the value in the Fab layer. Each text has also the option for visibility in text properties.
Text visibility can be also changed in Layer Manager (the panel next to the working view) -> Items.
I also use the layer manager visibility to turn on/off pcb reference & value.
I display reference for the production silk screen and value for the hand assembly drawing.
For me, MPN is a BOM thing. I don’t use it much as most components have multiple manufacturers e.g. 100n capacitors.
Firstly Thanks for your response.
I am using Kicad v5.99 , in which in PCB editor both reference and value are visible. I only want reference to be visible not value for all components.
And at same making F.silkscreen layer invisible doesn’t works as after doing that both ref and value get hide
You still didn’t give much enough information about what you want and what you have tried.
If your only concern is to hide the values from the working view of the layout editor, open the value text field properties of each footprint and make them invisible. If you open the corresponding footprints from the libraries (not just from the board) you can save the change so that in the future the values are invisible in all instances.
But the silkscreen is meant to be fabricated and as a de facto standard reference designators are needed but values are not. It has been a wrong design decision (or a mistake) to put the value text field in the silk layer in the first place. The library footprints should be fixed, the values should be moved to the Fab layer.
Did you try the Items tab of the Layer Manager? You can hide Values, if you just want to hide them from the working view.
So, if you identify your actual root problem and need, we may be able to help better.
I don’t know how it is in 5.99 but in 5.1.9 I updated all footprints at PCB many times.
If I modify anything in any footprint I just update all footprints to not worry if I did it for all I should.
At right you have Layers Manager with Layers tab selected as default, but you have also Items tab there.
We still don’t know if you want to get rid of the values in the silkscreen for good, or do you only want to make them invisible while you do the layout.
You should know how your board will be manufactured and how the Silkscreen works and what it is for.
To fix the footprints you should open each different footprint in the footprint editor from the library. Select the value text and open its Properties. Change the visibility. Save the footprint to the library.
Now, in the layout, select one corresponding footprint. Open Update Footprint… from the context menu.
When you get tor capacitors and resistors 0402 size , then silkscreen is starting to take up more room then the footprints themselves.
Witht software such as “boardview” (not KiCad related) and “Interactive HTML BOM” (A KiCad side project) combining the physical PCB with “active” documentation on a PC is arguable better then searching for stuff on a PCB. Why go hunting for “R231” on a PCB, if you can point your mouse at it in the schematic and your software tells you where it is on the PCB?
“Interactive HTML BOM” can also be an assembly guide, such as highlightnig all the locations of the 100nF decoupling capacitors.
But I’m getting side tracked…
What you can do is:
Copy a default resistor to a personal library.
Change the appearance, RefDes, Value, whatever you want.
Eeschema / Tools / Edit Symbol fields and change all resistors to you personal library.
Related to this, there is also: Pcbnew / Edit / Change Footprints but it can only reset some values to their defaults.
More powerful (and therefore also more dangerous to use) is: Pcbnew / Edit / Edit Text & Graphics Properties, which has some extensive filters. With this you can select all “Footprint Values” on the F.SilkS layer, and then either move them to another layer (maybe a fab layer) or set them to invisible. (Or change the text size or more).
Because it’s such a powerful dialog, I recommend to make a backup before you start experimenting with it.
@paulvhd listing are exact steps I would do if needed to change many silkscreen elements on already routed board. Here is a screencast: https://youtu.be/G3PZiaexLuI, which shows:
How to put “MNF” field from schematic symbol to pcb silkscreen layer;
How to show or hide “VALUE” field on silkscreen layer.
(Both these points were mantioned in OP initial post).
This screencast was done by following @paulvhd listing: (prior screencast) I have exported 0402 footprint from stock library to my personal library, called “Library”. It is easy to do for all footprints by:
File -> Export -> Footprints to new Library…
or, for single footprint:
CTRL + E on single footprint and save a copy to new library.
Also, I think author should update / clean his stock lib, because stock lib does not put ${VALUE} field on the silkscreen by default. I have updated my stock libs few weeks ago, it does not do that.
…OR - One could open board file by text editor, use regex search and replace to make items visible on the silkscreen, probably. I am not 100% sure, because of https://gitlab.com/kicad/code/kicad/-/issues/7937
@poco your video helps me to find what I am missing. Actually I am updating the pcb without deleting the components, i.e. why they are not getting updated. seems like deleting is must if you want to update footprint.
But this solution is quite complex as I already invest a lot of time in placement, and if I use the above method, all placement have to be done again.
seems like this solution goods for me. I have tried this for a single component, I have shifted the value to another layer. this is working grate!!
Now just I have to write a regex expression for
I think no, essential is to add most of the checkboxes inside “Update footprint” dialog. I have made an “preparation for screencasting” mistake, you should not need to delete footprint.