and
IDF features on a demo board KiCad uses an integrated environment for all of the stages of the design process: Schematic capture, PCB layout, Gerber file generation/visualization, and library editing. KiCad is a
cross-platform program, written in C++ with
wxWidgets to run on
FreeBSD,
Linux,
Microsoft Windows and . Many component libraries are available, and users can add custom components. The custom components can be available on a per-project basis or installed for use in any project. There are also tools to help with importing components from other EDA applications, for instance
EAGLE and
Altium. There are also third party libraries available for KiCad, including SnapEDA, and the
Digi-Key KiCad Library. Since KiCad V4 the board file is written as
UTF-8-based human-readable
S-expression. The schematics, libraries and project files were also converted to the S-expression format in KiCad V6 for easier maintenance. Configuration files are in well documented plain text as well, which helps with interfacing
version control systems, as well as with automated component generation
scripts.
Languages Multiple languages are supported, such as
Bulgarian,
Catalan,
Chinese,
Czech,
Dutch,
English,
Finnish,
French,
German,
Greek,
Hungarian,
Italian,
Japanese,
Korean,
Lithuanian,
Polish,
Portuguese,
Russian,
Slovak,
Slovene,
Spanish, and
Swedish.
Schematic editing The KiCad schematic editor has features including hierarchical schematic sheets, custom symbol creation, electrical rules check (
ERC) and integrated
ngspice circuit simulation. Schematic symbols are very loosely coupled to circuit board footprints to encourage reuse of footprints and symbols (e.g. a single 0805 footprint can be used for capacitors, resistors, inductors, etc).
PCB editing Internally KiCad's PCB editor supports up to 32 copper layers and 32 technical layers. Dimensions are stored with nanometer precision in signed 32-bit integers making the theoretical maximum PCB dimension 231 nm, or approximately 2.14 meters. There are a variety of tools available while doing layout through both built in functions and external plugins. Some advanced built in functionality includes a push and shove router,
differential and single ended trace length tuning, net highlighting and individual layer dimming, and a highly customizable
design rule checking (DRC). A number of external tools have been developed following the addition of
Python scripting integration in to KiCad. A number of plugins exist such as a high quality silkscreen label generators,
BOM and assembly viewers, panelization plugins, along with many other plugins. A 3D PCB viewing function is based on
STEP and
VRML models, and the board model can be exported for
CAD integration. ==External autorouters==