I designed 4 PCBs before this project, two iterations of a guitar amplifier and two ATtiny boards for PCB design introduction lessons and also a demo at work.
Those 4 boards I designed with Eagle CAD. Why? I’m not even sure. It was free (as in beer), available on my platform (Linux) and there was a lot of tutorials and other resources on the web.
For this project I switched to Kicad. Thanks to Chris Gammell’s “Getting to blinky 4.0” video series, I was able - in a couple hours - to do as much with Kicad as I was able to do with Eagle.
Before switching to Kicad, my main concern was the lack of autorouter, but I quickly realized that up to a certain complexity there’s no way around manual routing. The most difficult part of board layout is to find the right place and orientation for the components, Eagle’s autorouter is not doing that for you. Also the push-and-shove routing feature of Kicad really helps.
To this day, my only problem with Kicad is the workflow produced by the disconnect between the schematics and the PCB layout. I think I understand the rationale behind it and It’s actually very nice to be able to put a resistor in the schematic without having to make a decision on the package right away. But in my own experience, designing a board is an iterative process. I go back and forth between the PCB and the schematic usually to change net names or connect a button to that MCU pin rather and this one. Having to click 4 or 5 times just to do that is really not practical. I heard this will change in version 5, let’s see.
Big bonus: 3D render out of the box!