KiCad 6: Just published my BIG *preview* review

Feel free to do that. I don’t have any good website or anything else, so the profile is OK.

One of the most prominent uses will probably be local area rules, for example narrow track width/clearance near a BGA. In the Syntax Help in Board Setup -> Custom Rules x.insideCourtyard('refdes') is used, but it can be a rule area and x.insideArea('rule_area_name').

No, it’s in the “ff-exception” list, scheduled for 6.0. For the exception lists see https://gitlab.com/kicad/code/kicad/-/merge_requests?label_name[]=ff-exception and https://gitlab.com/kicad/code/kicad/-/issues?scope=all&utf8=✓&state=opened&label_name[]=ff-exception. (Ff stands for feature freeze.)

Nah, I think the most important are here, except the Altium import. You have to start eeschema and pcbnew in standalone mode to use it because it doesn’t import projects, only files.

I may still add some smaller ones.

1 Like

It got easier to work without schematics, “drawing” PCB has been requested many times before.

2 Likes

OK, still some new features…

  • In pcbnew items can be grouped together, context menu -> Group. Then they can be moved only as a group.
  • Locking different kinds of items works now. In v5 even track locking didn’t work properly, and graphics couldn’t be locked at all. (Locking means locking the placement and existence.)
  • You can see some board statistics from Tools.

The very long thread Post-v5 new features and development news is still worth reading through (if you haven’t done so already), although the information about each feature may be outdated (announced when the initial version of the feature was introduced). It has links to further discussions. If you can take time to go through it, it can work as a checklist. All important features are at least mentioned there and also many small ones.

https://kicad.org/blog/categories/Development-Highlight/ has also some highlights (as the tag name implies).

The new settings system is something I forgot. It’s a major change under the hood. Important for those who are curious enough to try the development version along with the stable one: 5.99 has its own configuration folder and doesn’t interfere with v5. On Windows the nightly installer was recently changed so that 5.99 installation is completely separated from v5 installation. When post-v5 development was started it required hacking. Now it should be safe to recommend trying v5.99 without hassle as long as the projects opened with it are copies, not originals.

Here’s still one list, fulfilled feature requests for v6:

https://gitlab.com/kicad/code/kicad/-/issues?label_name[]=feature-request&milestone_title=6.0+Feature+Freeze&scope=all&sort=weight_desc&state=closed&utf8=✓

That’s ordered by weight and has old requests inherited from the old launchpad tracker on top. Ordered by thumbs up it has mostly new requests on top:

https://gitlab.com/kicad/code/kicad/-/issues?label_name[]=feature-request&milestone_title=6.0+Feature+Freeze&scope=all&sort=popularity&state=closed&utf8=✓

Both orders show what users have felt important.

4 Likes

Necessary and very nicely done.

1 Like

The infobar! People don’t like messages dialogs which interrupt the workflow, so some of them have been replaced by an infobar message and some situations which would have been cryptic without any information are now noticed. See an example in Library is not writeable (custom) SOLVED.

Or choose a read-only layer color theme for pcbnew and try to edit layer colors:

2 Likes

I believe this article can be an useful summary. I’ve just started reading it and I’ve seen you mention a few times:

KiCad 6.0 is expected to arrive in the second quarter of 2021

Don’t know if it’s a typo or too much optimism, hehe!

My impression after reading Yet another release date 6.x question is that it could be closer to the end of the year. Anyway, there’s no guarantee and it will be ready when it’s ready.

2 Likes

At the moment I would guess the third quarter, seeing the pace of development. Again: please, everyone, test and report the issues. It will make it quicker.


https://www.eevblog.com/forum/kicad/kicad-6-is-coming!/ (which is about this article).


In the project view there’s Save As for project. Many users, including me, have thought it should have been there already in earlier versions.

KiCad developers have been very busy and delivered an impressive number of improvements since last major release, including some internal reworking, but all that new code will take a while to polish.

An effect I recently noticed is that when a new release seems imminent, users take the opportunity to try it out and give feedback, so the rate of new issues goes up several notches. Most of these are as-designed, duplicate, wish list, but a significant few reveal bugs or UI improvements.

Looking at the burn-down charts (which I don’t think are public), they are headed in the right direction but probably not as quickly some hope (ie. situation normal :)). There is also the pandemic which is messing up a lot of plans. I think “sometime this year” is still in the ball park.

3 Likes

That’s true, and that’s why I’m going to repeat every now and then: please test and report (early).

`x.insideCourtyard('refdes')` is used

Is the 'x' here a coordinate or some other object? Thanks to both of you, @peter-dalmaris and @eelik, for your enlightening conversation!

1 Like

X means any item which is tested against the rule. It’s just a random name. In one rule all X (or A or foobar or item…) are the same. If I want to set minimum clearance between any via and any track (of different nets) I would write

(condition "A.Type=='via' && B.Type == 'track'")

Here we have two different items, a via and a track. Inside one condition every A is the same, so

(condition "A.Type=='via' || A.Type == 'track'")

would mean that the item is either a via or a track.

