I just tried KiCad v5.1.2 from the PPA and am quite disappointed with the lack of Legacy canvas/toolset.
Aside from never upgrading past v5.0.2 - what options do I have to fix the issues this presents me?
I normally use Legacy 80% of the time and OpenGL 20% only when I want push/shove routing.
There are several problems with the OpenGL canvas/tools which I do not like;
Top-side silkscreen and component outlines no longer appear above back-copper layer. I find this annoying as I want to be able to see everything when laying out a board - it makes it easier visually. I can only get these to show if I select a top layer - but of course this is no help if I want to edit the bottom layer at the same time. Is there any way to change this?
The track/via clearance display shows a solid grey fill when routing or editing. I much prefer the wire-frame style of Legacy - again - it makes it easier to see what one is doing.
Certain editing functionality seems lost in OpenGL mode. I cannot delete track segments with delete key just by hovering over them. I canāt drag components and have the tracks auto-extend or shrink to follow.
I often like to route tracks that slightly violate DRC or come very close to it (I fabricate my own boards and prefer minimum 0.5mm clearance but donāt mind pushing it if things get tight)
This is very easy in Legacy mode. I disable DRC with the toolbar button, and can cram things in wherever I like. The wireframe track clearance display makes it very easy to see what Iām doing and just how close Iām getting to something
Howeverā¦ In OpenGL mode, this is basically impossible. Not just that having an opaque track-clearance display hides my ability to eyeball how close I am to another track etc, but the worst part is that the routing engine in OpenGL mode refuses to let me route tracks too close even with DRC turned off. It will let me violate DRC but not in a āfineā or āpreciseā way. The router tries to snap the track here and there and refuse to let me put it where Iām clicking, even when choosing āHighlight Collisionsā only. Itās infuriating.
Iām hoping someone can suggest ways to deal with these issues, but on the other hand, I have no real problem with never upgrading past v5.0.2 eitherā¦
The legacy canvas had no layer ordering! It used a special deprecated render engine called xor rendering which means all layers got displayed at the same time and any layers that overlapped got bitwise xorded in the framebuffer. Such a rendering is not supported by hardware and therefore quite CPU intensive. (Not a problem in the past as kicad was quite basic. But not compatible with the increasing complexity of the interactive router.)
The new canvases use opengl (or cairo) rendering engines which both offer transparency for layers. The default setup does however not make use of it so you need to change the layer colors manually to get transparency.
And a sidenode: I personally never diplay silk on design time as that layer has too many restrictions from a manufacturing point of view. I use the fab layers exclusively to tell me the component size and references. (i disable visibility of values as well as i do not care about them at design time.)
Yes you can. Unless you changed the hotkey or are still in track mode. The interactive router is quite powerful so there is seldom the need for manual deletion while routing. It automatically deletes old segments if you replace them with new ones.
Then allow drc violations and use the highlight collision mode.
Or the proper way: setup DRC correctly as what you are doing is quite dangerous.
I see, I was originally a Linux user as the V4 Linux versions seemed far more stable than on Windows, but since V5 I mainly use Windows as most forum questions are for this OS and I find both are nice and stable these days
I have got used to OpenGL and seldom go back to Legacy. The problem you point out can be avoided with transparency.
Click on the colour selector square box of a layer and set the Opacity and Colour to match your preferences. In my case, I set opacity to 45% for most layers, but it is a personal liking.
1). Totally agree here. the way transparency is handled sucks. I like to see some silk screen (or fab) layer while drawing tracks to keep orientation, but those layers always get pushed to the ābottomā. I have been fiddling with transparency settings Which you have to do manually! (NO transparency if you donāt change the settings yourself !!!), but if you set transparency, everything gets a bit vague and greyish and blend into each other. This can be partly remedied by upping the brightness / saturation at the same time, but it is a lot of fiddling with settings I do not want to fiddle with. Transparency can (and should!) be handled much better, but Iām not exactly sure how.
At the moment the āactiveā copper layer gets pulled to the front. I think it would be much better if the active copper layer is pushed to the bottom (or at least below itās corresponding copper layer) and always be 100% opaque, and other layers painted over it with a high transparency. I would also like to be able to pin layers (such as silk screen or fab) to the front to have more reference points while laying tracks.
2). Gosh, clearance is grey now, had not noticed this before. Get used to it. I did notice that the grey clearance has no transparency. I think this is a bug / oversight.
3). I have KiCad V5.1.0 at the moment, and when I hover over a track and press [Del], it deletes several track segments, upto the nearest T-junction. If I click on a segment and then pres [Del] it deletes only the highlighted single segment. With āuā and āiā you can change the currently highlighted section (before deleting). This works pretty good for me.
4). Allowing DRC violations is something I do not feel comfortable with, but I understand the wish to be able to do it for simple homebrew PCBās. A partial solution is to use: āPcbnew / File / Board Setup / Design Rules / Tracks & Viasā and then add a few track widhts there. You can then increment or decrement from that list while laying tracks. This can only change the track width, not the clearance setting. Another partial solution is to edit the clearance settins of individual pads. I think it is a good idea if it were possible to change clearance settings (or ignore clearance) for individual track segments of a track. The clearance would then be set to whatever object the track bumps into. If you like this idea, then feel free to post a bug report/ feature request on launchpad.
Yet another solution is to edit indivividual pad settings. You can simply clik on a pad, press āeā for edit and then move it a tiny bit (change X or Y position), make the pad narrower, make it oval or whatever is needed to satisfy DRC.
Wrong action
Follow eelikās link above and click on āThis also affects meā. (If you have a Launchpad account).
Itās a very new think in Pcbnew, I had not even seen the grey clearances before, and it very likely is a simple oversight and easily fixable by a developer.
In general i also think having transparency without the background darkening (and possibly desaturating) layer colours might also help. So i reported it here: https://bugs.launchpad.net/kicad/+bug/1826722
And the topic linked above also spawned this report which would definitely help: https://bugs.launchpad.net/kicad/+bug/1776369 (TlDr: requests being able to reorder layer drawing order especially between copper and documentation layers.)
If you had read my previos post youād know I seldom go back to legacy
There are some cases that setting track clearance to always show is not enough.
Usually I set the track clearance to show when creating tracks. But these settings are there to match everyoneās taste, so no one can say which option is good for others.
Yup - i why I cannot not get away from 4.0.7 yet! Some how, I feel the mental of EE designer flow not quite smooth. Event some of improved features does sometime make the work little easier.
I think being able to re-order the layers display as in a graphics editor like GIMP would be really useful, and also to pin a certain layer(s) always above the rest.
I donāt use the silkscreen layer for mechanical clearance checking so much, but more of a guideline to where components are, and which ones, such as the RefDes codes/values. Itās so much easier to think about the design when I can just see all those things at once in a glance.
Maybe some people donāt care, or they can visualise it easier, but for me, not being able to see all the component outlines and values when adding tracks makes things a lot harder.
Yes, thatās it. Although itās even worse when the clearance is defined larger. The cursor will just arbitrarily jump where it thinks it should go, ignoring many grid points, even though DRC is turned off, which in my mind, should mean that it will allow the track to go anywhere I like.
And, disabling DRC in this case actually makes things worse in a way, because in addition to not fixing the general grid snapping issue, it then WONāT snap to the center of the pad youāre trying to route to, either.
Iāve discovered that it does function how I expect, when I select āfree angle modeā but that of course is not a solution as I donāt want free angle (I still want 90/45 degree constraints), just free placement, as in legacy with DRC off.
Iām not so worried about the colour, but the fact that itās got a colour at all. I would rather the clearance be a wireframe outline as in Legacy, or at least have the option to adjust the transparency, preferably with the option to enabled/disable an edge outline display.
I have added my vote to the link above, for changing clearance display properties.
I could change the clearance down but this then removes my visual indication of that 0.5mm clearance that I want to be as close as possible to, for homebrew PCBs. If I change clearance to, say, 0.1mm, I can route tracks fine, but it will be easier to accidentally route them too close and Iām maybe going to get resist printing/etch issues. Being able to see the boundary of that 0.5mm clearance but at the same time slightly violate it, is the easiest way to do what I want.
If (1) the solid grey clearance outline was transparent or wireframe, AND (2) the track routing actually let me freely position the cursor over ALL grid points with DRC off (which it currently doesnāt), then it would work just like in legacy, no need to change any clearances per segment etc, which sounds like a lot of mucking around.
It would also be very useful if the bright green highlights of violated pads/tracks could be tamed down a bit, that is a big distraction. I think they should stay the same colours but just brighten up a bit, not change completely into a solid neon block that detracts from the task at hand.
Allowing DRC violations and using highlight collisions mode doesnāt work sufficiently, because the opaque grey clearance outline stops me seeing what Iām doing, and as eelik already showed in his linked video, the cursor just jumps all over the place and wonāt let you violate the DRC properly anyway.
It is hardly dangerous to slightly violate DRC (sometimes by a few pixels) on a home-etched board. Especially when the clearances are 0.5mm to begin with.
None of my boards done this way would fail the much smaller allowable DRC clearances at commercial grade board houses, and if I was designing for commercial manufacture in mind, I would of course set the clearance to whatever the board house requires and be sure NOT to violate it.
For prototypes/one-offs/DIY boards, it really doesnāt matter. In that situation I treat DRC as a guideline/soft-limit, rather than a rule. Thatās worked for me perfectly for 10+ years. Why stop now?