KiCad

from Wikipedia, the free encyclopedia
KiCad

KiCad-Logo.svg
KiCad-Pcbnew-Hackrf-One.png
Screenshot of version 4.0.0
Basic data

developer Jean-Pierre Charras
Publishing year 1992
Current  version 5.1.6
( May 15, 2020 )
operating system Linux , Microsoft Windows , macOS , FreeBSD
programming language C ++
category EDA
License GNU General Public License
German speaking Yes
www.kicad-pcb.org

KiCad is a free ECAD program package for developing printed circuit boards in electronics . It is being developed by a group of volunteer developers and two scientists from CERN and is licensed under the GPL . KiCad is as a precompiled package for Linux , Windows , MacOS and FreeBSD available, it is based on the WxWidgets - Framework .

Example of the 3D view of a printed circuit board

Development history

KiCad was first released in 1992. The initiator of the project, Jean-Pierre Charras, 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 .

In 2012 the file format for boards and thus the file extension was changed from “.brd” to “.kicad_pcb”. Current KiCad versions can read and save both formats.

The BE-CO-HT department at CERN has been working on KiCad since 2013 , which gave the development a boost.

At the end of 2015, the KiCad team changed the release mechanism with version 4.0.0. Previously, there was no official installation file to download and users had to make do by compiling the source code themselves. Since then, new versions and patches for bugs have been released on a regular basis if they cause the program to crash.

Since December 2019, the project manager ( maintainer ) Wayne Stambaugh has been employed by the KiCad Services Corporation (KiPro).

Components

KiCad includes the following program parts:

  • KiCad - basic module with integrated project management
  • EESchema - Schematic Editor
  • Schematic library editor - An editor to create schematic symbols. This component was part of EESchema in older KiCad versions.
  • CVpcb - Tool for connecting a schematic symbol with one or more component footprints. This part is integrated in EEschema in newer versions.
  • PCBnew - layout editor for circuit boards with integrated footprint / module editor
  • PCB footprint editor - An editor to create component footprints. This component was part of PCBnew in older KiCad versions.
  • Gerbview - program for data exchange in Gerber format , e.g. B. for plotter or circuit board manufacturers
  • Bitmap2component - (experimental) tools for creating symbols and footprints from bitmaps (e.g. to import logos)
  • PCB Calculator - a "pocket calculator" and a collection of formulas for calculations relating to the development of circuits and printed circuit boards
  • PL-Editor - Editor for the drawing frame commonly used in KiCad

workflow

EESchema - Schematic Editor

First, a circuit diagram is created with EESchema using the circuit diagram symbols from the symbol library. EEschema supports so-called hierarchical circuit diagrams, which means that a circuit diagram can contain sub-circuit diagrams as a "black box", which in turn can contain further sub-circuit diagrams. Conversely, a modular circuit diagram can also be constructed very quickly from existing sub-circuit diagrams by appropriately integrating them into higher-level circuit diagrams.

Schematic symbols can be adapted or completely recreated with the symbol editor included in EESchema . EESchema also contains a tool for annotation (automatic assignment of reference designators for the components used) and for an ERC (electrical rule check), which roughly checks the circuit diagram for errors, for example whether all pins are connected, with the exception of those for who expressly do not want a connection. A netlist can be exported in various formats, such as for Spice or the Specctra Autorouter. NGSpice is integrated.

CVpcb

Then this netlist is read into CVpcb. There a footprint ( called module in KiCad ) can be assigned to each component . In the event of a technology change (e.g. when switching from through hole to SMD technology), other footprints can also be entered here later. After saving the network list again, it can now be read into the KiCad circuit board layout module, PCBnew. Another approach is the direct reference to footprints, which is entered in a field of the symbol. These footprints then appear as a pre-entry in CVpcb, where they can also be edited. If there is no reference to the footprint in the symbol, the list in CVpcb remains empty and must be edited there.

PCBnew - layout editor

In PCBnew the components are placed on the board and connected with conductor tracks. Network classes can also be defined. B. Define track widths and isolation distances. The connection can be done manually or via the autorouter you brought with you . An external autorouter that runs somewhere on a server or completely foreign software, such as B. the Specctra Autorouter can be used.

Manual routing is supported by a permanent DRC ( design rule check ) that can be switched off, which checks whether conductor track widths and distances are adhered to according to the netlist definition and prevents the placement of non-DRC-compliant conductor tracks. The DRC can also be started separately after the work has been completed, then exceptions and all other DRC violations are reported, so that one can decide whether to eliminate the rule violation or allow it as an exception.

