I come from Eagle. What should i know about KiCad?

Official Documentation

The getting started tutorial of the KiCad doc team is actually a tutorial that assumes you know the general process already (Ideal for users coming from a different tool). Getting Started in KiCad

However, be aware that it is sadly out of date in some places but you will for sure be able to still find your way around KiCad as the changes are not that huge (the tutorial got updated where the differences were large enough to matter but some minor differences might still be there).

Library Management

One of the larger differences between KiCad and eagle is library management. KiCad splits the lib assets completely which allows a more flexible workflow What is the difference between footprints and symbols?.

Plus there is no special directory which means you need to add a pointer to every lib file to so-called library tables (you will only notice that when adding already existing libs, creating new libs does this adding stuff automatically).

For more details read Library management in KiCad version 5 as well as How to get a downloaded symbol, footprint or full library into KiCad version 5?

Making Library Assets

The library asset creation tutorials linked below are of use even to users who already know the general process as they focus heavily on how to use different KiCad tools to be efficient with this process. (They also give some general guidelines but you can ignore these sections if you already know this part)

Project Local and Global (Central) Libraries

Also notice that KiCad allows having project local or global (central) libraries. There are pros and cons to both workflows as they influence how collaboration and sharing works for a resulting project: Project and libary setup for sharing and collaboration

Connecting Symbols to Footprints in the Library

Some tutorials out there sadly also do not give full details on how some processes work. An important example is that quite a lot of tutorials seem to suggest that one can not create a library where symbols are connected to their correct footprints. This is wrong! One can connect a symbol to its footprint already in the library. This is actually how 90% of the official library is build.

It is however also possible not to make this connection in the library allowing a more flexible workflow. (I would argue the flexible workflow is the additional feature not found in other tools and the fully specified one is the norm.)

For all options on how to connect a symbol to a footprint see How can i assign a footprint to a symbol?

The definition used in the official lib is found here in this rule https://www.kicad-pcb.org/libraries/klc/G2.1/

The Official Library has Consistent Rules

If you want to use the official library assets then you will be happy about the fact that the library team of KiCad publishes their rule set. (This was one of the things i was missing from eagle but to be honest their lib did not really look like there is a rule in place at all)
KiCad Library Convention (KLC)

Danger: Schematics do not Embed Symbols

At this point in time KiCad does not include symbol info in the schematic file format. This will be fixed with version 6 but until then you need to be aware of the cache/rescue process. (Footprints are already included in the layout files so these do not suffer from that problem) What are the cache and rescue libs and how does the schematic rescue dialog work? (KiCad version 5.x and earlier)

Multi Page Schematics

KiCad is designed with a hierarchical workflow in mind. Flat designs like mostly used in eagle are possible but are not the natural way to use KiCad (you need to fall back on a workaround for this workflow): Hierarchical or flat schematic design, what is best for me? (How to deal with multi page schematics?)

Are there things that KiCad can not do?

Yes there are some things that are possible in Eagle but not in KiCad. So for some usecases you might be better off staying at Eagle (for now).

KiCad Version 5 does not support curved traces

Curved traces are needed for flexible boards and for very high frequency boards, but are sadly not directly supported in KiCad.

There is the option to use complex pads in a footprint or use the RF tools extension Rounded Tracks Reloaded ... again: RF Tools for KiCad

KiCad version 5 does not support hatched fills

Hatched fills are again a feature required for flexible boards as well as for some sensors. Sadly KiCad version 5 does not support them, they will be introduced with version 6 (they are already in the development snapshots).
There are a few workarounds available but i think you might be better served either staying at eagle or using the development snapshots of KiCad. For workarounds see for example discussion here Copper pour with Hatched fill instead of solid fill

Footprint Generators are Less Powerful in KiCad

Eagle comes with quite a number of inbuild footprint generators. KiCads equivalent pales in comparison. There are however external scripts that do the same. For standard IC packages take a look at https://github.com/pointhi/kicad-footprint-generator/tree/master/scripts/Packages

Text inside of copper planes is different

Eagle makes a closely fitted cutout around text placed inside a copper zone while KiCad cuts out a bounding rectangle and places the text inside that. There also is no option to have a negative of the text inside a copper zone (so copper removed only where the letters are)

4 Likes