How to use a non-library footprint name

I am migrating from KiCad 3 to KiCad 5. I use Eeschema for the schematic entry and then export the netlist to PADS for layout. In KiCad 3 I could simply enter “0603” or “MSOP10” as the footprint, and I had it matched to a footprint or part type in PADS.

I currently have my PADS netlist exporter working in KiCad 5. However, I am running into a problem where Eeschema does not let me enter a simple footprint name into the footprint field, it throws the error of “XXX is not a valid library identifier format”. I understand how the KiCad library management has changed and why it wants a library name to be present in the footprint name. But is there any way to override this and enter a simple, non-library footprint name into this field? I will not be using CvPCB or pcbnew so these manually-entered footprint names will not confuse those tools.

What is this PADS netlist exporter?

When exactly do you get that error message?
I just started a clean project, added a single resistor:
image

And then with f added “asdf” as footprint.
When I look at the symbol properties it just accepts it without complaining:

Then, when I port it to Pcbnew (after annotation), it complains that it can not find the footprint, which is of course correct because that footprint name does not exist:
image

After that I placed a random footprint on the PCB with o, edited it in the Footprint editor with [Ctrl + e] and saved it under the name “asdf” in a project specific library. Then I went back to Eeschema and [F8] again, and this time Pcbnew does find the “asdf” Footprint in it’s library and places it on the PCB, even though the Footprint field in Eeschema does not have a library name.

So with me, it all works as expected.
Even after Exit & restart of KiCad it loads my resistor "schematic’ without any warning message.

So what is this “PADS netlist exporter”? That is probably where your error seems to come from. As far as I know most of Eeschema just considers the footprint property as a string and does not care much about it’s contents up to the moment you really try to do something with it.

I have no experience with “PADS” but I find the combination of Eeschema and PADS curious. Eeschema is not the best schematic editor, while Pcbnew has become a quite good PCB design program. Maybe it’s time to reconsider to start using Pcbnew.

(Although unfortunately some “basic” functionality is still missing in (the stable versoion of) Pcbnew, such as circular tracks)

The script/plugin named “netlist_form_pads-pcb.xsl”

I don’t think the script is the issue as the error doesn’t really have anything to do with it. The error occurs in a project that I had originally created in KiCad 3 and opening in KiCad 5, so maybe that has something to do with it. I’ll do some more tinkering and see if I can isolate what causes the error to happen.

I admit that a good part of the reason for continuing with PADS is to support existing projects. I did spend a good chunk of the last few days doing a layout in Pcbnew…I want to love it, and it’s certainly powerful enough to handle my layout (which is relatively simple). My issues are admittedly related to familiarity with the UI as anything else. Here are a couple examples, maybe you can set me straight?

  • Is it possible to color pads by net? I have always found this feature very helpful, especially when working on orienting components, placing decoupling caps, dropping vias to power planes, etc. I did find a post from a few years ago talking about a patch to accomplish this, but I don’t see it as a feature in the current software.
  • Can I set the router to only draw a single segment at a time? I sometimes want to put a trace exactly where I want it. I realize I can do this by carefully clicking at every bend in the trace, but I found it annoying when the router would insert a bend somewhere along the way, or I had to be very careful about keeping the line straight. It also likes to jump to the center of the target pad more aggressively than I’d like - sometimes I like to carefully guide the trace to exactly where I want it to connect. PADS has two separate routing modes, “Route” and “Dynamic Route”. I do like to use the simpler router for things like power traces.
  • I admit this one is simple, but - I started with a rectangular board outline. I then needed to change the length of the board. When I dragged an edge where it needed to go, only the edge moved, the other two lines did not move as well, so I needed to also extend those two lines as well.

Again, I’ve been a KiCad user since at least 2013 and I like Eeschema. I just feel that there are enough small annoyances with Pcbnew that I’ve stayed away. Would love to be shown otherwise!

No luck reproducing your test. I created a new project, created a new schematic, and added a resistor. Got the warning when I tried to set the footprint field to “asdf”:

I am using version (5.1.5)-3, if it matters.

I’ve also managed to reproduce your error.
When I enter asdf in the Footprint field in the symbol properties, KiCad does not accept it.
However, the method I posted earlier (hover over a footprint and press f) does work for me.

I’m using KiCad V5.1.6 which is the latest stable version.

1 Like

https://gitlab.com/kicad/code/kicad/-/issues/2003

Probably not. If you can take a screencast of a situation where it does what you don’t want, it could be possible to file an issue and get the behavior changed (maybe optionally). With the PNS router things are difficult to descibe with words, and it’s difficult to know what “draw a single segment at a time” means or if you could achieve your goal in another way.

That’s a limitation in KiCad. There are plans for better graphics drawing, but ATM it looks like it’s not going to be in v6.

Play with the Route->Interactive route settings. Maybe you want Free angle mode.
There was a feature in the legacy canvas, but my version (ubuntu) dropped the legacy canvas time ago.

Preferences -> Magnetic Points

Unfortunately not. It could be uselful anyway. I place the components with the help of the ratsnest.

Again Preferences->Magnetic Points Snap to graphical helps. It doesn’t save you two more movements, but it helps a lot.

One of the few posts with constructive criticism and not ranting about I want this tool to be just as my older tool.


Edit: sorry @eelik. Your post was published while I was writing

You can draw “a single segment at a time” easily by making use of KiCad’s rule that by default the Interactive Router lays all segments except the last. So if you only have 2 highlighted (not fixed yet) segments, and press [LMB], then it only draws one segment. This is however a micro management question which skips the overall working of the Interactive router.

The Interactive Router in KiCad is a powerful and wonderful tool. I’ve made denser boards with it then I otherwise would have dared to route. It does need quite some adjustment on your own mental side of how you approach the routing. I have just stopped thinking about where I want to have a particular trace in the first stages of routing. The power of the Interactive router is best understood when you start by watching a few youtube vid’s about it.
Once you realize that it just shoves aside your carefully layed track to make room for an extra via or track and you accept that, you stop laying tracks in “exact” places, and just make all connections (following proper layout rules of course).

Then afterwards, when the board is routed do a visual inspection by highlighting nets and do a bit of cleanup for parts you don’t like. Skipping all the “careful stuff” in the first stages is a huge time saver.

Thanks for all the great advice! I will roll all of this into my next KiCad layout.

A couple other similar questions, while we’re rolling:

  • How can I disable the ability to delete a component? I belatedly realized that I had accidentally deleted a component while removing some traces.

  • Is there any way to filter what you are trying to select? For example, with PADS you can set it so a click will only select a footprint, or pad, or trace, or via, etc. When trying to select a particular object in a crowded area I ran into trouble selecting exactly what I wanted.

You can lock a footprint, meaning that you can’t move or delete it by accident.

Context menu -> Select -> Filter

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