Arraying pads in footprint editor should not assign pad/pin numbers for aperture pads

Bug #1781760 reported by Andy Peters on 2018-07-15
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Medium
Jeff Young

Bug Description

This issue seems to be the standard operation as of the 14 July 2018 RC3 for Version 5.

The footprint editor allows the user to easily replicate pads in an array, which is ideal for creating BGA, PGA and similar packages. It also automatically assigns pin/pad numbers to each pin.

But this pad-number-assignment behavior is not good when the user wants to create an array of aperture pads. Aperture pads are those without a copper layer assigned. They are useful, for example, when creating custom solder paste mask openings on a package which has an exposed thermal pad. Since these pads don't have copper connectivity, they don't, and indeed cannot, have pin numbers (nor can they have nets).

Also, the pin number of a pad with no copper layer assigned does not appear in the pad, so even if a pin number is assigned, it's not visible to the user.

My recent experience is this. I had a board made with a QFN w/exposed package chip and I ordered a stencil for it. The footprint I used for this chip had the solder paste mask checked for the entire exposed pad, so the stencil had a big square for the exposed pad, which is not good. I wanted to order a new stencil with the recommended 3x3 array of 1.25 mm square exposed areas on 1.8 mm pitch, so I edited the footprint in place. I edited the pad and unchecked the F.Paste layer for it. I then created a 1.25 mm square pad with no copper and only the F.Paste layer enabled. I made sure that the pad number field was blank, as well as the net name field. I created the pad array, and updated the PCB with this footprint.

The PCB ratsnest showed that some connections on the chip needed to be made, and DRC complained about unconnected traces/pads. The ratsnest showed that I needed to make connections to the paste-mask-only pads I just added.

Again, those pads did not show any pin number, so it was somewhat baffling why pcbnew wanted to me make a connection to a pad with no copper, which meant no way to actually make that connection.

In pcbnew, I looked at the aperture pads' Properties, and saw that they had pin numbers assigned, as such:

+--+--+--+
|33|23|13|
+--+--+--+
|32|22|12|
+--+--+--+
|31|21|11|
+--+--+--+

and the net name of each was the same as the real pin of the same number. So that explained why the connectivity check thought the aperture pads needed to be connected. But since the pads have no copper, the connection is impossible.

So, suggestions:

a) In the footprint editor, it should never be possible to assign pad numbers and net names to aperture pads. That is, if no copper layer is enabled for the pads, the pad number and net name edit boxes should be grayed out/disabled and any text in them should be deleted.

b) The footprint editor array function should never assign pad numbers to aperture pads.

Doing so will prevent pcbnew from assigning a net name to a pad with no connectivity, and that'll keep the connectivity check happy.

Changed in kicad:
milestone: none → 5.1.0
importance: Undecided → Medium
Changed in kicad:
assignee: nobody → John Beard (john-j-beard)
Changed in kicad:
assignee: John Beard (john-j-beard) → nobody
Jeff Young (jeyjey) on 2018-07-24
Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
status: New → In Progress
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 2d4ba56ac034e7ffe7e560aa2ffa9de760ceab94
https://git.launchpad.net/kicad/patch/?id=2d4ba56ac034e7ffe7e560aa2ffa9de760ceab94

Changed in kicad:
status: In Progress → Fix Committed
tags: added: array
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers