ANSWER: How to avoid annotate adding number... but still label PCB

When I create things like test points on my boards, I don’t want the annotation process to add numbers so, for example: TP-5V should not become TP-5V101
It takes a little work but then after that, any updates to the PCB don’t have to be manually fixed.

1: In the symbol, add a new “Name” (Press the “+” and type in a name here “TP_LABEL”. Then add the value, here “TP-12V”. Turn on SHow for this and turn it off for the reference.


1 Like

Next, in the PCB, click on the footprint and bring up the properties. Add a Text Item by pressing the “+”. Use the ${ } format as shown. Turn off show for the Reference designator, and turn it onw for your new Text value. The layer should automatically by F.Silkscreen but you can change that if you need to. Set the Width, Height, and Thickness as needed.


After that, the label will not change when you update the PCB.

1 Like

The proper way to do this is to:

  1. Copy the footprint you want to use to a (newly created?) personal library.
  2. Modify the footprint in that library.
  3. Update the schematic to use your modified footprint.
  4. Push those changes to the PCB with Schematic Editor / Tools / Update PCB from Schematic, and make sure Options / Update Footprints is turned on.

This way you only have to do the changes of the footprint once, and if you do this before the start of a project, then you do not have to modify your schematic (steps 3 and 4) afterwards, but of course you take that footprint the first time when creating the schematic.

Do note though that I have no personal experience with using those text variables, but I assume it just works the same way.

Adding more footprints does not solve the problem of annotation adding numbers to the references. It actually reduces flexibility compared to the solution I presented.

I was not implying to “add more footprints”.
By modifying footprints in a personal library you can modify them, and hide the reference designator, add custom labels, etc. directly in the library symbol, so you do not have to repeat that for each instance of the footprint.

Annotation do not add numbers to element values. The resistor R? 1k will be changed to R101 but still will be 1k. The same should work with test points. I just suggest to use your TP-12V as value and not reference.

1 Like

To put this in another way…

If you do it as in your original posts, you use (apparently) a symbol and a footprint from the official KiCad libraries which are read-only. This means that you have to repeat the procedure

  • for each used symbol instance in the schematic, and
  • for each used footprint instance in the PCB,

and not only that, but you have to do it again for each design, again and again.

Instead, you should use personal libraries where you have the symbol and the footprint as customized versions. The symbol would point to the footprint by default, so when you add that symbol to the schematic, you don’t have to assign the footprint anymore as a separate step. And because the text fields exist in the library items, you don’t need to add them again and again.

1 Like

BTW, it would be still better to get rid of the restriction in annotation (requiring a number as the last character) so that a workaround wouldn’t be needed if someone wants to use the reference designator in that way. There’s an issue for it and you can upvote by giving a thumb up:

This is a good point for this use case. “TP” or “TestPoint” alone in the Value field doesn’t tell much; using the expected test result would be much closer to what “value” would mean for a test point. And there could be several testpoints with the same voltage. The reference designator is a unique idenfier and should be used only for identifying a component amongst all other similar components, not for other purposes. Even if a restriction for refdes to end with a number is an artificial one, other solutions – like in the original post – are actually better in this case.

BTW, I wouldn’t use - as a separator between the type and the voltage: TP+12V would be better, or TP_12V. After all, the value isn’t -12V.

Exactly! So instead of R? for example where ? means add an annotation, R@ could mean don’t add an annotation (or add one that is “hidden” if the software really requires one.

Okay, so how would you do this exactly? The use case is using one symbol on the schematic for all test points and having them labeled for example TP-EN, TP-GND, TP-3V3, etc. Then, the silkscreen would display only TP-EN, TP-GEN, or TP-3V3 for the respective footprints. I do not want to have a separate symbol or footprint for each test point. I do not want to add another silk layer. I do not want to use the values layer for this either.

Before I posted this, I searched the forum and saw that many folks wrestled with this and NONE came up with a solution. So, when I found the one I am using, I thought it was worth paying it forward and posting my approach. But, of course, I am certainly open to better or alternate solutions… but they need to be completely explained, like I explained my solution.

The Refdes is just for identifying parts, and for humans to have reference of how schematic symbols and footprints are linked. You are on the right track by hiding the RefDes on the PCB and adding a text string, or use the value string as Piotr suggested.

Of course not, and I when reading my own post again I don’t see anything which would even unambigously hint towards that. You would use only one symbol/footprint and change the Value field or the custom text field.

Layer is a layer. You don’t add layers. You add text items. In your example you have already added a textitem to your footprint, to the silkscreen layer. The only difference would be that the footprint would be in the personal library, and you don’t have to add the item to each footprint on the board. It’s added automatically with the footprint when you add the corresponding custom symbol to the schematic and update the PCB from the schematic.

Which is also what I’ve been writing all along.
You modify the footprint once (mostly to hide the RefDes, and add a custom variable (or re-use the “value” field)) and then you use that modified footprint for all your testpoints. Both in your current project and in your future projects.

1 Like

So…how exactly does one “add a custom variable”? Perhaps you might leverage the “TP_LABEL” designator I used for the symbol in your explanation, but I have no idea at all how to bring that into a footprint. Can you enlighten me?

I am not trying to answer your question. I will only tell how I would solve (probably) your problem. Only probably because I have never used test points and not plan to use them.
Adding to test point (symbol or footprint) the information about expected value at that point is like adding to elements information about their functions. But you don’t normally do that. You don’t have resistors with reference “Feedback R” or capacitors with value “Decoupling C”.
I would place right texts at schematic (not being a part of symbol) and I would place some texts at silkscreen (not being a part of footprint).

pretty sure Paulvdh meant “add a custom field” , which you have already done.

There seems to be a lot of confusion in this thread.

What you have done in the original post is correct, except, as Paul and Eelik previously wrote:

Place a TP symbol in a Personal Symbol Library then modify it as you have done.
Place a TP footprint in a Personal Footprint Library then modify it as you have done.
Then, in your newly modified symbol in your Personal Symbol Library, associate your new footprint in the Value box of the Footprint Field.

This means whenever you need a TP symbol, place it on your schematic from your Personal Symbol Library and your modified footprint from your Personal Footprint Library will automatically appear on your PCB layout.
All you will then have to do is alter your TP_LABEL to suit, instead of all the fields.

Hope this helps.

1 Like

Ah, yes, indeed. Sometimes I mix up words a bit.

So, to recoup (again).
What we’re trying to say is that after you made all the changes to the symbol and footprint in your first two posts, put them in a personal library, so you only have to make those changes once for all the times you are using that schematic symbol and footprint.

1 Like

for all the projects in all the years you use the Kicad program. :smiley: :smiley: :smiley:

Got it. Thanks. I appreciate the clarification.

1 Like