Scale footprint pad?

Hi all,
I am trying to create a custom footprint for a card edge connector. This would be for .1"/2.54mm spaced pads.
There is a bunch of 1.28mm card edge connectors in the standard library, so the quickest way I think would be to modify an existing one.
To that end, I am trying to scale up x2 one of those pads. I don’t seem to see an option in the standard tools. Am I missing a scaling tool?..
Thank you.

There is no real scaling tool in KiCad. In general, scaling does not make much sense during PCB design because all footprints have very specific sizes. Changing the size of a lot of pads basically works in this way:

  1. Modify a single pad.
  2. Push the pad properties of that pad to the default pad properties.
  3. Push the default pad properties to all pads, or to a selection of pads.

If you want to change pad pitch of an existing connector from 1.28mm to 2.54mm, then the only way I know is to move all the pads one by one. Not so difficult on a suitable grid, but not automated either.
It is also quite easy to first place a single pad and then create an array of them. Arrays of pads are common in footprints, and KiCad’s footprint editor has a tool with lots of options to create an array of pads. Creating an array of new pads is easier and quicker then changing the pad pitch of a lot of pre-existing pads.

Beginners can get a bit overwhelmed by all the possibilities when starting with footprint creation. Maybe the good old AT connector gives you a starting point if you want an edge connector with 2.54mm pitch.

1 Like

If your pads and gaps between pads are suitable, this is the easiest method.

  • Set your grid to 2.54mm
  • Left to right group select some of the pads.
  • Duplicate and move these pads so they align with the others (easy if you first set the correct grid)
  • Keep duplicating 'till you have enough pads. If too many, delete a few.
  • Drag your Silk, Courtyard, and Fab lines to new positions. (May require a change of grid again)

Are you sure you want X2? Maybe you need X2 plus the gap between 2 pads.
Either way, edit the pad that needs widening, so the width is X2 or X2 + the gap.

1 Like

Thank you both.

Here’s how I started doing this last night. I took a 1.27mm card edge footprint as a starting point, having the closest number of pads to half the number I need for the 2.54mm connector. I deleted every second pad. I think at this point I should have all pads placed in the correct location, I’d just need them about twice as big (reason for me looking to scale them up).

I think I will try to see how I can modify one pad, and push its properties to all pads… Which sounds to be possible. I tried a bit of this last night, but I wasn’t able to easily modify one pad as I opened it for editing. I was looking for some sort of scaling, so I need to try another way. But for instance, moving one segment (a side) didn’t seem to be easily possible through the “Move” command. I’ll tinker with it more.

@Rax

If you could explain how many pads of what size with how much space between each, we might have a better chance of offering methods to create.

That is the complex way of thinking. If you start with the big AT connector, then you already have a 2.54mm pitch. All the extra pads are easily deleted by drawing a box around them and hitting [Del].

Huh? When editing pad properties you can just type in sizes in the pad properties.

You can also just enter " 2"* after the existing coordinate, this will multiply that size of the pad by two. You can add simple formula’s in a lot of entry boxes in KiCad.

Also, when a pad is selected in the footprint editor, there are small boxes at it’s corners. You can drag those boxes with your mouse to change their location.

image

First modify the pad (pad properties, dragging a corner, etc).
Then Right click and from the context menu: Copy pad properties to default, and then Paste Default pad Properties to Selected (after making a selection), or directly use Push Pad Properties to Other Pads

But really, deleting all pads except one and then drawing an array of them is just as easy if they are all in a straight line. Experiment a bit with these methods, so you learn which method works best in different situations.

1 Like

Certainly. I am using a 70 position 1.27mm pitch double sided card edge connector to edit to get a 2x43 position 2.54mm connector. I assume individual pads “scaled up” (one way or another) by two should work OK.

Do you have a data sheet link to the connector? This is needed to establish the length and width of the pads.

Basically you want 43 connections on each side of a 70 pin each side connector?

As jmk already mentioned, don’t make assumptions like this. Look at the datasheets for the recommended pad sizes, locations and the width of the connector. Card edge connectors are not as easy / straight forward as they seem to be. Combine that with the extra fuss and cost of plating, and I have decided to simply not use edge connectors wherever I can avoid them, but rather use standard connectors.

I wish not using a card edge would be possible, but this is for a riser card for servicing certain instrumentation units… I don’t think I have a way around that.

Thank you all again. Every one of the replies was very helpful and knowledgeable.

I ended up using the AT card edge and making it a 2x43 footprint.

2 Likes

Good to hear it worked out for you.

Have you also practiced a bit with the other methods?
Having some hands-on experience with the other pad manipulation methods helps you design your next footprint quicker.

1 Like

I have not yet, but you’re absolutely right, I have to allocate some time to practice better workflows. My muscle memory is impaired quite a bit by having professionally inhabited an Autodesk world for well over two decades (first, in the AutoCAD ecosystem, and then in the Revit, so all of it in AEC). This is why I also, for instance, use Fusion for all my 3D printing design needs. I feel there are a lot of efficiencies that would be beneficial for the Kicad workspace, if borrowed from that world.

One further task I have to complete is renumbering the pads after butchering the AT footprint. There’s a renumber button, but I don’t understand how it works. I can apparently set the first pad number and the numbering step, but what I’m seeing when I run it doesn’t seem to reflect that. This being a card edge “in elevation,” I have two pads overlapping onto each other everywhere.
I think I’ll have pad #2 as first on the left side of my footprint, I set “first pad number” to be 2, “numbering step” also 2 (I guess I’ll do the front pads first, then the odd numbered ones on the back), but it assigns 4 to the first pad it renumbers. What gives?

You first set the renumber options, and then you click on the pad in the order you want them numbered. Each click gets the next number determined by the options. This means a click for each of the pads. This is of course a bit boring. Again, the array function can help here. Just delete all pads except one, and then create an array from the one pad you left. There are pad numbering functions built into the array function.
Below I created an array of 20 pads with pitch 2.54mm, and starting with pad number 666.

With card edge connectors, you usually have SMT pads on top and bottom which are overlapping. It’s easier to work with this if you disable the Front layers when working on the Backside and vise versa.

Thank you, Paul.

I’d rather not repopulate the pads from scratch. In that case, it’s not at all intuitive how the “pad renumbering” tool works. I can’t seem to be able to get expected results.

For instance, if I set it to start at 2 and jump 2 every step, it starts at 4 and goes up by 4 every step. If I set it to star at 2 and jump “0” every step, it does indeed start at 2, but sets all subsequent pads to 2…

Is there a secret to be observed here?

It does indeed look like there is a bug lurking around there.

I tried it with an increment of two and I observed the same behavior: the first number was skipped.
Then I did some more tests, with increments of 0, 1, 2, 3 and 4 and they all worked as expected.

This is of course expected. Incrementing with zero keeps the number the same. For consecutive pad numbers, use an increment of one.

Worst case, you use an increment of one, and for each odd click you number some random “spare” pad.

Don’t forget to finally confirm with a double click, or you will exit the renumber function while restoring the old numbers (Bit weird behavior if you ask me).

I think I just bumped into another bug.

With Copy Pad Properties to Default, it does change the pad diameter, but setting the pad to the SMT type is lost when I add another pad. I am not sure whether I use this function correct though.

Some confirmation would be nice:

  1. Is this a bug?
  2. Is it still present in a current nightly? (I have not checked gitlab yet).