Hello. I work in KiCAD 8.01
I created a footprint for the connector. It has silkscreen and pin numbering in the front layer and back layer.
In the editor for the footprint everything is shown correctly.
But when this connector is pulled into the PCB editor, the silkscreen is initially shown correctly.
Then, during the process of creating a printed circuit board, the silkscreen on the back layer changes in a mirror and becomes similar to the front layer. This is if you look at it in the board editor. But it’s not right.
To fix this error, I need to remove the connector footprint and update the board so that the connector boots again. Then for some time the connector has the correct silkscreen, then everything breaks again.
Of course, for the connector, I can remove the silkscreen from the back layer in the footprint editor. And then manually do the numbering on the board in the back silkscreen layer. But I would like it to be correct, and for the numbering to be stored in the connector footprint itself.
Does anyone have any ideas on how to fix this?
The colors do not look right for the text being on the silkscreen layers, and not all layers have top / bottom combinations. Your second screenshot has the connector on the other side of the PCB, either intentionally or by mistake (hover over the connector and press the f key for flip). Only layer sets that come in a top and bottom set get flipped to or from mirror image when the footprint itself is flipped.
You have to be careful with which side of the PCB the connector is on. The connector itself looks fairly symmetrical, but if you put the footprint on the back, and still insert the connector from the front of the PCB, then all wires (except pin 12) are on the wrong location.
Try to create a example project and attach that. Much easier to look into such an example, compared to guessing based on your pictures. Maybe we are able to reproduce the described bahviour.
After some time … the text becomes mirrored.
If we can’t reproduce the behaviour easily (with your example) we will need a more detailed description what you have done in this time. But that would be a second step, first the example project.
What is the history of this footprint and 3D model?
Where does it come from? Did you modify it yourself?
I noticed that texts also shifts. At first the texts are right on top of each other, and “after some time” at least some of the text is shifted.
What does happen in that “after some time”? Is it repeatable?
One possible explanation is if you Update footprints from Library and then accidentally load a different version of the footprint.
Yes "after sometime " needs to be clarified as things Don’t change after sometime. They change as a result of an action and I have never seen anything change if I go to make my cup of tea. This has to happen after an update or some action. The mask and silk are backwards as we are looking through the board and the pin numbers are correct for the same reason. Sorry I can’t help as I don’t understand the problem. Bye !
I created a new project with this connector.
I started making a new printed circuit board. During the creation of the printed circuit board, the footprint of the connector did not change. I updated the connector footprint, nothing breaks, everything is fine. I did various manipulations, no results, everything is fine.
Then I closed the project completely, closed the board editor, closed the circuit editor, and closed the KiCAD completely.
Loaded KiCAD again. I opened the PCB editor and the connector footprint changed its silkscreen. The change occurred after the next opening of the project.
How to upload a project correctly?
Need to save symbol libraries, save footprint libraries locally?
Then make a zip archive of the entire project?
I deleted everything from the PCB editor. Updated the PCB. Everything loaded, everything is correct. Saved. Closed the PCB editor. KiCAD did not close. I opened the PCB editor and the connector footprint changed.
If you remove a connector and update it again, you may not always be able to achieve the effect of changing the footprint of the connector while keeping the printed circuit board. test_silk.zip.001 (2 MB) test_silk.zip.002 (2 MB) test_silk.zip.003 (199.9 KB)
An off-topic question - in order to open the project on another computer, I saved a local symbol library, a local footprint library and 3D models. But the links to libraries in all elements remained global, so for everything to work, all links had to be changed to local ones.
My projects have links to my global libraries. Previously, for projects, I made a copy of local libraries, but did not change the links to the libraries.
Is there any solution so that if local libraries are created in a project, the links to the libraries themselves change?
From kicad main manager use: File–>Archive project. This produces a *.zip archive from the currently opened project.
you may delete all backup files inside this project archive
the archive does not include the drawing sheet file (*.dws) from schematic/board editor if this file is located outside the project (should be not relevant for your current problem)
the archive does not include the 3D models
the archive does not include library files located outside the project directory
Then attach the produced zip file into your thread.
With your provided 3 files .001/.002/.003 I had no luck and was not able to open the files.
Thanks, the last archive is better and opens fine. The footprint library placed inside the project (and therefore saved inside the archive) is also a good idea.
I recognize now your issue: All text items on the B.Silk layer have falsely lost there mirror attribute and additionally the alignment got changed.
But I was not able to reproduce this issue. I played with moving, rotating, copying and flipping the footprints, but the silk text remains ok.
It would be nice if you could spend some time to figure out how you trigger this behaviour. It’s important to exactly know which steps you have done prior to closing kicad (I suppose the change happens on the save action of kicad)
To check, I created a project in KiCAD 7. I use the libraries for KiCAD 7. I tried to move the connector to the back side. I don’t see this error in KiCAD 7.
what are you doing in the middle of the video? Around timestamp 0:40. The footprint is suddenly inclined? What command/hotkey do you use for this operation?
First, the connector moved the connector to the back side of the PCB (key F). Then 0:40 began to rotate the connector (key R). Then I aligned the connector hole with the hole in the box model.
I also noticed this dependency:
I remove the damaged connector footprint from the printed circuit board.
I am updating the printed circuit board. The connector footprint is loaded and has the correct silkscreen. I install the connector in place as in the previous video and use the same actions.
I turn on viewing of the 3D printed circuit board. In the 3D viewer I turn off the visibility of the virtual model. The boxing model becomes invisible. I exit the viewer and close it.
I shift the footprint of another element.
I save the printed circuit board.
After opening the printed circuit board, the connector footprint is again damaged.
Regarding your rotation command: The Preferences–>pcb editor–>editing options–>step for rotation value is probably set to 45°? (nonstandard value, could be important for reproducing the issue).
Nonetheless I can’t reproduce the bad backside silkscreen. But judging your descriptions it sounds like a bug - I don’t see a abused/misused kicad command in your video.
You could update to the latest v8 testing version (I have done all my tests with Version: 8.0.2-rc1-1-g048448296d, release build, on Win10).
The problem has disappeared. I did various manipulations, the error does not appear.
I hope this error does not appear again in the future.
If an error appears, I will comment again.
Thanks for the help.
I have also confirmed a few things (by downloading / extracting the 3 part zip file).
When I right click on the footprint, and then: Update Footprint … with the settings below, then the text mirroring is also reset to the default of the library.