Please Make Footprint UI Less Daunting

Firstly, Kicad seems more uniform in the later versions. Thank you for all of your hard work.

~

I have a problem with GUI involving editing footprints. There’s a lot of drill-down, with little to show the relationships of the process. In places, I’ve mislayed UI forms, trying to find my way back, a problems I don’t have with many programs.

For instance, I want to edit a T0-220 MOSFET to change the pin order, because the selection of a single T0-220 MOSFET package does not fit my needs. The part I am using has the gate at the first pin.

From the get-go, there is no button to edit a copy of a part. Am I wrecking my library?
[Edit Copy of This Part] would be a useful UI element.

At one point, we do see a help balloon at the top, stating that it’s for this board only; does that mean that it can’t be exported?

I also see a UI for alternate pinouts, but it’s not editable?

Eventually, I shamble through the UI to get to where I could edit a part. Perhaps I could swap my pins here. In the case of just swapping the pins, if I move them, I might not put them on the right spacing, scraping out the board(s). I hearken back about the alternate pinouts, wishing that that worked.

It would be beneficial to see them all on the same UI form. We need at least a 2D symbol, a footprint, and hopefully a 3D model for a part. It would be great to see them on the same page.

It would be even better I could see their pin relationship.

~

Assigning footprints takes a fair amount of research for a new user to choose the right footprint.

While Kicad thankfully keeps track of your last used footprints, it would be helpful if there was a ranking system, whereas if you were using through-hole components, and choosing, say a linear regulator or 1/4 watt resistor, that it might mark quite popular footprints in some way.

Obviously, if you were using surface-mount or through-hole, there would be separate rankings for each system.

It also might be good for the ecosystem, to have the ability to share the part. A CDDB-style ranking system would be good. In this way KiCad files and formats could become a standard, faster.

Thank you for reading this far.
–BrendaEM

Why are you changing the footprint? You need to change the symbol for your specific component.

There is a potential source for confusion here.

A symbol (which is placed to a schematic) is an abstract representation of a part. If you use a symbol for a specific part, it would be best to choose a symbol which has the same pin numbers as the datasheet. You will find generic symbols for mosfets in the Device symbol library, Q_NMOS… and Q_PMOS… There you can see the letters SGD etc. I don’t like how KiCad deals with this, but the last letters describe the pin order. So, if you have a part (reading its datasheet) with Source=pin1, Gate=pin2 and Drain=pin3, you will choose the …SGD variant of the symbol.

Now you can choose the footprint for it – I think you already know how to connect a footprint to a symbol. For example Package_TO_SOT_THT:TO-220-3_Vertical. But you have to be very careful and compare the pad order with the physical part pin order, again reading the datasheet. Notice that a footprint has pads, not pins. Symbols have pins, and physical packages (parts, components) have pins. KiCad doesn’t have parts or components, it has symbols and footprints.

If I understood you correctly, you want to change the pad numbers of the footprint because it has a wrong pad order (wrong pad numbers compared to the datasheet) but don’t know how to do it to get the best results.

You should create personal libraries. If you have parts which you will use in more than one design, I suggest you create custom symbol libraries and custom footprint libraries. Then save the footprint connection in the custom symbol, name the symbol with the actual part name, and the next time you want to use that part, just add the symbol to the schematic and the footprint connection is already there.

And how to create those libraries? You should see for example (Start Here) Frequently Asked Questions and read under Symbols and Footprints “Creating a new … library”. Make the Global so that you can use them in all projects. Now you can select the new library in the library editor’s library list. You can create a new symbol or footprint – depending on in which editor you are – from File → New Symbol/Footprint. But you can also navigate to an existing library and use the context menu (right button menu) on top of an existing symbol/footprint. There you have Copy. Then navigate again to your new personal library and use the context menu → Paste on it. Now you should have the symbol or the footprint in your personal library, and you can modify it.

1 Like

It doesn’t seem right that I would have to change the schematic symbol–because the physical package pinout is different.

