KiCad 5.1

Have you tried it for real? Going through all the forks to find THE line of code you want to change/fix? I did it once, with a different piece of software: never again!

Well, yes. With Kicad even. When I started using it (4.0), it didn't work with trackpads on Mac. So I fixed it. Hey, that was sort of fun, so I fixed some more bugs. In stuff I didn't even use.

One thing led to another and I rewrote large chunks of the UI for 5.1. Eeschema editing tools, zone filler and DRC for 6.0.

GitHub tells me I've now made over 3,700 contributions to the project.
 
Looks really nice what one can do with Kicad, it has come a long way, I am soon going to assemble a new computer and can thereafter finally install more SW so am looking forward to get my hands on Kicad, I am just wondering when will they release version 6, my worries is that it seems like Kicad have changed a lot between every generation and being new to Kicad and have to go through the hurdle learning all the new things to get a PCB done with it I'm wondering whether I should wait for version 6 as it seems to be round the corner so I don't have to relearn from version 5?
 
Well, yes. With Kicad even. When I started using it (4.0), it didn't work with trackpads on Mac. So I fixed it. Hey, that was sort of fun, so I fixed some more bugs. In stuff I didn't even use.

One thing led to another and I rewrote large chunks of the UI for 5.1. Eeschema editing tools, zone filler and DRC for 6.0.

GitHub tells me I've now made over 3,700 contributions to the project.

Well, congrats & thanks from a (novice and reluctant) Kicad user.

Just curious: do you guys have some sort of common guidelines regarding UI? It appears, to me at least, each module has its own "personality". So each time I change from lib to sch to pcb, I need to recite a large portion of my library of profanities. :)
 
Just curious: do you guys have some sort of common guidelines regarding UI? It appears, to me at least, each module has its own "personality". So each time I change from lib to sch to pcb, I need to recite a large portion of my library of profanities. :)

Some of that is because we had to do major overhauls on the modules one at a time. I think you'll find the differences far less in 6.0. (And any differences that remain should be logged in GitLab so we can get around to fixing them too.)
 
Some of that is because we had to do major overhauls on the modules one at a time. I think you'll find the differences far less in 6.0. (And any differences that remain should be logged in GitLab so we can get around to fixing them too.)


Since you contribute to KiCAD, I hope that most plugins are implemented in the software itself, not sure if you share similar thoughts. As you already know, python 3 is on the way into the nightly builds, also still the software needs more solid BOM implementation.



Nigel, if you have watched Robert Ferranic Altium videos, you will notice that he has never mentioned automatic components placement on the PCB, IMHO, each PCB is a special case by itself.
 
Nigel, if you have watched Robert Ferranic Altium videos, you will notice that he has never mentioned automatic components placement on the PCB, IMHO, each PCB is a special case by itself.

I have found the component placing in some projects absolutely critical to getting a small routable pcb. Yes each pcb is different and thats why I allow "movable" and unmovable" components on "edge" of pcb components

One autoplacer I use a lot is the "swap autoplace" which swaps two components if that improves sum of net lengths. It is a recursive function that tries all possibilities
It has on a few occasions fixed a pcb that wouldn't route into a set size.

Anyone can place components on a small pcb, its a piece of cake but on a larger pcb it is just unmanageable by a human.

In 2000 we put out a pcb to pcb guy who said our pcb couldn't be done unless it was huge due to "push and shove aside" router.
So brought it back in house and my auto-placers fixed it in no time.
 
One big advantage to free software is that other people can work on a project without having to pay big money. It's the same reason I like LTspice. If I send a simulation file to a colleague or a friend, they're able to open it, and there are no concerns of "how many people can use XXX software at once".

Nigel, the reason that KiCAD has had the success it has is that it has the size / stability that comes from a big project without the awful licensing issues. The concern that my workplace has always had with smaller PCB layout tools is that if the one guy who's developing it quits/dies/other, we're out of luck and in many cases someone may have to re-design a previous project. That's not a position anyone wants to find themselves in, but I've had to deal with it before and it's extremely frustrating.

I understand your frustration with the effects KiCAD has on the market. If it's got Altium worried, then small software companies are surely in much bigger trouble. Keep in mind, however, that it is largely a pet project from several large donors- CERN being the big one. It's really no different from companies like Audodesk releasing something like Fusion360 or Analog Devices / Linear Technology releasing something like LTspice or TI releasing TINA. The main difference is that the development platform behind KiCAD is different. It's big enough we can trust it to exist in 5 years (or if it doesn't, someone will write code to deal with old files), but it doesn't have the big licensing issues of Altium.

And there are certainly some issues with KiCAD. Repeated features are a huge PITA, for example. I am not bothered by the large number of features and I don't find it to be bloated. There are lots of features, but they all have a use. What I'm laying out (mostly audio type stuff) is quite different from someone laying out a 16 layer digital board or a 2-layer microwave board. KiCAD is a fairly organized project that is mostly developed by people who use PCB layout tools on a daily basis.
 
Well, yes. With Kicad even. When I started using it (4.0), it didn't work with trackpads on Mac. So I fixed it. Hey, that was sort of fun, so I fixed some more bugs. In stuff I didn't even use.

One thing led to another and I rewrote large chunks of the UI for 5.1. Eeschema editing tools, zone filler and DRC for 6.0.

