Showing Correct Designator on Fab Layer

I have designed a couple of simple footprints. On the silk layer, I have text which says “REF**” which is automatically replaced with the correct designator on the PCB, eg U1, U2, U3 etc.

I would like to do precisely the same thing on the Fab layer too, so I’ve also written “REF**” on the Fab layer. However, this doesn’t seem to be getting replaced by the true designator, so I have “REF**” written all over my Fab layer on the PCB.

What is the correct way to fix this? Thanks in advance.

In the Fab layer write %R instead of REF** in the Text field.


That seems to work for one component and not another. Seems a little bit strange.

When I put “%R” on the Fab layer of a resistor footprint, it gets replaced with “REF**” in the footprint editor, even though the dialog box says “%R”. On the PCB though, it does get correctly replaced with “R1”.
If I follow the same procedure for an IC, I put “%U” on the Fab layer of an IC footprint, it gets replaced with a “?” in the footprint editor and also appears as “?” on the PCB.

It is %R for whichever footprint.
No %U or %C.

I guess the %R stands for reference, not for resistor


Ahh, that will be my mistake then. I thought it was “R” for resistor. Are there any docs for how these placeholder phrases work? I don’t see anything on this in the PCBnew manual.

KLC offers something.

1 Like

It does indeed. Thanks.

Just FYI, in 5.99 %R has been replaced by text replacement variable ${REFERENCE} which is a bit more human understandable. See New string replacement options for kicad assets.

1 Like

Is the routine to open files smart enough to see the %R and change it to ${REFERENCE} to make loading existing designs made under V5 work when loading under 5.99 (eventually V6)?

Read on the linked thread.

My apologies, yes I should have read the linked thread. Sorry for the noise.