KiCad is a free CAD program for creating printed circuit boards.

The author Jean -Pierre charas is a scientist at the Laboratoire des Images et des Signaux (LIS ) in Grenoble, France, and a teacher at the IUT de Saint -Martin- d'Hères.

KiCad includes the following program components:

  • KiCad - Basic module with integrated project management.
  • EESchema - schematic editor with integrated schematic symbol editor.
  • CVpcb - Tool for the connection schematic symbol with the component footprint.
  • Pcbnew - layout editor for printed circuit boards with integrated footprint / module editor.
  • Gerbview - program for exchanging data in Gerber format, eg plotter or printed circuit board manufacturer.
  • Bitmap2component - (eg to import logos ) ( experimental) tools for the creation of symbols and footprints from bitmaps.
  • PCB Calculator - a "calculator" and formulary for some calculations relating to the development of circuits and printed circuit boards. Contains example also possible to calculate the characteristic impedance of cables.
  • PL Editor An editor to edit the KiCad usual Zeichnungsramen.

KiCad based on the wxWidgets framework. It is available for Linux and Windows platforms (from 2000). On Solaris and FreeBSD, it is also useful.

With KiCad PCB up to 16 layers can be created. The diagrams can be passed to Spice.

Work routine

First with EESchema is ( the circuit diagram of KiCad module ) created a diagram of the board to be developed using the component symbols from the symbol library. This eeschema supports so-called hierarchical schematics, that is, a diagram can be seen as a "black box " contain sub- circuit diagrams, which in turn can contain other sub- diagrams. Conversely, are modular from existing sub schematics through appropriate integration into higher-level schematics quickly a circuit diagram.

Schematic symbols can be adapted to the present in EESchema icon editor and created from scratch. Furthermore EESchema includes a tool for annotation ( Automatic Assigned by reference identifiers for the components used ) and for an ERC (Electrical rule check ), which examines the schematic gross errors, for example, if all the pins are connected, with the exception of those in which express no connection is used. Furthermore, a netlist is created which can be exported in various formats, such as for Spice or SPECCTRA autorouter.

After this netlist is read into CVpcb. There, each component is a footprint ( the hot in KiCad modules ) can be assigned. With a change in technology (eg, the transition from through hole to SMD) can be entered here also subsequently other footprints. After re- saving the netlist, these can now be in the PCB layout module of KiCad, pcbnew, read.

Pcbnew in the components can be then distributed and connected on the PCB. Even net classes can be defined that specify, for example, trace widths and isolation distances. The connection can be done either manually or using the autorouter. It can be chosen between an internal autorouter, and an external, running somewhere on a server. Also, all third-party software, such as the SPECCTRA autorouter can be used.

The manual routing is a turn-off permanent DRC (design rule check, checks whether trace widths and distances are maintained according to the Netzlistendefiniton ), who does not prevent the placing of DRC -compliant interconnects. The DRC can be separate start after completion of the work, if you had switched it off, for example, to perform exceptions. In this case, exceptions and any other DRC violations are reported, so that you can decide whether to eliminate the violation or permit as an exception. The output of the circuit board can be as Extended Gerber, PostScript, DXF, HPGL, SVG, or directly to a printer. Of course, Bohrdatenfiles, Pick Place data for SMD assembly robot and a parts list can be created. The BOM can be generated as a classic text list or as importable into Excel CSV file.

Pcbnew also supports the integration of already existing routed boards so taken excerpts from various boards and can be connected to a new one. However, all this necessary annotations by hand must be made.

A special feature is the ability of KiCad is, " Extended Gerber " with the Gerber Viewer brought " Gerbview " not only to view but also as a layout in pcbnew be able to import.

There you can edit the board, multiply, for example, to greater advantage, and export again as Extended Gerber. Any further processing is only possible if a netlist is. This could well be created by hand, using of Gerbview and pcbnew. Insofar KiCad is suitable for reverse engineering.

The program part Bitmap2component converts bitmaps to selectively into symbols or footprints. In this manner, logos or special patterns for RF applications can be imported into KiCad, when present as a bitmap. However, this function is very new ( in the spring of 2011 inserted ) and more likely to be described as experimental.

The program part PCB Calculator includes some small calculation programs and tables. For example, the dimensioning resistances of voltage regulators that the LM317 work similarly be calculated to the wave resistances of various lines, line widths, interconnect resistances, etc.

KiCad also allows the 3D preview of the boards created. This is based on Wings 3D. The condition is that for the components used not only footprints ( in KiCad modules called ), but also 3D models have been deposited as WRL files. KiCad binds these files only. To edit or create the 3D models external software ( Wings 3D or Blender open source) ( also ) is required.

Through the work of an active community around KiCad many component libraries are available.

With the external tool TTConv AutoCAD dxf files can be imported and exported.

KiCad has a Python interface (Python 2.6) but which is currently implemented only for the board. The plan is somewhat similar to what Eagle has already been introduced with the ULP. However, can be used through the open, clear writing like readable file format any programming language to manipulate the files externally.

During the year 2012, the file format for boards was changed. The files ended up in the old (legacy ) format. " Brd " and the new one on. " Kicad_pcb ". Current Kicad versions can read both formats and both store of your choice.