Do you use/like KiCad's ability to set different colors for front and back pads?


#1

I’m working on some changes to the code to simplify how visibility is managed in PcbNew and make the layers manager more intuitive to use.

One of the things I’m thinking about is what degree of control over visibility people actually want/need. I think the user interface is a bit complicated, but in my attempts to simplify it I don’t want to remove anything that people find useful.

So, to get more specific, some questions:

  1. Do you like that KiCad has different colors for front and back pads, and that those colors are settable independently of the rest of the copper layer colors? Would you mind if both front and back pads had to have the same color? Would you mind if pads had to be the same color as the copper layer they are on?

  2. Do you use the “Text Front” and “Text Back” checkboxes to quickly turn on/off all text? If so, do you expect it to affect all text objects (no matter what layer they are on) or just some layers that usually have text (for example the silkscreen)? Would you mind if there was just a single “Text” checkbox that controlled text on all layers?

  3. Do you use the “Footprints Front” and “Footprints Back” checkboxes to quickly turn on/off footprints? If so, do they behave the way you expect them to right now? Is it a useful feature to be able to turn off the footprints while leaving the rest of the objects visible (tracks, vias, etc)?

Thanks in advance for your feedback!


#2

Yes

Not really if it would make your life easier and if it would make the life for beginners easier.

I think i did not play around with nightlies that have this feature. (Or i missed it.)
But it sounds like a interesting feature. Having the front and back separate might be more useful then turning off all text. (I assume the layers that do not really have a front/back definition create problems for this feature.)

Yes. I do use this from time to time. But i would not really miss it i think. (Can’t even really remember what the exact usecase is where i use this feature.)

Nearly. But the stuff that does not behave as i expect it to behave are the “unsupported” layers (dwgs, cmts).

I got used to the fact that the render tab can only turn off stuff. It can not turn on things that are on layers that are set to invisible in the layers tab. (This might be something that is not really clear to beginners.)


#3

[quote=“craftyjon, post:1, topic:9677”]
Would you mind if pads had to be the same color as the copper layer they are on?
[/quote]Personally I prefer pads stand out a bit.


#4

Useful to find orphaned track segments concealed by the pads


#5

Good feedback, all!

Some folks on the dev list had the idea that I think is pretty reasonable, of adding some kind of “link/unlink” feature that makes it so that by default, the visibility of pads is tied to the visibility of copper, but you can override this to show copper without pads or pads without copper.

@davidsrsb when you work on one silkscreen layer, do you use the “high contrast” mode? Or do you turn off B.SilkS to work on the front, for example? What I am trying to figure out is if people use the “Text Front” and “Text Back” checkboxes in the Render settings, and if so, what they use them for.


#6

1: Yes please; pads with a different color vs assigned layer makes the part stand out.
2: I do use those text front/back on/off though not very often. (Would prefer the ability to have a custom keyboard shortcut for all those render options btw). I am not sure if an “all text” on/off would be objectionable - generally when text “sits in the way” it would probably be fine to turn it off both back and front. But since we have the feature now, why take it away?
3: Yes I do use the footprint on/off also but again not too often. As @craftyjon says; it comes in handy to find left over track parts.

To the link/unlink feature: that feels clunky to me. I would rather have the ability to create some sort of workspace/macro with assignable name and keyboard shortcut that controls visibility/color etc. across all existing settings. That would allow us to set up focus for any layer and any aspect we’d be interested in. The names of the assigned workspace/macro can help to determine where/when in the entire PCB development workflow you’d use it. (Sorry to add to the wish list)


#7

I usually work with silkscreen one at a time front and back with the matching copper layer. I am positioning silkscreen text to not be under a part or on a pad or via

I don’t use high contrast mode.

I do sometimes change transparency to see through the front copper layer(s)

I would find a default of pads different to tracks very confusing. I started off in the days or red and blue crayon on film


#8

Whoa. This is a can of worms that you’ve opened.

First to answer your questions:

  1. I don’t really use this feature, but I can see the sense behind it and I might try it (probably same colour, but different opacity). For this purpose I use “Show * in outline mode”
  2. No I don’t use Text from and text back, so I would not mind any changes here
  3. No I don’t use Footprints Front and Footprints Back.

And some additional info:

I personally come from OrCad Layout where the main feature that I miss is that Layer/Render settings are not linked with KiCad shortcuts. I’d link them to numbers (e.g 1-F.Cu, 2-B.Cu, …). Also coming from there my thinking is more along layers than items. Thus when I turn off F.Cu I would expect to hide complete F.Cu including pads on F.Cu. And if I need to turn off text I turn of all text layers instead of using render settings.

Don’t get me wrong I think it is great that KiCad supports at least two paradigms when setting visibility (per layer or per item type), but a little refinement of the system would be really great.

Otherwise. I’ve never used:

  • Render/Through Via
  • Render/BL/Buried Via
  • Render/Micro Via
  • Render/Non Plated Holes
  • Render/No-Connects (I think that this one does not even work)
  • Render/Anchors
  • Render/Footrprints Front
  • Render/Footrpints Back
  • Render/Values
  • Render/References
  • Render/Worksheet
  • Render/Grid - this is duplicated on the left toolbar

#9

I want front and back pads with different colors. Sometimes I have two identical footprints at the same position on front and back layers, so different colors are needed.

