Editing silkscreen Content

Hello,

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 ?

Regards
Abhishek

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.

Does this help?

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.

As I mentioned there are more then 150 footprints, editing properties of all footprints seems like too much time consuming.

If I edit the footprint of resistance that will work for if I insert a new resistance in schematic not old resistance footprint get updated.

Happy to learn I will keep this in mind from next time.

Could you please share relevant snapshot for achieving this .

I am new to kicad, sorry if I am irritating you.

Thanks
Abhishek

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.

Below is the screenshot of 0402 resistance footprint :
image

And here is screenshot of pcb

I have done the “update the pcb from schematic” from tools menu.

If I switched off the F.silkscreen reference and value got invisible. I want that only reference get visible.

As there are so many components I can not change the properties for all one by one , that will be time consuming.

Let me know if anything is required.

Thanks
Abhishek

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.

As you can see, you can also modify all library footprints and afterwards update all footprints.

1 Like

You didn’t find Items tab because it’s Objects in 5.99.

You should always tell you KiCad version when you ask a question.

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:

  1. Copy a default resistor to a personal library.
  2. Change the appearance, RefDes, Value, whatever you want.
  3. Eeschema / Tools / Edit Symbol fields and change all resistors to you personal library.
  4. Eeschema / Tools / Update PCB from Schematic (With: Update Footprints)

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.

1 Like

@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:

  1. How to put “MNF” field from schematic symbol to pcb silkscreen layer;
  2. 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

Once again thanks to all replier.

@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

(fp_text value “20k” (at 0 0) (layer “F.SilkS”)

and then everything will be sorted at once.

Thanks

  • 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.

You are absolutely right, no need to delete footprint, just update the footprint with some check-boxes helps.

Thanks a lot.

Hi,

Just asking a quick question.

Does this affect a specific kicad version?

My version of KiCad is 5.1.2. and this problem has never been an issue with me. By default the silk layers only show the reference (R4, D2…).

I won’t want to update if things are going to get worse.

Mike

Hi. Just make a backup:

  1. of kicad settings (located inside “%appdata%\kicad” on windows)
  2. maybe, kicad libraries (several gigabytes?), if using full installer only;
  3. custom BOM export scripts, if any. (Probably, as I remember, they were in programs files dir in v5, not sure about that…)

And you will be able to revert to your 5.1.2 version later, (if you have installer for that) in case something wrong happens. v5.1.2 is really old…

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.