KiCad (/ˈkˌkæd/ KEE-kad[7]) is a free software suite for electronic design automation (EDA). It facilitates the design and simulation of electronic hardware for PCB manufacturing. It features an integrated environment for schematic capture, PCB layout, manufacturing file viewing, ngspice-provided SPICE simulation, and engineering calculation. Tools exist within the package to create bill of materials, artwork, Gerber files, and 3D models of the PCB and its components.

Original author(s)Jean-Pierre Charras
Developer(s)KiCad developers[1]
Initial release1992; 32 years ago (1992)[2]
Stable release
8.0.6[3] Edit this on Wikidata / 14 October 2024; 48 days ago (14 October 2024)
Repository
Written inC++[4]
Operating systemLinux, macOS, Windows
Available in39 languages[5]
TypeEDA
LicenseGPL-3.0[6]
Websitewww.kicad.org

History

edit

Early history

edit

KiCad was created in 1992 by Jean-Pierre Charras while working at IUT de Grenoble.[8] The name came from the first letters in the name of a company of Jean-Pierre's friend in combination with the term CAD.[9] KiCad originally was a collection of electronics programs intended to be used in conjunction with each other. The main tools were EESchema, PCBnew, a Gerber viewer, and a calculator.

2010s to present

edit

With the price of professionally made printed circuit boards rapidly dropping, hobbyist electronic design became much more popular. As a result, KiCad started gaining significant traction and a larger developer base.

In 2013 the CERN BE-CO-HT section started contributing resources towards KiCad to help foster open hardware development by helping improve KiCad to be on par with commercial EDA tools.[10] From 2013 until approximately 2018 CERN provided two developers part time to help improve KiCad. Much of the work provided by CERN involved massive refactoring of the code base to give KiCad a better structure to grow and adapt.[11] Help is also provided by organizing donations and fundraisers to help pay for additional contract developers for KiCad, along with sponsoring KiCad's web infrastructure. Well over 1400 hours of developer time has been provided by CERN.[12]

A major milestone was hit in December 2015 starting with KiCad 4.0.0, the first KiCad release adopting a point release versioning scheme. This was also the first release featuring the more advanced tools implemented by CERN developers.

KiCad joined the Linux Foundation in November 2019.[13]

Additionally two lead developers formed a services corporation in 2019 to help provide additional paid development support for KiCad.[14]

Features

edit
 
KiCad schematic editor for schematic capture
 
KiCad PCB editor for board layout and design
 
KiCad 3D viewer showing both VRML and IDF features on a demo board
 
KiCad 3D viewer

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 Mac OS X. 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,[15] and the Digi-Key KiCad Library.[16] 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

edit

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

edit

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

edit

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

edit

Alternatively, Alfons Wirtz's open-source Java-based FreeRouting[17] can be used to externally autoroute boards. Anthony Blake's Toporouter, a topological autorouter developed in 2008 for gEDA PCB as a Google-funded open source project mentored by DJ Delorie,[18] has been adapted for use with KiCad as well.

Community

edit

On 12 March 2015 Olimex Ltd,[19] a provider of development tools and embedded device programmers, announced that they have switched from EAGLE to KiCad as their primary EDA tool.[20]

See also

edit

References

edit
  1. ^ ""KiCad Developers" team". Archived from the original on 2018-07-29. Retrieved 2018-07-29.
  2. ^ Halvick, Remy (2007-07-08). "Re: About KiCad first release". kicad-users. […] JP Charras said me that the first drafts were made in 1992 for a DOS version, but not diffused […]
  3. ^ "KiCad 8.0.6 Release". 2024-10-14. Retrieved 2024-10-15.
  4. ^ Manveru (2009-10-13). "KiCad". Archived from the original on 2018-07-29. Retrieved 2011-01-20.
  5. ^ "kicad-i18n - Translations for KiCad source code".
  6. ^ "KiCad Program License". Archived from the original on 2018-07-29. Retrieved 2016-07-12.
  7. ^ Stambaugh, Wayne (2018-02-03) [2018]. "KiCad Version 5 New Feature Demo". Archived from the original on 2018-07-29.
  8. ^ "Kicad". iut-tice.ujf-grenoble.fr. Archived from the original on 2015-12-21. Retrieved 2015-12-29.
  9. ^ "Re: [RFC] Application naming: Mailing list archive: Kicad-developers team in Launchpad".
  10. ^ "KiCad software gets the CERN treatment". 2023-05-26.
  11. ^ "KiCad reaches new heights". 2023-05-26.
  12. ^ https://cernandsocietyfoundation.cern/sites/cernandsocietyfoundation.web.cern.ch/files/Annual%20Reviews/CERN%20&%20Society%20Foundation%20Annual%20Review%202018.pdf [bare URL PDF]
  13. ^ "KiCad Joins Linux Foundation to Advance Electronic Design Automation". 2019-11-22. Archived from the original on 2021-11-18. Retrieved 2021-11-18.
  14. ^ "About Us – KiPro".
  15. ^ SnapEDA
  16. ^ "Digi-Key KiCad Library". GitHub.
  17. ^ Wirtz, Alfons (2014-03-08) [2004]. "FreeRouting - Printed Circuit Board Routing Software from FreeRouting.net". GitHub. Archived from the original on 2017-09-23. Retrieved 2017-09-24.
  18. ^ Blake, Anthony (2009-07-07) [2008]. "Topological Autorouter - Introduction". Archived from the original on 2011-02-27.
  19. ^ "Olimex Ltd."
  20. ^ "Our first two small KiCAD OSHW boards are ready!". 2015-03-12. Archived from the original on 2015-03-17.
edit