Yes. And not only for silkscreen texts. I also have F.Fab/B.Fab texts and hidden texts that I like to turn on/off.

Yes to all. The behaviour of 4.0.7 is ok.


#10

I missed that when i made my first answer. Front and back pads should be in different colors.
If you have a pcb with components on front and back you will have overlapping pads. It will also confuse users that things on different layers have the same color.

If there is no way of keeping the current feature set and clean up the render tab, then i would say make them the same color as the rest of the copper layer they are on.


#11
  1. Yes, this helps on PCBs with components on both sides where those footprints overlap.

  2. Use it sometimes on crowded PCBs when i switch off everything on the backside.

  3. Use it often, keeping the tracks of the other layers visible.

Is there a quick option to hide everything except the layer i’m working on or even better is it possible to switch beteen some layer presets?


#12

Or a shortcut to hide everything and then working on one layer only requires a lot less clicks


#13

There are two features from other EDA suites that I plan on bringing to KiCad for the 6.0 cycle that are relevant here.

First, I want to make the “high contrast” mode a 3-way toggle like Altium, that cycles between Normal, High Contrast, and Solo. In Solo, all other layers are hidden but the active one. This will also get better hotkey support.

Second, I want to add a system to save display schemes (meaning visibility, color, outline, etc) and quickly restore saved states. This is present in one form or another in Altium and Mentor Xpedition (and probably other tools).

For the 5.0 cycle, we will try to fix the most confusing/inconsistent parts while making minimal code/behavior changes.


#14
  1. Yes, I like that the pads are different colours for front and back pads. I also would vote for a brighter version of the basic layer colour for pads, as @hermit said, to make them stand out more.

  2. I get rid of the Values and leave the refs in place - it de-clutters the screen especially if density is tight. I switch all text off occasionally to further de-clutter if I’m doind a tricky routing and then switch Refs back on again.

  3. Very useful so you can, at a glance, see whether all pads connected to GND on a plane have a clear path to GND (no islands, then), for example.

One thing I really do like about the new OpenGL canvas is the “live” DRC checking - see a flash of bright green and you know you have to think again about that particular way through. What I would like to see, though, to make that even better would be to highlight (bright blue, perhaps? Yes, yes, yes, I used to use ExpressPCB, but don’t hate me…) when you start to lay down a track, all the other pads that should be connected to it. You can see at a glance the best way to route efficiently. At the moment, you can highlight a net, but it’s in a slightly paler yellow (on legacy) or everything else dims down to 50 shades of grey (OpenGL), and difficult to see - a contrasting colour would make it absolutely crystal… unless I’m doing it wrong? Is there a way to set the net highlight colour to something else that I haven’t found?

{Edit} - Hahahaha - just ignore the last of my ramblings… it doesn’t get much more high-contrast than white, does it, when you start laying down a track in OpenGL mode? I figured out why I thought this, though - PCBnew had some kind of mini-crash last night, where some things worked, others didn’t. I just tried it again and all is well. I’d still like to see the ability to choose colours for various things, though?{/Edit}

Cheers


#15

@craftyjon, for the Solo mode (v6.0 cycle), will dynamic DRC flag up if you try to push a via through a track or via on another layer?


#16

Yeah I was thinking about it just as a visual display mode, not affecting DRC (which should have a separate toggle for modes like off, avoid errors, push/shove, etc)


#17

@craftyjon, I don’t think push/shove would be a good idea… what if it was a differential pair, for example, or you had reserved some space for inserting more tracks on another layer and you ended up inadvertently eating into that space? On a tightly-packed board with more than 2 layers, you could end up affecting lots of things on multiple layers that would all need to be re-routed. It’s an option, but not one that I would be using, I feel.


#18

I think the editor should have multiple DRC modes depending on the user’s preference and the stage of the design. Have you used Altium or any of the higher-end commercial tools? They all work like this, letting you quickly cycle between “ignore DRC”, “avoid DRC” aka “hug”, “push”, etc. Of course these tools also let you lock tracks, which prevents them from being pushed, which is typically what you do after routing high-priority tracks like diff pairs.


#19

Understood - good points. I’m new to KiCAD… new to grown-up circuit design packages, period. It’s a steep learning-curve :slight_smile:


#20
  1. Yes, I definitely want different colors for front and back pads . . . just like I want different colors for front and back traces. And, I’d prefer the pad colors to be obviously related to the trace colors of their associated layers. E.g., make the pad color either a muted, or highlighted, version of the trace color on the same layer. I’d like to be able to easily recognize where the pad ends and the trace begins, especially when I’m placing silkscreen objects.

  2. Yes, I often turn text “OFF” to reduce the visual clutter while routing traces, or occasionally while placing components. I definitely want to control the visibility of text on the silkscreen layers . . . . don’t think I need independent control of Front and Back silkscreen (I’d probably work on only one silk layer at a time, and turn the other “OFF”. As for the other layers (Fab, Courtyard, Dwgs, etc) I’d probably turn the whole layer “OFF” rather than try to turn “OFF” just the text on that layer.

  3. Like others mentioned, I occasionally turn footprints “OFF” on a layer to get a better idea of how tracks are routed, or how a zone has been filled. On rare occasions I have turned “OFF” the footprints on one layer while working on the opposite layer; this helps me visualize things like best via placement, crosstalk between traces on different layers, etc.

Dale