Yes, I want to change the physical pinout to match my schematic to my package. While I appreciate your help, now users have to merge two sets of instructions. Not only that, because there is only one T0-220 MOSFET, and they have some popularity, as in, nearly every single switching computer power supply, many new users will have to deal with this.

I agree with you there is a source of confusion; I think that the source of confusion is the user interface. Because the drill-down is so deep, the UI to work with parts is like a drawer full of rope, yarn, and extension cords.

I only want to be illustrative, by this…

“You should create personal libraries. If you have parts which you will use in more than one design, I suggest you create custom symbol libraries and custom footprint libraries. Then save the footprint connection in the custom symbol, name the symbol with the actual part name, and the next time you want to use that part, just add the symbol to the schematic and the footprint connection is already there.”

1.) Create custom symbol libraries and custom footprint libraries

(All I want to do is change the pinout for a part)

2.) Save the footprint connection in the custom symbol
3.) Name the symbol with the actual part name.

4.) just add the symbol to the schematic

5.) Now you can select the new library in the library editor’s library list.
6.) You can create a new symbol or footprint – depending on in which editor you are – from File → New Symbol/Footprint.
7.) But you can also navigate to an existing library and use the context menu (right button menu) on top of an existing symbol/footprint.
8.) There you have Copy. Then navigate again to your new personal library and use the context menu → Paste on it.
9.) Now you should have the symbol or the footprint in your personal library, and you can modify it.

Could we just have and [Edit a Copy of This Part] button?

I don’t mean to be mean, your good help aside, the process needs a UI person.

The point is that the footprints have a standardised and accepted pin numbering convention which is physically constrained. How your components connections are made to the actual pins is defined in the symbol, not the footprint. For instance, pin 1 is well defined in any package but what connects here is determined by the design of the specific component.
The symbol is an abstraction of the actual component. You can move the pins around in the symbol to you hearts content - it matters not one jot what order the pins are in on the symbol - as long as the actual connections in the package are correct.
This is a fundamental principle of KiCad. KiCad had a set of standard footprints and a larger set of symbols - a DIP8 footprint can be used for a 555 timer or a 741 op amp but they have rather different connections.

No, I cannot seem to move pin numbers around until my heart is content, because Kicad’s UI needs a some work in this specific area, and the documentation is incomplete. That’s the point I’ve been trying to make in this thread.

I should think that any minute, people from Eagle and Allegro will chime in and state it’s perfect–because Kicad is getting better all of the time, and I am sure that they are worried about what the next version of Kicad will bring : )

It would seem that there must be interface somewhere to connect a hardware-abstracted schematic symbol to a footprint and a 3D model?

Not all MOSFETS have the same pinout: https://www.onsemi.cn/pdf/datasheet/irl640a-d.pdf
The newer transistor codes moved the base from the middle pin, as well. Sigh.

You took time to write some documentation. Thank you. I will try to soldier through it.

You are missing the point. You can move the pins around in the Symbol editor, not the footprint editor.
Think about a DIP8 package. You know where pin 1 is because it’s defined as a standard. What connects here depends on what component you are talking about. - if it’s A 741opamp it’s the Offset pin, if it’s at 555 timer it’s the GND pin. These connections are defined in the symbol not the footprint.

1 Like

Well, I copied a symbol, renamed it, connected the data sheet, editing the description, edited the flyback/anti-static diode to a normal one. The IRL does not have a Zener for this purpose, just a regular diode.

[The properties have to be moved to edit the graphic, for some reason it’s shown in the way over the graphic. I had hoped that pressing enter would have ended a line, as in most other vector programs.]

Now I am stuck, because while I can edit the pin table, I have nothing for reference. I need to see a footprint.

And I noticed that Kicad lists the voltages first–before the MOSFET type for some reason, which is baffling. It’s ridiculous not to soft them by Enhancement/Depletion P/N-type before details like voltages and Rds.

Just to say… I generally agree with @John_Pateman and others:

  1. There are a few exceptions but pin numbers on packages are generally very standardized.

  2. Footprints can vary; especially for TO220 and similar. Vertical or Horizontal? Heatsink? How are the leads bent?

  3. But many different devices use TO220. Many different devices use SO8. Pin numbers on the package stay the same. But functional connections on the packages can vary. (TO220 MOSFETs are almost all G,D,S. But you could also have a 78M05 or LM317 regulator in a TO220. Pin numbers are the same. Pin names vary. Lead forming and mounting varies.)

I have been doing this stuff for > 40 years…

1 Like

I still don’t have enough information to change the pinout–unless I can make 9 guesses as to the right order?

We need to see the symbol and current footprint. If we are building this relationship, we need to see it, what we are doing, what we have done.

At this point, I wonder how many people were going to make parts for Kicad–and walked away from it : (

I wonder if there is a massive confusion here? IRL is a prefix used by International Rectifier (now Infineon) as a portion of many of their MOSFET part numbers. What zener are you referring to? The MOSFET may have a zener included but I do not think that relates to the discussion.

BTW I use almost entirely my own personal symbol and footprint libraries. In many cases I started with the standard library and then edited from there.

Please trust me: Nothing is perfect but KiCad is really nice to use. There is still some misunderstanding here.

Exactly what is it for which you are trying to change the pinout? (Trying to change the pinout of a TO220 package is probably a bad idea but it is not difficult to do.) Please use complete part numbers, etc. Take your time and maybe we can all figure this out.

[Kicad has a lot of promise, and delivers quite a bit. Thank you. Other than this, dragging/grabbing is inconsistent between the schematic editor and the PCB editor, which is minor, but not to be able to change the properties of more than one thing at once in the PCB editor slows the user. ]

I am trying to change the pinout so that the schematic symbol matches the footprint pin order, which is does not.

Going from memory, the IRL640A has the gate on its pin one, just like the schematic symbol, holding the device with the screw/heat tab away from you. Without seeing the current footprint–what should be straightforward–becomes trial and error.

As a user there is still not enough information to connect the schematic pinout to the pad placement. : (

I want to see the numbered schematic symbol, and the numbered footprint both at once. We should see the current 3D symbol, too, all on the same form…with a share button.

Almost every TO220 MOSFET is pinned out that way. I do not use the 3D. What do you mean by the “current footprint”?

Have you ever used: Schematic Editor / Tools / Assign Footprints?

It seems to have much of what you are asking for.

  • It has a filter for pincount.
  • It has a filter for Library
  • It has a filter for keywords which are defined in the schematic symbol.
  • It has a filter for text stings (To select only THT, or N-Channel, etc)
  • It can open a “Footprint Viewer” window with live updates of the selected footprint.
  • … and in the footprint viewer you can also open a 3D viewer window with live update.

And it also has live update with the schematic, when you click on a footprint name, the schematic automatically pans zooms and highlights during cross-probing.

1 Like

When I place the MOSFET on the board, the pins don’t match my part. The IRL640A does not have the gate as the middle pin. It’s different.

paulvdh, Well, let’s see if I have assigned any footprints…

Yes, yes, it seem so : |

Edit:

What is this supposed to mean:

There are 5 or more different ways to assign footprints in KiCad. I was asking if you have used that particular one.


And yet another option: Schematic Editor / Preferences / Preferences / Schematic Editor /Editing Options / Dialog Preferences / Show footprint previews in Symbol Chooser does what it says.

Here a screenshot with the footprint preview of a “640” “irl” (Although I got a slightly different FET :slight_smile:

Between the symbol and Footprint Preview, there is also a drop-down menu to select different footprints. From the normal SOT-23, a wider variant, and a “Handsoldering” variant with bigger pads.

NO. I am not aware of any TO220 MOSFET which has the gate as the middle pin. Every one I can remember using has the gate as pin 1. I have used MANY.

1 Like

Why ever would that not be on as a default?
Let’s see if that could help, if there is anything options.

I was wrong that it actually it’s on, but it is not present whilst creating/modifying a part.