Footprint value on Fabrication layer - followup question

I’ve been customizing libraries, and I was thrown off by the name of the part changing to the value from the schematic, once the footprint is placed on the actual PCB associated with a schematic.

I was searching for why KiCad does this, and I found this topic:
Footprint value on Fabrication layer

Apparently I missed my chance to reply there by 13 days, but I have some followup questions.

In the Footprint Properties window, can one put anything in for Reference and Value, and upon placing the footprint on a PCB associated with a schematic symbol, no matter what is in those fields in the .pretty file, it’ll be replaced with the reference and value off the schematic?

Wouldn’t it be less confusing for new users if the text in the footprint editor was simply Val** or ${VALUE}, instead of the full part name?

Is the main reason for putting the full part name in the Value field so that experienced users don’t get confused and forget which footprint they’re editing, when working in the footprint editor?

Ok, I looked at a footprint in my project. Here are the properties of the footprint on the PCB.

And if I edit the library footprint, here are the properties.

So I should have presented them in the reverse order, instead of chronologically. You can see what happened is that the Reference and Vaue fields are taken from the schematic, and the footprint Value field populates a field called Footprint.

Why should not the footprint Value be the footprint name? It’s what identifes the footprint. As it goes to B.Fab, it will not appear on the PCB by default. Footprints are often generic, so you want to know what the name of the actual part on the PCB is, here TM1637, but also what the package is, here SO-20_12.8x7.5mm_P1.27mm There is no confusion once the workings are understood.

Here is the section of the documentation about footprint fields:

https://docs.kicad.org/9.0/en/pcbnew/pcbnew.html#board-editing-footprints

The difference is “footprint on the board” and “footprint in the library”.

I’ll leave it to you to experiment what happens to the Footprint and Datasheet fields (empty in this footprint) in the library footprint after they have been placed on the board.

I’m using v8 BTW. It could be that v9 does things slightly differently.

Are you time traveler or this post was kept for few months in some waiting room?

If it will happen in some day in future that you will have to analyse what is going on here at this PCB then at PCB view helpful will be 2 information:

  • element reference (ie: R75) - to be able to find it at schematic,
  • element value (ie: 10k) - if you imagine the local schematic without using the schematic itself.

Footprint name will not be helpful in solving the problem.

When defining footprint you need a way to specify where and at what layer each of these two information will be at PCB.

I suppose at far beginning of KiCad there were just decided that this two things have to be added to footprint definition and one is only placeholder for REF and second has two functions:

  • identifies footprint to distinguish it from others so it is footprint name,
  • defines the location and layer to be used for element value at PCB.

Newer before I thought about it as even didn’t noticed it as any problem.
Just during footprint edition I understand value as footprint value (something that distinguishes it from other footprints), and at PCB I understand element value as for example resistor value (something that distinguishes it from other resistors).

It could work also if when editing footprint you would see REF** and VAL** placeholders without seeing the footprint name.
I think someone in past just decided that it is better to show more info and used footprint name as one of placeholders.
I know KiCad practically from V5. I’m not sure if in previous releases when editing footprint you had a library tree at left where you see the footprint name. If it was not there than rationale was to show you the footprint name you are just editing in some way and easiest was to use field that had to be there anyway.