I encountered a strange one today. I designed a new schematic symbol and associated footprint.
I place the symbol in my schematic.
I go into Symbol Properties and manually find the footprint in my custom library. It is successfully found and I can see the footprint. I select my footprint. I click Okay in Symbol Properties and can re-open the window and see the properly linked footprint is there.
In Layout now, I click Update PCB from Schematic and get the following error:
“Error: Cannot add TR2 (footprint ‘Custom Library:HXB6020HLT’ not found).”
The text in the error is identical to what is in the symbol properties view where I successfully can find and link the footprint.
I’ve tried removing and re-adding the entire library under Manage Footprint Libraries, but it did not fix the error.
In short, my symbol correctly has a footprint linked to it which is contained in a global library linked to this project. When I update PCB from schematic, it tells me the footprint does not exist, even when I can view the footprint directly when linking it via Symbol Properties.
I can even go into Layout view, select Place Footprints and manually place the footprint from the library, and it exists.
I have many other custom symbols and footprints in the very same libraries which have successfully linked and updated to layout view with no issue.
Anyone else experience this?
UPDATE: I figured it out. I had a space at the end of the footprint name in the library which I guess was being truncated in the update to PCB process.
My experience with protel99, cadence, altium and kiCAD, since it is unknown how spaces are treated, to not use spaces (0x20) in names of library symbols or footprints or filesystem paths.
But to use “underscore” as “space” replacements instead. Underscores have the hex value (0x5F).
That way, forgotten spaces do not cause issues like truncating : For example : MyLibrary_component.
It can get worse, i know that sometimes hidden ascii codes are present on websites. Even if one would copy the text, it is still possible to have hidden carriage return ascii codes or newline ascii codes or hidden TAB ascii codes. That has happened to me a few times.
Best is to copy such a string of text into an editor like notepad or programmers notepad 2, that strips unwanted codes and only leaves raw basic text. And then copied that text into the footprint or symbol properties fields or as a name.
FWIW, when I copy from a website, I paste the contents into notepad and the cut/paste from notepad to KiCAD (et. al.) to avoid any problems with hidden characters.
[Sorry, I see this same advice was given by William.]
Seems like it’s worth making a bug report / issue for this on gitlab.
Also: Update to V9.0.2. The first few revisions of a mayor KiCad version tend to have quite a lot of bugs, which get discovered and fixed when (a lot) more people start using it after the official release. KiCad V9 is no exception here