Wikipedia:WikiProject Electronics/Programs

Programs for drawing circuits

123D Circuits

123D Circuits In-browser circuit design and PCB layout tools.

Created by Autodesk, it is free to use, zero-install and web based. There's a limited library of components to use. There are 3 drawing modes: schematics, PCB and breadboard diagram. The PCB editor does not do automatic routing. Online projects are shared with a variety of open-source licenses such as GPL or CC.

Circuit Diagram

Circuit Diagram is a user-friendly program for making electronic circuit diagrams on Windows.

Dia

Star-triangle transformation drawn with Dia

Dia (Dia) exports in SVG, has a small library of electronic components, and a grid (snap feature located in the bottom left corner of the diagram window). While Dia cannot rotate objects, it can flip them horizontally or vertically. This option is found in the properties for each object (right click->properties). To access the circuit object library, you change the category selector in the main window.

ExpressSCH

Free to download Windows program. Complements ExpressPCB. Both programs are from ExpressPCB board manufacturers.

EasyEDA

EasyEDA is a free, zero-install, Web and Cloud-based EDA tool suite, integrating powerful schematic capture, mixed-mode circuit simulator and PCB layout in a seamless cross-platform browser environment.

It has some nice features:

Export

Import

gEDA

gEDA is a suite of collaborative software used for electronic design automation. The project's name stands for GPL’d suite of Electronic Design Automation tools.

