KiCad 9: ‘Invalid footprint specified’ after assigning custom TLP176AM footprints in Symbol Editor

About KiCad 9.0.4

I downloaded a ZIP file from the Toshiba site for the TLP176AMTPL_E, which included a 3D model, three footprints, and a symbol.

The symbol did not have a footprint assigned, and I could not connect any wires to the pins (no wire connection was possible, with errors like “Symbol pin or wire end does not fall on the connection grid”). I already fixed this by creating new pins and assigning proper electrical types. This now seems to work fine.

In the footprint library manager (Preferences → Manage Footprint Libraries) I added the folder:

.../KiCad_libraries/footprints/SSR_Relays-kicad-library/footprints.pretty

with the nickname SSR_Relays.

The three footprint .kicad_mod files are in that folder (and they are visible in the footprint editor filter under the footprints tab):

  • 4pin_SO6TLP17XX_TOS-L.kicad_mod
  • 4pin_SO6TLP17XX_TOS-M.kicad_mod
  • 4pin_SO6TLP17XX_TOS.kicad_mod

I assume that in the Footprint assignment field (via the Symbol Editor) I need to enter:

SSR_Relays:4pin_SO6TLP17XX_TOS-M

The entry in the left-hand list becomes bold, and I save the symbol by clicking Save Symbol. So far so good.

However, after closing and restarting KiCad, when I open the schematic editor and place a new symbol TLP176AMTPL_E, the footprint preview still shows the error:

Invalid footprint specified.

How can I fix this? Is there a way tocheck if the .kicad_mod files are okay?

Thank you

Open them in the Footprint editor and take a look . . . or just shortcut the whole process you are on and create your own.

First, let’s start with something that isn’t the main topic.

In my reproduction procedure, I have a Digikey account, so I tried the same thing with the current data provided by Ultra Librarian. https://www.digikey.com/en/models/8627039

  1. This is something that should be fed back to the companies that provide the data used in EDA for KiCAD.

“Symbol pin or wire end does not fall on the connection grid”

  1. You know where the footprints are, but do you care about where the schematic symbols are?

In the footprint library manager (Preferences → Manage Footprint Libraries) I added the folder:

  1. What file were you trying to do this to? Were you aware of the location?

already fixed this by creating new pins and assigning proper electrical types.

  1. Do you remember where the new symbols you add to your schematic are stored physically?

However, after closing and restarting KiCad, when I open the schematic editor and place a new symbol TLP176AMTPL_E

I’ve written a bit too much of an introduction, but I think the root cause of this issue is that the schematic symbol that was edited locally was extracted from the zip file, placed locally, and then the edited schematic symbol was not overwritten in the path specified in that location.


Either overwrite the edited schematic symbol with the file containing the schematic symbol you extracted from the zip file you already set up locally, or save it under a different name and change the library path you set up locally.

I would be happy if the above is correct, but the question does not itemize what mouse operations you performed, so it is possible that your work flow is different. In that case, I think it would be a good idea to add more specific details of what you did.

ps.
If two libraries are provided and one doesn’t work, I won’t look into the details, I’ll just delete the library in question and try the other one. I might also look for a place that clearly explains in documentation the relationship between KiCAD’s cache and each library in a way that users can understand…

ps2. My environment is not 9.0.4, and the steps to reproduce the problem were not disclosed, so I was unable to confirm.

Invalid footprint specified.

Hi Tama

I also tried the Digi-Key version, but it turned out to be the same.

  1. I will do it, but am hestitate because I have already done this a few times with other libraries before, but I never got a reply. I noticed that there was a small difference when I recreate the pins because the pin and name where a little moved from the original location. ISide note : I dont know how to move the pin and name text to my likings.

  2. I’m not sure what you mean. All the items (the sets of library parts) I placed into my own library, with subfolders for each file type.

  3. Yes, I did select the small line at the top to point to the location where I wanted it to be saved. It updated correctly, because I checked the date and time of the change.

  4. Yes, they are in the right place. That’s why I am asking these questions. With my other custom libraries, everything works fine.

What is annoying for me is that when I select a component/device/product by typing its name (instead of selecting an ‘already placed’ part or ‘right-clicking’ an item in the schematic), I always have to click that line at the top (the reddish-brown one, I believe) to get the correct location. I also always use ‘Save As’, otherwise it gets saved to the wrong place. And I check the time and date of the saved file. That folder is always open at my desktop.

It works now, but not because of the path I typed in or the steps I did above. You did give me a small beginners tut/info, but thats okay, but I failled to read somewhere what I did do wrong. Instead, it only worked after I imported the footprint into the Footprint Editor and then did ‘Save As’ to the same location as the original file. My guess is that the file format was not really meant for KiCad v9, even though it was marked as KiCad >v6. When I saved it again, it was stored in the proper format. Now it shows up in the Place Symbols window (symbol chooser) with the assigned footprint.

It’s a pity that filtering and selecting a footprint in the Symbol Editor does not actually add that footprint to the symbol. I like KiCad but, the menu and naming of items could still be better.

Sorry for my poor English.

I write English using a translation engine.

  1. When editing a symbol in the Symbol Editor, the footprint location is determined by opening the symbol properties and editing the footprint.(But why aren’t my edits reflected even though I made them? That’s the question.)
    image

  2. There are two ways to start the Symbol Editor: from the Schematic Editor or from the Project Manager.
    image

3.1. When launch it from the schematic editor, the following screen will appear:
image