GitHub tells me I've now made over 3,700 contributions to the project.

Huge thanks for that, each update has been a pleasant surprise in terms of functionality improvements.
 
One autoplacer I use a lot is the "swap autoplace" which swaps two components if that improves sum of net lengths. It is a recursive function that tries all possibilities
It has on a few occasions fixed a pcb that wouldn't route into a set size.
Smart auto placing can be useful. The challenge is avoiding it carefully putting all the decoupling capacitors in a tight group in the corner. You have to be able to give a "weight" to each segment of the net, not just the whole net.
 
I am probably trying to shut the door long after the horse bolted.
I was doing Ok with my software on ebay until December 2017.
Then all of a sudden a software business hit ebay with about 140 listings of various CAD packages costing from £4 upwards.
Just killed it dead.

Also EasyPC sold an old version of their software to RS Components who gave it away, I think it was called Design spark.

I still sell the odd copy of mine. I have occasionally been told by a buyer KiCAD (or some other software package) is better than mine
If they are so good why did they buy mine !
I also get the odd idiot who thinks they can buy mine for £4.45 when they really need Eagle or similar which is a few hundred quid.
There are some serious optimists out there !

Or I get "it doesnt work like Eagle" Well of course not, its not Eagle !
It works like EasyPC which I bought in about 1990 and was buggy so I thought I could do better. I copied a lot of the short cut keys from EasyPC.
 
I used to use Eagle back when it was free, but ultimately I decided that KiCAD was a more usable package. The value of KiCAD is that it has gotten to the point where it can almost compete with Altium, without the BS of dealing with Altium as a company.
 
Smart auto placing can be useful. The challenge is avoiding it carefully putting all the decoupling capacitors in a tight group in the corner. You have to be able to give a "weight" to each segment of the net, not just the whole net.

The swap autoplacer doesnt do that but the "auto-autoplacer" might.
But its unlikely as the decoupling capacitors are also closely connected to an IC usually so they would be "attracted."

Swap auto placer recursively swaps two components of same type and if it improves net lengths then keeps the change otherwise swaps them back.

Swap autoplace really comes in on medium to large sized pcb's.
The swap autoplace function uses a "factorial" array so it can try all possibilities. This is where software excels whereas for a human to do that would take forever.
 
The problem with auto-place is having the tool understand what is the function of each component for optimum placement.
I can use a few examples, bypass caps and source series terminators.
With the cap, you want to associated it with the power pin on an ic functioning as a de-coupling cap. It can have a few rules to assist its placement like, side, stub length, via usage, type etc. Does a tool exist to this day to deal with this situation?
The source series resistor is much the same, it has the associated pin by virtue of the nets but it has a side, max stub length rule, but hey that is a net property, does the auto-placer adhere to the net length rule property?
Each design has its particular set of rules to make it work, the problem is inputting these rules to drive the auto functions effectively. I had the pleasure of using the CCT Sp55 auto-router when it was the new kid on the block, we wrote control or "do" files to control the router, some rules came over with the schematic, database translation, so we had to add in rules, to control the router. This was in the '95's, I wonder how much more improvement Cadence has made to it?
I find all this 3D stuff useless "bling" to me designing circuit boards. Managers, Coders spending time on that should give there heads a shake, spend your time on fixing bugs and making the software intuitive and easy, features to get the board done and manufacturable, these should be the priority.
Leave the 3D CAD stuff to the ME folks.
I have l used a lot of layout tools, it does not take me long to say oh boy who thought of that, why bother to change unless absolutely necessary.
It would be great if there was a neutral library format, so once you create your component, it can be used in every ecad tool, I know wishful thinking.
Back to my OrCad :)
 
I do not know the complexity of your designs nor the constraints involved to determine if your tool does or would do a proper job of it.
Swapping rules in themselves can get fairly complicated, know what can swap with what. It is a good test of a ecad tool ability, that is for sure, because in some case it depends on how you construct the components, if you are doing pin. gate and component swapping. Digital design constraints mostly, but it can apply to analog as well such as swapping parts in a LM339 quad comparator as an example.
 
I design pcb's of all sizes and topologies through hole and SMD.

The swap autoplacer only swaps identical components in its first version.

I have a more advanced version that swaps components whose sizes are identical.

At the end of the day all I can do is go by results and for me it works 99% of the time.

And sometimes its that last improvement that makes the difference between something routing or not routing.

My strategy is to take in schematic positions of components into the pcb.
Then I close them up to make pcb as small as possible as the schematic usually has associated components close together already. I then swap autoplace and then autoroute the pcb. Then I fix star grounding etc. or anything not routed.

I tried to do a similar thing with KiCAD and the bloody thing lined up all the pcb components across the top of the screen for me to place ! So failed at the first fence.

So for me KiCAD (as it stands) is unusable.

So will be sticking with mine until KiCAD pulls itself together.
 
Well I'd expect you to figure out KiCad's limitations, but in all fairness it might be fine for designs that do not require complex constraints.
For the cost of your toolset and the features it has, it is good value. I think I'd take a run at yours vs KiCAD if I required a change.

My strategy is to take in schematic positions of components into the pcb.
I am not sure how that would work if the net spans pages or hierarchy.