The gEDA project offers a mature suite of free software applications for electronics design, including schematic capture using gschem, attribute management gattrib, bill of materials (BOM) generation, netlisting into over 20 netlist formats (gnetlist), analog and digital simulation (ngspice, gnucap, Icarus Verilog, and GTKWave, and Printed circuit board (PCB) layout (pcb).

gEDA may be run under MS Windows using http://geda.seul.org/wiki/geda:cygwin.

Advantages

Disadvantages

GIMP

GIMP (Gimp) is a programme for raster image processing, so it is not meant to be used for any kind of schematics. It does not support SVG and everything has be drawn from scratch. Anyway it is multi-platform and several people used it on Commons to draw circuits. It could be useful for some post-processing, but the output will not be in SVG.

gnu Electric

The gnu Electric VLSI Design System is an EDA tool written by Steven M. Rubin. Electric is used to draw schematics and to do integrated circuit layout. It can also handle hardware description languages such as VHDL and Verilog.

Electric has been open-source for many years, and is currently available through the Free Software Foundation (GNU).

Advantages:

Disadvantages

Inkscape

Example of Inkscape's SVG output

Inkscape (Inkscape.org) has a pretty good interface and nice output, but it is specifically meant for artistic drawing and not diagramming. There is a plan to introduce some more diagramming features in the future, but the developers don't want to go too far in that direction for fear of bloating past their primary art focus. They've just added the ability to create program extensions, though, which could be useful for writing some kind of circuit drawing extension. As of January 2006, Inkscape supports drawing connections (wires) between anchors on objects, which makes it much nicer for circuits, but still not a complete solution.

Library of electrical symbols for diagramming with Inkscape

There is a (small but extensible) library of symbols available. Creating diagrams using this template is slightly slower than in specialised programs, but it is very flexible and produces nice vector output.

A simple symbol library based on well-known package, circuit_macros

The above mentioned points are true with the older versions of Inkscape. However, the latest version of Inkscape (v 0.91) comes with "Symbols Library" option (default shortcut is Ctrl+Shift+Y) although without electronic component symbols. In addition to that, we can insert mathematical symbols or equations using TexText (TexText) extension. With these options, one can convert Inkscape into a powerful circuit diagram drawing software.

KiCad

Unbalanced Splitter drawn with KiCad

KiCad (KiCad) is a free software suite of tools including schematic design.

It has some nice features:

But isn't perfect:

Klunky

An example op-amp circuit drawn with Klunky and GIMP

Klunky can be used to draw basic circuits, and then a raster editing program like GIMP to modify the screenshots. The Klunky program is public domain, and he has enhanced it with additional components, etc. (See User:Omegatron#Electronics_diagrams. Enhanced version is here.)

Advantages

Disadvantages

Beats drawing it by hand, though, and drawing simple circuits is pretty fast.

User:Poccil has been working on an update to Klunky that generates SVG files directly. This would be the ideal solution if not for the limitation of putting everything in square blocks.

LaTeX

LaTeX, which is popular in typesetting mathematical documents, has several packages for drawing circuit diagrams.

Advantages:

Disadvantages:

CircuiTikZ (a LaTeX package)

Circuit diagrams drawn with CircuiTikZ

CircuiTikZ (CircuiTikZ) is a TikZ add-on for drawing schematic diagrams.

Advantages:

  • Very professional looking output (same quality as in commercial textbooks).
  • Active user community.
  • Tikz can be used to draw almost anything, so it might be worth learning anyway.

Disadvantages:

  • Some learning of Tikz is required.

Circdia (a LaTeX package)

Circdia (Circdia) uses TikZ for drawing schematic diagrams. Supports various European component styles.

Advantages:

  • Beautiful component templates, most of them in different flavours.
  • Based on Tikz.
  • Very flexible configuration, enables complicated transformer and logic chip setups.

Disadvantages:

  • Well documented, but only in German.

PSTricks (a LaTeX package)

Sallen–Key filter drawn with PSTricks

PSTricks (pstcirc) is a circuit drawing package implemented with PSTricks , which allows TeX users to "code" figures with the aid of PostScript. Packages like pst-eps or preview allow for easy production of images with tight bounding boxes.

Advantages:

  • Full use of PostScript (e.g., colors, bitmaps, vectors, etc.).
  • Many symbols available (e.g., zigzag and chemical dipole symbols, transistors, FETs, analog, digital).
    • Symbols that are not available can easily be drawn with drawing primitives (lines, boxes, etc.).
  • 3D images and effects available.

LaTeX-Circuit-Diagram (a LaTeX macro file)

LaTeX-Circuit-Diagram LaTeX-circuit-diagram is a macro package for drawing electric circuit diagrams.

A simple circuit with LaTeX-Circuit-Diagram macro package

Advantages

  • No extra packages needed, just include one file.
  • Official IEC symbols (the same package is used in several Finnish university textbooks).
  • Simple command interface, for example \vj{50,50}{J=1\mA} outputs a vertical current source symbol at coordinates 50,50 with label J=1 milliamps.
  • In addition to element symbols, the package contains voltage arrows and current arrows too, which are handy for encyclopedia and textbook use.
  • Easy to extend and contribute to.

Circuit macros (a LaTeX macro file)

Circuit macros is a set of macros for drawing high-quality line diagrams to include in TeX, LaTeX, web, or similar documents, with support for SVG and other formats. It uses the M4 macro processor and a Pic interpreter and can produce TikZ code.

Advantages:

Disadvantages:

  • Requires learning the Pic language.
  • Extra software needed (m4 and a Pic interpreter).
  • More steps required to process a diagram.

Lcapy

Lcapy (Lcapy) generates high-quality schematics with a semi-automated layout from a netlist using CircuiTikZ. The netlist is augmented with component attributes to indicate component direction, size, color, etc. The schematic can be automatically annotated with symbolic/numeric node voltages, branch currents, etc. derived from solving the circuit. Lcapy exports PGF, PNG, SVG, and PDF formats.

OpenModelica

OpenModelica exports in SVG. It has a comprehensive library of electrical, mechanical, and other multi-physics systems. It can also plot simulation results. The symbology is somewhat unique however, and it can only rotate symbols in steps of 90 degrees.

PartSim

PartsSim is a free, full-featured online circuit simulator. It features a full SPICE simulation engine, web-based schematic capture tool, and graphical waveform viewer.

Qucs

Practice problem for node equations, drawn with Qucs

Qucs Qucs (Quite Universal Circuit Simulator) is an open source (GPL) circuit simulator. It is very easy to work with for drawing schematics. It is close to being an ideal tool for drawing schematics for use in documentation.

It has some nice features:

SIMetrix

Common emitter amplifier drawn using SIMetrix.

SIMetrix, as of version 5.40b (Jan 2008):

Advantages:

Disadvantages:

Vector Blocks

An example op-amp circuit drawn with Vector Blocks

Vector Blocks creates SVG output and is based on the Klunky model. But the block size is more fine-grained than in Klunky, and components generally cover multiple small blocks.

Advantages

Disadvantages

Xcircuit

Negative impedance converter drawn with Xcircuit

Xcircuit (Xcircuit) is meant to be used only for drawing circuits for professional publications. It is very powerful, with a huge standard library and very easy to use. It saves by default in PostScript, and it can be converted to SVG using Pstoedit. It can optionally export with any quality in PNG. It is not natively multi-platform (it is developed mainly for Linux), but it is possible to make stand-alone executables for both Windows and Mac OS X adding some libraries in it. Some of the symbols are kind of ugly.

For more information about creating SVG circuits with it see How to draw SVG circuits using Xcircuit.

Feature Comparison

The Electronics Project has a list of desirable features for a circuit drawing program. This table attempts to summarize which of the features each of the above programs has.

The "Easy circuits" column is specifically answering the question: "Is it easy to use this program to draw circuit layouts?" This is to help clarify that while programs like Inkscape and Dia may pass all the criteria, they are not good choices for drawing circuits. They are easy to use for other tasks, but this chart is specifically geared toward finding a good circuit drawing program.

The "Attach wires" column answers the question: "Once I have a schematic, if I move some component, do the wires that were attached to it move so that they stay attached?"

Bezier curves are useful for drawing graphs but have little relevance to drawing circuit diagrams.

ProgramFreeCross PlatformSVGLibraryGridAttach wiresDrawingEasy circuitsBezier curves
123D CircuitsYesYesNolimitedYesYes
Circuit DiagramYesNoYesYesYesNoYesYesNo
DiaYesYesYesYesYesYesYesNoYes
ExpressSCHYesNoNo
gEDA gschemYeswith Cygwinwith help (PNG)YesYesYesYesYes
GimpYesYesNoNoNoYesNo
gnu ElectricYesYespartialYesYespartialYes
InkscapeYesYesYespartialYesYesYesNoYes
KiCadYesYesYesYesYesYesYesYesNo
KlunkyYesYesNoYesYesNoNoYesNo
LaTeX/CircdiaYesYesnot directlyYesYesNoYesYesNo
LaTeX/CircuiTikZYesYesYes (with help)YesYesYesYesYes
LaTeX/Circuit MacrosYesYesYesYesYesYesYesYes
LaTeX/PSTricksYesYesYes (with help)YesYesYesYesYesYes
LcapyYesYesYesYesYesYesYesYes
QucsYesYesYesYesYesYesYesYesNo
SIMetrixNoYesYesYesYesYesYesYes
Vector BlocksYesYesYesYesYesNoNoYesNo
XcircuitYesYeswith helpYesYesYes