
KiCad 4.0.0 is Out - craigjb
http://kicad-pcb.org/post/release-4.0.0/
======
tomkinstinch
I've designed a dozen or so boards using KiCAD, some in commercial production.
You definitely have to get into its way of thinking, but once you do KiCAD
works very well (as long as you only need design-rule checking and not more
complex simulation). Using keyboard shortcuts allows you to work quickly once
you learn what they are. I haven't tried the new version, but from the
previous stable release the feedback I have is that it needs better component
and footprint management. As an open source project it should be easy for
users to not only use components (this needs work), but also to contribute new
ones. If you make a component locally there should be an automatic offer to
upload it to an online component repository. The other thing is that I wish I
could edit component fields in something approximating a spreadsheet view. I
always maintain a separate BOM spreadsheet to track things beyond reference
number. I'd like to list component IDs directly in KiCAD, but some (especially
passive components) have very long names that clutter the schematic and
silkscreen. I'd like the ability for component names to have "display" and
"full" views, with the schematic showing the former and a generated BOM
showing the latter. Ideally more fields would be built in too, so it wouldn't
be necessary to add keys for extra fields. Something like: description,
chemistry / type, package, mfg, part number mfg, part number mouser, value,
tolerance, qty, reference, unit ($), ext ($), 1k pricing ($), ext 1k ($),
datasheet, note

This flowchart captures the KiCAD experience pretty well (though the "PCB
Done" step is decidedly more time consuming than its symbol
suggests):[http://docs.kicad-
pcb.org/en/getting_started_in_kicad.html#k...](http://docs.kicad-
pcb.org/en/getting_started_in_kicad.html#kicad-work-flow-overview)

~~~
reportingsjr
Just a heads up, at least in the latest version you can add extra fields to
components in eeschema. There are a handful of scripts out there that take
these extra fields and generate more useful BOMs with them.

KiCost is one and bomtool
([https://github.com/cpavlina/bomtool](https://github.com/cpavlina/bomtool))
is another.

bomtool has more of what you are looking for, where for passives you can
specify a value, tolerance, package, etc it will just search digikey and pick
a component that works.

The other things you mentioned I 100% agree with. more advanced DRC is
something that a lot of people ask for. Not sure it will happen any time soon
though.

------
StavrosK
Does anyone have a good resource for learning to design PCBs? I have a
breadboard with some sensors that I want to make a PCB out of, just so the
wires are tidy, but I watched an Eagle tutorial and it looked like there are
tens of easy to make mistakes that will ruin your board. I'm not sure if
that's true, but if it is, does anyone know of a resource that will at least
teach me how to make this simple PCB avoiding the most common errors?

~~~
elijahparker
It's not really a tutorial, but there are some nice tips here:
[http://www.allaboutcircuits.com/technical-
articles/practical...](http://www.allaboutcircuits.com/technical-
articles/practical-pcb-layout-tips/)

For a prototype PCB fab, [http://www.oshpark.com](http://www.oshpark.com) is
my favorite.

~~~
iheartmemcache
This is actually a real good guide to go along with your link, which is also
good -- it mentioned Kelvin sensing as the second item, haha -- for young
players:
[http://physics111.lib.berkeley.edu/Physics111/BSC/Readings/O...](http://physics111.lib.berkeley.edu/Physics111/BSC/Readings/OpAmps/OpAmp%20Applications/Web_Ch4_final.pdf)
Don't expect to be designing 6 layer stack-ups or anything but this + Horwitz
might get someone up to speed fairly quickly

------
b1gtuna
Would anyone use Kicad/Eagle these days if he/she has access to Altium
Designer?

~~~
nuand
Would anyone use Altium, KiCad, or Eagle if they had access to OrCAD, Allegro,
or PADS?

Having used all of those tools, I can say that KiCad and Eagle will remain
relegated to the low layer count, and at most moderately populated PCBs.
Altium still has issues with large designs, but it's got its advantages, it's
very easy to work with industrial designers within the Altium ecosystem.
Altium also supports some decent auto-routing and DFM tools but does not have
a simulator of any kind.

Cadence's OrCAD and Allegro offerings, and Mentor Graphic's PADS suite have
tools for everything from designing with microvia (laser etched single layer
vias) to highly configurable constraint management tools that allow for
configuring some very powerful auto-routers and interactive tools. The big two
tools also have simulators like PSICE, and integration with RF design tools
like Keysight ADS, Genesys, Momentum, Hyperlynx, and HFSS. If your design has
any RF components or high speed buses like DDR, PCIe and USB, you need to run
your designs through these tools to verify your design. Eagle, and KiCAD are
great for breakout boards. Altium can be used for some pretty simple products.
But I'd never use anything but Cadence or Mentor Graphics tools for anything
that had a signal that operated at more than 50MHz.

~~~
blackguardx
I think your Altium experience might be a little stale. Microvias in Altium
are really easy since at least three or four years ago. It also supports basic
SPICE simulation, but I've never used it. I use external SPICE and RF tools
for most of my simulation needs. I've had good success designing RF boards in
Altium and the only reason I would want to use Mentor Graphics would be if I
had some massive digital design with high speed buses everywhere. You get what
you pay for, but Altium is a solid tool at a decent price.

~~~
reportingsjr
KiCad also has support for microvias and blind/buried vias in this release.
There are a few high speed design tools (trace length tuning and differential
pair routing) that were added and I expect more RF support will come in the
next release or two.

------
bcg1
> New s-expression based pcb format (.kicad_pcb)

Rock on KiCad

------
andyl
How does KiCad compare to Eagle?

~~~
Ao7bei3s
Favorably.

Obviously, it's free and open source, with no board size / layer limitations.
On the other hand, Eagle is still much more widely used in the DIY community,
and most my-first-PCB-like tutorials are Eagle-based. Kicad has for years
suffered from the binary release being really, really outdated. Kicad
development feels pretty fast-paced.

It has most or all of Eagles features, and some nice advanced features Eagle
doesn't have. Especially it's PCB routing support is much better. For example,
it supports push shove routing[1] and automatic trace length matching. It also
shows the netname on pads (in Eagle you have to use "show" all the time). On
the schematic side, It has had hierarchical sheets for many years now, whereas
Eagle only gained hierarchical design support earlier this year in version 7.
Things like that.

There are minor workflow differences in some places. For example, it uses key
combinations instead of typed commands. There's a netlist generation step
between schematic editing and board editing, so going back and forth between
the two isn't as straightforward as it is in Eagle.

[1] If you're used to Eagle, this may blow your mind:
[https://www.youtube.com/watch?v=C02D0_kNQeM](https://www.youtube.com/watch?v=C02D0_kNQeM)

~~~
andyjohnson0
Can you comment on the situation with component libraries for kicad? How does
it compare to Eagle?

I've recently tried Fritzing but keep finding that some components aren't
available. Defining my own is kind of tedious.

~~~
TD-Linux
I generally end up using an online tool [1] for high pin count parts. It's not
the best though, someday I will write something better.

BTW, in most professional contexts, parts are all created by the engineer -
vendor part libraries are pretty rare. I know Altium is trying to change that,
maybe soon we will see something similar happen with KiCAD.

[1]
[http://kicad.rohrbacher.net/quicklib.php](http://kicad.rohrbacher.net/quicklib.php)

~~~
andyjohnson0
Thanks for the link: very useful!

