footprint editor: on bottom SMD pad, wrong paste and mask

Bug #1426756 reported by Karl Zeilhofer
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Unassigned

Bug Description

When I place a bottom SMD pad in the footprint editor, then the corresponding mask and paste layers are not changed automatically to bottom layer.

with the current layer rendering this isn't visible to the user in pcbnew.
I discovered this bug only in the 3D preview.

perhaps the technical layers could be automatically selected with the corresponding copper layer.

Application: kicad
Version: 0.201501280107+5391~20~ubuntu14.10.1-product Release build
wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.1,wx containers,compatible with 2.8)
Platform: Linux 3.16.0-29-generic x86_64, 64 bit, Little endian, wxGTK
Boost version: 1.54.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
         KICAD_USE_WEBKIT=ON

Revision history for this message
Nick Østergaard (nickoe) wrote :

It is clearly shown in the technical layers frame what mask and paste layers is active. I don't think automatic changing is a bug. I don't see why one would make automatic wierdness happen.

Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

<blockquote class="twitter-tweet" lang="en"><p>Back side has solder mask on cartridge edge but it scrapes off. Rookie mistake when making a new <a href="https://twitter.com/hashtag/KiCAD?src=hash">#KiCAD</a> component. <a href="http://t.co/nqUZhZnd0J">pic.twitter.com/nqUZhZnd0J</a></p>&mdash; Paul Rickards (@paulrickards) <a href="https://twitter.com/paulrickards/status/561584286454005760">January 31, 2015</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

sorry for the last post, I thought I can edit it afterwards:
Here is a guy who ordered a board with wrong solder mask:
https://twitter.com/paulrickards/status/561584286454005760

Revision history for this message
Sven D (sven-d) wrote :

In the pad properties of the module editor, a new pad has the layers F.Cu, F.Paste and F.Mask by default. When the copper layer is changed to all or B.Cu, the checkboxes for B.Paste and B.Mask are not automatically activated.
The checkboxes must for the B layer be manually selected.

I think Paul Rickards forgot to activate the B.Mask for the pads.

It is a bug or feature in the pad properties of the module editor

Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

I can understand, that uncommunicated automated toggling of checkboxes could be confusing or lead to extra problems.
Perhaps the GUI should be designed in a more different way.

The dropbox could have the usual options on one hand, with automatically set layer-checkboxes, which are grayed out, and on the other hand a user defined option, where the user can define all the checkboxes manually.
This needs then 3 extra checkboxes in the layer group:
F.Cu
Inner.Cu
B.Cu

The Options in the drop down could be:
F.SMT
B.SMT
THT
User defined

