Can't change REF*** position in PCB editor

Hi,
a footprint is behaving weirdly… On the PCB layout, I change the REF*** position. Everytime I update the PCB from schematics, the ref goes back to its default position (of course somewhere I don’t want it to seat).
What am I doing wrong ?
(C_Radial_D5.0mm_H11.0mm_P2.00mm)
I changed nothing in this standard KiCAD footprint, and none of my custom footprints behave this way.

(never seen that behaviour before)

BTW, I’ve been making PCBs for a very long time, always at home… I’m currently finalizing a project, and will send the Gerber files to JLCPCB or PCBWay. I tested the fabrication files on these two websites : eveything is fine. But it will be the very first time I use vias and such fine tracks. Could I submit my project to the forum and get some advice before I click “pay” ?

Thanks by advance.

[EDIT] KiCAD 6.0

In the properties don’t make it visible. Then you don’t care where it is.

1 Like

Try dragging a zipped project from a file manager to this edit are when you write a post. I’d like to look at the project.

I think I found where was the problem !
In the schematics, the capacitor is polarized. But I selected a non polarized footprint. I replaced it with a polarized one, the problem disappeared. Solved.

I prepared an archive with the whole project.

Two versions for “Power” :

  • Power : C1 footprint = polarized capacitor
  • Power_bug : C1 footprint = non polarized capacitor ; pcbnew resets the footprint again and again

See log from “Update PCB from Schematics” : Capture.jpg in the attachment

Really weird : in the schematics with the wrong footprint (non polarized), replace the footprint with the polarized one. The problem disappears. Revert to the non polarized footprint : pcbnew does not reset the footprint (and the ref** position) anymore…

wrong footprint : C_Radial_D5.0mm_H11.0mm_P2.00mm, in Power_bug subdirectory. Replacing this footprint with CP_Radial_D5.0mm_P2.00mm solves the problem.

Easy to find : schematics is trivial and there’s only one capacitor in “Power” project: C1

Kicad upload.zip (734.3 KB)

The footprint pointers in the schematic and the pcb as the files are in the state you sent them are:
C_Radial_D5.0mm_H11.0mm_P2.00mm
Capacitor_THT:C_Radial_D5.0mm_H11.0mm_P2.00mm

See the difference?

When you update the pcb from the schematic it gives message:

But the new footprint is in reality the same. Apparently KiCad finds the identical footprint name in all available libraries, replaces the name defined in schematic – which doesn’t have the library name – with the whole pointer with the library name in it, and handles it as if it was a another footprint. Then in the second round it does the same because the footprint pointer in the schematic and the pcb still don’t match.

IMO this is some kind of bug. KiCad should at least tell what’s happening.

EDIT: so, this has nothing to do with polarity. KiCad doesn’t care about that.

Yes, I noticed the prefix : “Capacitor_THT:”
I just had a look to the buggy sch file : no prefix.
I also created a dummy schematics with capacitors, and the footprint always come with the prefix.

I’m messing around with Kicad, opening the symbol editor and the footprint editor, and just found a breach !

1 - in eeschema, right click → Edit Footprint
2 - int “Footprint”, delete the library prefix

→ there’s no sanity check, and the schematics file gets corrupted (no library added to the footprint name)

But I didn’t delete this string in my schematics ! At least not this way.

Will search again tomorrow, it’s 3:00 AM…

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