The UI has Syntax Help link in the Board Settings -> Custom Rules page. You can also try to learn something from Need some guinea pigs for a rule-based DRC <<PROTOTYPE>>. Unfortuntately older posts aren’t up to date, it shows the changing situation with syntax and features.

1 Like

Yes, I’m probably optimistic. I’ll ad an “or third quarter” in the article.

Hello!
Thanks for the review, it’s very useful for people in a hurry I think. That said, I didn’t read in detail…

I noticed something here:
“In the right screenshot, I have selected the “All Copper Layers” preset.”
On my screen, the “all copper corners” displays on the left.

By the way, I would like to try it. I have setup a virtual PC on my linux box.
Now I would like to download Kicad 5.99. The link you provide points to github.
Is there an installer package somewhere? I don’t want to mess with compilation.
I checked the nightly builds, but it’s labeled kicad-r20448.0a1a5ea669-i686.exe
so the version is unclear.

Thanks for any hint!

1 Like

That’s a document that will be useful!
A very good idea Peter, thanks for initiating it and thanks to all that have contributed.

2 Likes

Thank you, I have fixed right --> left (always confuse those two).
To install KiCad nightly build on Ubuntu, check out the instructions here.
No need to download anything manually. Use the command line to set the correct nightly repository, and use apt to install it. Also update every couple of days (instructions in the article).

Hi all,

I have spent the last two days updating the article.

There’s still work to do, but want to:

  1. Let you know there’s a lot of new content as suggested by the contributors in this discussion topic.
  2. To thank you for helping me make the article as complete as possible.

More to come in a few days.

(EDIT: maybe it was some cache issue, now the article has changed.)

I tried to find the changed bits but don’t find any with quick reading. Are you sure the web page has been updated?

BTW, you have an error WRT backannotation:

For example, if you add a footprint that is not represented in the schematic, you can simply use this function to import the symbol for the footprint to the Eeschema editor.

You can’t add a symbol for a footprint in Pcbnew. All footprints added in Pcbnew will be only in the layout.

What backannotation also can’t do is reassign nets or change connections. It can only rename existing nets. (That’s not a problem in the article, but I tell this just for clarity. One can wish that all changes could be made in the layout and propagated to the schematic, but that would be much more difficult and would require basically duplicating some of the functionality of the layout editor in the schematic editor.)

Hey, now I can see some changes.

Interactive Delete: There’s a tool button for it in the bottom of the right hand toolbar, both in eeschema and pcbnew. (You implied there’s no button.) You can assign a hotkey for it in Preferences.

BTW, one change after v5 is that there are much more functions which can have a hotkey or shortcut. Just search in the list. I haven’t compared but the list may have been doubled or tripled. (EDIT: I tested with Help->List Hotkeys dialog. In v5 it takes 10 Page Down presses to scroll down the list of pcbnew hotkeys. In v5.99 it takes 30.)


In Board setup section: “eeschame”. For some reason that’s a common mispelling, I do that sometimes, too. What a schame. :slight_smile:


One thing worth mentioning about text replacement variables in footprints could be that all symbol and sheet variables are available in footprints, as well. You can for example add a new field MPN to a symbol in the schematic. Then update the pcb. Modify the footprint in the board, adding a text field:

image

And you will have the manufacturer part number visible in the Fab layer.


It’s great that you’ve got even instructions for reporting bugs. A smallish detail: videos can be uploaded and attached directly to the report. That’s the recommended practice because external links tend to deteriorate and may have other problems. All reports should be as self-contained as possible, although links to background information is OK.


The most important component “under the hood” change in KiCad 6 is the schematics and layouts’ file format. My understanding is that work there is complete. This means that any work you do has good chances that will be readable by the official KiCad 6.0.

Work there isn’t quite complete, although the final v6 should be able to read the files created and edited now. We are still waiting for curved polygons which requires a file format change in the pcb file format. When that’s introduced and you use curved polys the file won’t be readable by older nightly builds. Bugfixes are also theoretically possible. One unplanned change to file format lately was a fix which also introduced a new feature; you can see the history here.


With curved polygons there should come also a (significant?) UI change, namely “constraint manager”. It’s basically continued work from before v5.1 which was introduced in the fund raising campaign back then and in its old form can be seen shortly in the donation campaign youtube video (“improved drawing tools”). I hope they get it ready this time. :slight_smile: In the merge request Seth mentions “work package” which possibly means it’s outsourced as a paid job.

Curved polygons and its editing system should make creating and editing complex board outlines much easier. In v5.1 you have to use separate straight lines and arcs. Drawing them is something from easy to difficult, and editing is always painful because you have to move and edit several lines if one is changed. And making and keeping it continuous was sometimes impossible. So, when these features are merged in, pay attention to them.


In my testing, I found that the fillet function only works with 90-degree angles.

In my testing 45-degree angles work, too.

Fillet editing (for existing fillets) was enhanced recently, see Post-v5 new features and development news for explanation and a video. It’s a big enhancement, although doesn’t do push&shove.


Ha ha, I’ll be fixing that (and everything else) tomorrow.

Thank you again, you’re a goldmine of KiCad knowledge!

1 Like