BTW, I think, if one has set up the whole development toolchain for KiCad, this is a work of max. one hour.
Is there somewhere a goot tutorial, on how such an environment should look like?
There are many little things I would like to improve, but I have no idea, where to start from on setting up the development environment.
As one can see there ( http://www.zeilhofer.co.at/wiki/doku.php?id=kicad_2014#kicad_sheet_rearranger or there https://github.com/KarlZeilhofer/kicad2csvbom) I am willing to write some code, which helps the KiCad user.

Kind regards,
Karl

Revision history for this message
Nick Østergaard (nickoe) wrote : Re: [Bug 1426756] Re: footprint editor: on bottom SMD pad, wrong paste and mask

Den 08/03/2015 11.25 skrev "Karl Zeilhofer" <email address hidden>:
>
> I can understand, that uncommunicated automated toggling of checkboxes
could be confusing or lead to extra problems.

That is what I worry about.
> Perhaps the GUI should be designed in a more different way.
>
> The dropbox could have the usual options on one hand, with automatically
set layer-checkboxes, which are grayed out, and on the other hand a user
defined option, where the user can define all the checkboxes manually.
> This needs then 3 extra checkboxes in the layer group:
> F.Cu
> Inner.Cu
> B.Cu
>
> The Options in the drop down could be:
> F.SMT
> B.SMT
> THT
> User defined

Could you make a graphical mockup?

> BTW, I think, if one has set up the whole development toolchain for
KiCad, this is a work of max. one hour.
> Is there somewhere a goot tutorial, on how such an environment should
look like?

There are some guidande on the dev space on kicad-pcb.org. Normally I just
use my favorite editor and make on commandline. Jump on #kicad@freenode to
get help from the casuals there.

You do not need a wild setup with any specific IDE, only if you want to.

> There are many little things I would like to improve, but I have no idea,
where to start from on setting up the development environment.
> As one can see there (
http://www.zeilhofer.co.at/wiki/doku.php?id=kicad_2014#kicad_sheet_rearranger
or there https://github.com/KarlZeilhofer/kicad2csvbom) I am willing to
write some code, which helps the KiCad user.

Don't hesitate to join IRC.

>
> Kind regards,
> Karl
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1426756
>
> Title:
> footprint editor: on bottom SMD pad, wrong paste and mask
>
> Status in KiCad EDA Software Suite:
> New
>
> Bug description:
> When I place a bottom SMD pad in the footprint editor, then the
> corresponding mask and paste layers are not changed automatically to
> bottom layer.
>
> with the current layer rendering this isn't visible to the user in
pcbnew.
> I discovered this bug only in the 3D preview.
>
> perhaps the technical layers could be automatically selected with the
> corresponding copper layer.
>
> Application: kicad
> Version: 0.201501280107+5391~20~ubuntu14.10.1-product Release build
> wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC
4.9.1,wx containers,compatible with 2.8)
> Platform: Linux 3.16.0-29-generic x86_64, 64 bit, Little endian, wxGTK
> Boost version: 1.54.0
> USE_WX_GRAPHICS_CONTEXT=OFF
> USE_WX_OVERLAY=OFF
> KICAD_SCRIPTING=ON
> KICAD_SCRIPTING_MODULES=ON
> KICAD_SCRIPTING_WXPYTHON=ON
> USE_FP_LIB_TABLE=HARD_CODED_ON
> BUILD_GITHUB_PLUGIN=ON
> KICAD_USE_WEBKIT=ON
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/kicad/+bug/1426756/+subscriptions

Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

Dear Nick,

you can find a mockup (I didn't know, that this is really a technical term, I thought it's slang ... :) ) here:
http://www.zeilhofer.co.at/wiki/doku.php?id=kicad_blueprints&#layer_settings_in_footprint_editor

greets,
Karl

Revision history for this message
Sven D (sven-d) wrote :

Why do you have an inner layer? I don't know pads on inner layers. A pad is on the front or bottom layer.

For a pad on the bottom layer, is a Mask or Paste on the front layer useless.

In the module file the pad has a list with layer, which should be displayed. A * define both layers.
  (pad 1 smd rect (at 0 0) (size 1.524 1.524) (layers *.Cu *.Paste F.Mask Dwgs.User))
  (pad 2 smd rect (at 0.2 -1.85) (size 1.524 1.524) (layers F.Cu F.Paste F.Mask))
  (pad 3 smd rect (at -2.5 -1.2) (size 1.524 1.524) (layers B.Cu B.Paste B.Mask))

I think the user can select the front, bottom or both layer. Then select the Adhes, Paste, Silks or Mask for the desired layer. See the attached GUI design mock.

Revision history for this message
Karl Zeilhofer (zeilhofer) wrote :

Thank you Sven for your contribution.

Sounds good. I also wondered, what's about the inner layers.
For a THT pad, the inner layers have the same shape as top and bottom, right?
But for an SMT pad, which should perhaps be on both layers (for example an arduino shield template with SMT pin headers) there must not be inner copper, since it is SMT. I don't know, how the DRC handles such a "pad", which then consists of 2 isolated copper pads, which must be connected externally.

In your scheme it is not possible to place a pad without a copper layer, right?
This is perhaps needed for adhesive in the middle of a resistor.
Or some solder trap next to a pin row in the ground-plane for wave-soldering. I have no Idea, what the engineers all want to do...

But it should be as simple as possible for the most common cases. That's why I proposed the SMT front/back and THT...

How do you think about it?

Revision history for this message
lsmod (forum+ubuntu) wrote :

Please have a look at this bug: https://bugs.launchpad.net/kicad/+bug/1476551

Is it possible to correct the pads when the properties for the mask are wrong?

I mean to alter all of them and not edit it one by one in the frontend.
That is not possible for hundreds of pads.

Revision history for this message
lsmod (forum+ubuntu) wrote :

I have found a solution:

For this open the file.kicad_pcb with an good text editor.
Then make search & replace with: search "*.Cu *.Mask" and replace with "*.Cu *.Paste *.Mask".
All through-hole pads will then be in the Mask layer.

Revision history for this message
dedarken (liubenyuan) wrote :

I have similar problem.

I place 6 C_1210 on the back (where in this footprint, F.Cu, F.paste, F.mask are activate), when I plot b.paste, these is only a blank box. It seems that F.paste do not auto switch to B.paste in kicad_pcb.

Revision history for this message
Nick Østergaard (nickoe) wrote :

@dedarken, I don't understand what you mean. Could you create an annoted screenshot?

Revision history for this message
Jeff Young (jeyjey) wrote :

It seems odd that anyone would design a component for the back side of a board. A component designed for the front can easily be flipped to the back, and all these issues will be handled for you (as well as mirroring the layout).

That being said, the "this pad is flipped" warning is in an odd place, and messes up the layout of the Pad Properties dialog. I do think we should fix that, but I can't see applying some heuristics when they change the copper layers -- we're just not going to get it right often enough.

Revision history for this message
Jeff Young (jeyjey) wrote :

I'm not sure whether this merits inclusion in 5.0 or not, but patch attached.

Changed in kicad:
status: New → Confirmed
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

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

Changed in kicad:
status: Confirmed → Fix Committed
Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Jeff, I merged your patch. Thanks. For cosmetic changes like this, I'm not too concerned about anything breaking so these can be merged any time before the v5 release. If you completely rewrite how the dialog functions, then that would prevent it from getting into 5.0. I did notice a few other issues with this dialog. It would be nice if the first four properties in the general tab lined up with the rest of the properties in the same column. Also, for some reason the window style is set to a sunken border which should probably be removed since most of our dialogs do not have this option set.

Revision history for this message
Jeff Young (jeyjey) wrote :

@Wayne, I did another round of clean-up. I handled to the two issues you brought up, fixed the “drill” vs “hole” issue [see bug report below], simplified the visual complexity further, and fixed touchpad panning in the dummy pad view (the last one is a low-risk one-liner).

I attached it to https://bugs.launchpad.net/kicad/+bug/1684376 <https://bugs.launchpad.net/kicad/+bug/1684376> since it fixes that bug.

> On 8 Feb 2018, at 18:32, Wayne Stambaugh <email address hidden> wrote:
>
> @Jeff, I merged your patch. Thanks. For cosmetic changes like this,
> I'm not too concerned about anything breaking so these can be merged any
> time before the v5 release. If you completely rewrite how the dialog
> functions, then that would prevent it from getting into 5.0. I did
> notice a few other issues with this dialog. It would be nice if the
> first four properties in the general tab lined up with the rest of the
> properties in the same column. Also, for some reason the window style
> is set to a sunken border which should probably be removed since most of
> our dialogs do not have this option set.
>
> --
> You received this bug notification because you are a member of KiCad Bug
> Squad, which is subscribed to KiCad.
> https://bugs.launchpad.net/bugs/1426756
>
> Title:
> footprint editor: on bottom SMD pad, wrong paste and mask
>
> Status in KiCad:
> Fix Committed
>
> Bug description:
> When I place a bottom SMD pad in the footprint editor, then the
> corresponding mask and paste layers are not changed automatically to
> bottom layer.
>
> with the current layer rendering this isn't visible to the user in pcbnew.
> I discovered this bug only in the 3D preview.
>
> perhaps the technical layers could be automatically selected with the
> corresponding copper layer.
>
> Application: kicad
> Version: 0.201501280107+5391~20~ubuntu14.10.1-product Release build
> wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.1,wx containers,compatible with 2.8)
> Platform: Linux 3.16.0-29-generic x86_64, 64 bit, Little endian, wxGTK
> Boost version: 1.54.0
> USE_WX_GRAPHICS_CONTEXT=OFF
> USE_WX_OVERLAY=OFF
> KICAD_SCRIPTING=ON
> KICAD_SCRIPTING_MODULES=ON
> KICAD_SCRIPTING_WXPYTHON=ON
> USE_FP_LIB_TABLE=HARD_CODED_ON
> BUILD_GITHUB_PLUGIN=ON
> KICAD_USE_WEBKIT=ON
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/kicad/+bug/1426756/+subscriptions

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.