3.2. If launch the symbol editor directly from the project manager, see something like this:

  1. The results will be different between 3.1 and 3.2.

ps.
TOSHIBA presents data from two companies, Ultra Librarian and SamacSys.
Digikey presents data from one company, Ultra Librarian.

So, KiCad is far, but not yet consistent in their way to do things. Also if you read my initial question, this was not really an issue. I knew or figure it out how to fix that. It was about the footprint.

Still this doesn’t tell me why it shows the footprint in the component chooser only after I imported the footprint in the footprint editor and then save it. Maybe I didn’t find it, but after opening the footprint in the footprint editor, I can’t see what version the imported footprint is. So is there an info panel somewhere?

ps. Thats the reason why they are the same.

Anyway, thank you for your input

1 Like

Kicad does not have components with combined symbols, footprints and 3D images. Kicad has symbols and footprints and 3D images. These three parts are treated separately and stored in different libraries.
A symbol is created or imported or used from a Kicad library, a footprint is also created, imported or used from a Kicad library and likewise 3D images.
The user then attaches an appropriate footprint to the symbol and an appropriate 3D image to the footprint.

This is consistent throughout Kicad.

In some instances, where one symbol only has one footprint and one 3D image, the Librarians may attach a footprint and a 3D image to a symbol for the convenience of the user.

Please reread my issue. What you tell me is something different. BTW, it is solved using the steps that I did wrote above, but not the steps that KiCad Help told me to do.

1 Like

You can see this by visually checking the differences between text files (.kicad_sch, .kicad_sym, .kicad_mod, etc.) before and after each operation phase using another tool.
The lib_name, lib_id, and other name tags in the files

What users should be aware of :

1.1. Place two identical components in the schematic editor.
1.2. Edit the properties of the first component.
1.3. The properties of the second component, which you did not edit, will naturally remain unchanged.
1.4. When you save in the schematic editor, the file is saved to the .kicad_sch file.

2.1. Edit the symbol using the symbol editor called from the schematic editor.
2.2. The symbol edits are saved to the .kicad_sch file (not the .kicad_sym file in the symbol library), which is the target of the schematic editor.

3.1. Edit the component using the symbol editor called from the schematic editor. The edits are the footprint library path information displayed in the symbol editor’s properties.
3.2. Next, continue as above and save the symbol by specifying a symbol file name from the symbol editor’s menu. (Are edits saved to .kicad_sch or a new symbol library file (.kicad_sym)?)

4.1. In point 3 above, we edited the footprint path information, a symbol property, from the schematic editor. However, if we launch the symbol editor from the project manager and edit and save the symbol file directly without going through the schematic editor, where will the edited information be saved?
4.2. While the above explains the relationship between the schematic editor and symbol editor, users should be aware that a similar relationship exists between the board editor and footprint editor.

Aside from visually checking the differences between text files (.kicad_sch, .kicad_sym, .kicad_mod, etc.) before and after each operation phase using a different tool and inferring the operation specifications, is there any way to confirm operation details not described in the official documentation? For example, you could ask a question on the forum, search past questions, or check the source code.

ps.
I found where this warning is defined.

Invalid footprint specified
eeschema/widgets/panel_symbol_chooser.cpp · master · KiCad / KiCad Source Code / kicad · GitLab

ps.2
Possible UI improvements would be for the symbol editor to hide operation menu items depending on where it’s called from, or change the operation names to make them easier to understand.
For example, a symbol editor called from a schematic editor could hide the operation to save a symbol library, or when saving, add a pop-up warning that the edits will only be saved to attributes placed on that specific schematic.

In the case of another library provider, did the wiring not connect to the pins without any modification?

You mean file extensions; they where the right one’s

The steps you wrote, should be mentioned in the Help Documentation ( WORM ) Write Once Read Many instead of let the user figuring it out.

My guess is that the file’s are not KiCad V6 formatted but just renamed ones.

lib_id.Parse will be the call that decides right or wrong.

About another library provider; I did download from two locations, but afterwards they were the same. I did fix it in my library. Choices of: Figuring it out or searching for a different one with the same risk, did let me learn to figure it out. Next time I will import first all the footprints to be sure that they will be in the right format.

Is there a way to move a pin or name text from the pin connection in the ‘symbol editor’?

draw_pin_icon

I like to move the text more out of the way.

1 Like

File → Symbol Properties > “pin test option”
Place pin name inside https://docs.kicad.org/9.0/en/eeschema/eeschema_symbols_and_libraries.html#symbol-properties

Have you compared the SamacSys library and the Ultra Librarian library for this example?

For example, Ultra Librarian uses the old-fashioned idea of ​​drawing a line next to the ◎ on a pin, while SamacSys uses the idea of ​​placing a single component called a pin, which consists of a ◎ and a certain length.

If the lengths of all the pins coming out of the ◎ are the same, you can offset the pin names from the pin numbers, so that the pin names line up neatly within the frame, for example.

ps.
I think this is an implementation that reduces the number of elements that depend on the x and y grid when they are ultimately used, such as scaling factors, fonts, etc. As an outsider, I don’t know where this is written in the public documentation, but I think there is probably documentation shared between developers.

This doesn’t move only the ‘pin name’ but the whole pin drawing with the name and pin number.
Remember I am using MacOS, maybe it works under windows, but not here.
Does it works for you?

Also I didn’t try any other symbols and footprints. I did recreate or repair what i have now.

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