Why is an automatic annotation enforced?

Yes, and that’s what I said: “This gives good support for certain kind of flexibility which KiCad doesn’t offer at the moment”. But we should not confuse the wikipedia example with free form text. Supporting ‘J1A’ may be very different than supporting ‘Power+’.

It’s important to understand that we are here talking about several things, all related to the Reference field in KiCad, but being very different. What some user wants, what most of the users expect/want/need, what would be the options to reach the same goal, what is the technical implementation and how much work it would take to change it, what external tools may or may not expect, are there official standards, how they should be interpreted, are there de facto standards, how they should be interpreted, should they be obeyed and why…

If you feel you haven’t been given any good reason to restrict the reference format, I can say as well that I haven’t seen any good reason to insist using the Reference field for descriptive texts. You can just ignore the refdes and add another text field and also use it in the PCB. In this case you could also use the standard Value field which doesn’t have restrictions and is also already usable in the PCB.

I have nothing against relieving all the restrictions on the Reference except uniqueness, but doing that wouldn’t IMO make possible anything which isn’t already easily possible now. Allowing the form ‘X1Y’ would be good. If you need something more than just occasional descriptive name, you can ask how your use case goal could be reached with the current capabilities.

I just never used such notation and didn’t know that it is configurable. Moving from Protel to KiCad I found it looking the same and never even considered to search if it can be different.
But you can use letter without any separator, but to use digit you have to use separator. It doesn’t come from nowhere. It is just to, as I have written - make it possible to easily find by software if it is a whole element identifier or identifier of one of many parts from one element.
If you let user to use any but unique identifiers you generate problems when someone, even not knowing it, will end his reference in the way that is reserved for distinguishing several gates from the system. Some way of noting it have to be reserved to not generate next problems if software will have to check if there is common beginning of each symbol set (2,3,4 and more) and then to check if pin numbers are different to ensure that these can be gates from the same IC.

Wikipedia R17A and R17B examples are described as grouped/matched elements. SMD resistors are manufactured for example as 4 0603 resistors packed in one 1206 case (I have been using them). You can make one symbol having them all and needing to draw wires to it or you can have them separate (like digital gates) and then you will have R17A, R17B, R17C and R17D for this one element.

There is at least one example of something that is not possible now but that would be nice to make possible: Importing multichannel designs from Altium as-is, without re-annotating them. Right now, Altium and KiCad annotation styles are incompatible, so porting a multichannel design from Altium generally requires re-annotation (which means the process of re-synchronizing the schematic with the board can be more tedious)

1 Like

Nothing wrong with that, but reference designators are descriptive, and standardized:

The RefDes also shows up on the BOM and such. If someone else sees an “OhmMeter+” as a text description on a BOM, it’s not easy to guess it’s a connector. In your case the standard way is to use J1 as the RefDes, and put the OhmMeter+ in the value field. Or to put the connector type (molex, jst, etc) in the value field and put the OhmMeter+ in some separate field.

As I said … IEEE 315

Ah yes, but that costs USD43.

Bugs me when my coworkers want to change a testpoint name from something like “TP1” or “TP_VCC” to “VCC”. But those who ask don’t assemble nor have to deal with the CM’s who assemble, nor with those who have to debug stuff years down the road. Is VCC a testpoint, signal, DUT pin, or one of the many different IC pins marked “VCC”?

Not having the ability to use “TP_VCC” kinda bugs me, but is kinda trivial. I get it, it’s a software limitation, and not exactly wrong. Using signal description is tempting but not quite right (but a hard habit to break once you’ve done it a few times).

Anyhow. If one wants the PCB to show (in silk) something for usage, why not suppress designator and show a parameter or the value or something else? Assembly documents can show the designator, and it’ll match ASCII or what have you. Using “TP1” and then showing the value of “VCC” below it makes it usable to multiple audiences (assembly house, end user, debug person, etc). More PCB real estate I know.