PCBnew masters interactive "push & shove" as well as "matched pair" to make manual routing easier. However, this is based on the hardware support provided by the graphics card with openGL , so that it cannot be used on older computers or with unsupported hardware. Ordinary manual routing will still work. The Push & Shove router is a good alternative to auto routers, especially when you consider that the results of auto routers generally also have to be manually revised.

PCBnew supports the integration of already existing routed boards so that cutouts can be removed from different boards and connected to a new one. However, all of the annotations required for this must be made manually.

PCBnew contains an RF tool with which stubs and gaps of defined dimensions can be easily generated. Furthermore, polygons can be read that are available as shapefiles (a list of coordinates). In this way, HF filter structures and antennas can be created, but also other copper structures such as sensor surfaces or “solder jumpers”.

The board can be output as Extended Gerber , PostScript , DXF, HPGL, SVG or directly to a printer. Drilling data files, pick + place data for SMD assembly robots and a parts list (BOM) as text or CSV can be created.

Component library

There are many component libraries available in the repository that are created through the work of the active community. Furthermore, Eagle libraries can be imported directly. There are now also external providers of libraries, such as B. SnapEDA, which enables an export of their libraries for KiCad, or the component dealer Digi-Key , which also offers footprints and 3D models for its component range for download for KiCad.

Gerbview

A special feature is the ability of KiCad not only to view "Extended Gerber" with the Gerberviewer "Gerbview" that you brought with you, but also to import it as a layout into PCBnew.

There you can edit the board, e.g. B. multiply for greater benefit , and export again as Extended Gerber. Further processing is only possible if there is a network list. This could definitely be done by hand using Gerbview and PCBnew. In this respect, KiCad is suitable for reverse engineering .

The Bitmap2component program part converts bitmaps either into symbols or into footprints. In this way, logos or special patterns for HF applications can also be imported into KiCad, provided they are available as a bitmap. However, this function is very new (added in spring 2011) and can be described as experimental.

PCB Calculator

The PCB Calculator contains some small calculation programs or tables. Calculates the wave resistance of lines, track widths and resistances. Sizing resistors of voltage regulators similar to the LM317.

3D model

KiCad enables the 3D preview of the created circuit boards as well as an export of the mechanical circuit board model (with components) in VRML or STEP format. For this, the components used must also be stored as 3D models, e.g. B. in the format VRML (WRL) or STEP. Standard components are already integrated. External software is required to create and edit the components as a 3D model, e.g. B. Wings 3D , FreeCAD or Blender (all also open source).

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

automation

KiCad has a Python interface (Python 3) which is currently only implemented for the board. Something similar is planned as Eagle has already introduced with the ULPs. Since all files are not in binary format but as text format, they can be manipulated externally relatively easily.

documentation

There is extensive official documentation and tutorials in various languages ​​for the KiCad project, which are maintained on GitLab under the official KiCad documentation project .

literature

Web links

General
Commons : KiCAD  - collection of images, videos and audio files
Symbol and component libraries

Individual evidence

  1. KiCad 5.1.6 Release . May 15, 2020 (accessed on May 16, 2020).
  2. The kicad Open Source Project on Open Hub: Languages ​​Page . In: Open Hub . (accessed October 18, 2018).
  3. KiCad-PCB.org About KiCad.
  4. kicad-source-mirror: Stable Release Policy In: github.com , Retrieved May 23, 2019
  5. ^ Project Leader Joins KiCad Services Corporation. December 2, 2019 (American English).;
  6. KiCad, Eeschema with NGSpice (nightly builds) In: mikrocontroller.net , accessed on May 23, 2019
  7. Kicad Interactive router (release version) In: YouTube, Retrieved May 23, 2019
  8. Kicad - Differential pair routing and trace length matching In: YouTube, Retrieved May 23, 2019
  9. Digi-Key Now Offers KiCad Component Model Downloads In: Digi-Key ELECTRONICS, Retrieved May 23, 2019
  10. KiCad 5.1.0 release notes. March 14, 2019 (English).;
  11. https://docs.kicad-pcb.org Official documentation for KiCad in different languages
  12. Tutorials Help -> Tutorials
  13. KiCad documentation repository. KiCad EDA, March 20, 2020, accessed on March 20, 2020 .
  14. Maik Schmidt / psz: Copper Pathfinder . In: c't . February 2020 : “... shows how to use it on the basis of practical projects, but doesn't forget to teach beginners the basics of working with circuit boards. ... a complete Arduino clone ... The book, with its many colored illustrations and screenshots, encourages active reading. However, the German version deserves to be edited better. ";