Jump to content

Wikipedia:WikiProject Electronics/Programs: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Feature Comparison: Bezier curves are useful for drawing graphs and have little relevance to drawing circuit diagrams.
 
(66 intermediate revisions by 30 users not shown)
Line 1: Line 1:
==Programs for drawing circuits==
==Programs for drawing circuits==


===[[Inkscape]]===
===123D Circuits===
[http://123d.circuits.io/ 123D Circuits] In-browser circuit design and PCB layout tools.
[[Image:Transistor_amplifier_blocked_emitor.svg|thumb|150px|Example of Inkscape's SVG output]]


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.
Inkscape [http://www.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.


===Circuit Diagram===
There is a (small but extensible) [http://commons.wikimedia.org/wiki/Image:Electrical_symbols_library.svg library of symbols] available.
[http://www.circuit-diagram.org/ Circuit Diagram] is a user-friendly program for making electronic circuit diagrams on Windows.


===Dia===
[[Image:Electrical_symbols_library.svg|thumb|150px|Library of electrical symbols for diagramming]]
[[File:Star-Triangle transformation.png|thumb|200px|Star-triangle transformation drawn with Dia]][[Dia (software)|Dia]] ([http://www.gnome.org/projects/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===
Creating diagrams using this template is slightly slower than in specialised programs, but it is very flexible and produces nice vector output.
Free to download Windows program. Complements ExpressPCB. Both programs are from [http://www.expresspcb.com/ ExpressPCB] board manufacturers.


===EasyEDA===
{{clear}}
[https://easyeda.com/ 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:
===[[Xcircuit]]===
[[Image:Negative impedance converter.svg|thumb|100px|Negative impedance converter drawn with Xcircuit]]


'''Export'''
Xcircuit [http://opencircuitdesign.com/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|PostScript]], and it can be converted to [[SVG]] using [http://www.pstoedit.net/pstoedit Pstoedit]. It can optionally export with any quality in [[Portable Network Graphics|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 (there is [http://www.geocities.com/sw286000/ a beta for Windows] and [http://opencircuitdesign.com/xcircuit/download.html Mac OS X]) adding some libraries in it. Some of the symbols are kind of ugly.
* PCB netlist in Altium Designer KiCad PADS
* Spice netlist
* WaveForm simulation plot data (in CSV format)
* Schematic in PDF image SVG
* Creation of BoM reports
'''Import'''
* Altium/ProtelDXP ASCII Schematic/PCB
* Eagle Schematic/PCB/libs
* LTspice Schematic/symbols (may require editing for Ngspice compatibility)
* Kicadlibs/modules (footprint libraries)
* Spice models and subcircuits


===gEDA===
For more info about creating [[SVG]] circuits with it see [[Wikipedia:WikiProject Electronics/How to draw SVG circuits using Xcircuit|How to draw SVG circuits using Xcircuit]].
[[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'').
{{clear}}


gEDA may be run under MS Windows using [[Cygwin|http://geda.seul.org/wiki/geda:cygwin]].
===[[Dia (software)|Dia]]===
[[Image:Star-Triangle transformation.png|thumb|100px|Star-triangle transformation drawn with Dia]]


'''Advantages'''
Somewhat of a compromise between the previous two, Dia [http://www.gnome.org/projects/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.
*Snap to grid
*Component libraries with built-in editor
*Rotate components
*Mature Open source and actively maintained
*Attached traces move with objects


'''Disadvantages'''
{{clear}}
*Extra effort to run under Microsoft Windows


===[[GIMP]]===
===GIMP===
[[GIMP]] ([http://www.gimp.org 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 [http://commons.wikimedia.org Commons] to draw circuits. It could be useful for some post-processing, but the output will not be in SVG.


===gnu Electric===
GIMP [http://www.gimp.org] 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 [http://commons.wikimedia.org Commons] to draw circuits. It could be useful for some post-processing, but the output will not be in SVG.
The gnu [[Electric_(software)|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).
{{clear}}


'''Advantages:'''
===Klunky===
*No install — a single Java .jar contains the program and all help files
[[Image:Opamptransistorlevel.png|thumb|100px|An example op-amp circuit drawn with Klunky and GIMP]]
*Exceptionally powerful
*Very easy to draw schematics
*Moving objects moves and reroutes wires fairly intelligently


Klunky [http://www.qsl.net/wd9eyb/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]]. [http://mysite.verizon.net/negatron/klunky/klunky.html Enhanced version is here.])

'''Advantages'''
* Relatively quick, at least compared to drawing components by hand
* No install — runs in web-browser
* Public domain
* Can be enhanced even further with better-drawn components
'''Disadvantages'''
'''Disadvantages'''
*Overly powerful for simply drawing schematics — some will find it too much to learn (or ignore)
* Outputs a raster format
*Limited electronic objects in library
* Everything is restricted to blocks and some compacting to save space is sometimes needed in the image editor afterwards
*Not clear how to add to the library (create your own schematic objects -- it may be there)
* Can't save / transfer drawings (unless you edit browser cookies)
* Style changes between creators. Even the style has changed for the same creator somewhat, since he switched to GIMP which has different fonts and smoothing.


===Inkscape===
Beats drawing it by hand, though, and drawing simple circuits is pretty fast.
[[File:Transistor_amplifier_blocked_emitor.svg|thumb|200px|Example of Inkscape's SVG output]][[Inkscape]] ([http://www.inkscape.org 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.


[[File:Electrical_symbols_library.svg|thumb|200px|Library of electrical symbols for diagramming with Inkscape]]There is a (small but extensible) [http://commons.wikimedia.org/wiki/Image:Electrical_symbols_library.svg 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.
[[User:Poccil]] has been working on an update to Klunky that generates SVGs directly. This would be the ideal solution if not for the limitation of putting everything in square blocks.


[[File:Inkscape_Library_based_on_Circuit_Macros.svg|thumb|200px|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 ([http://pav.iki.fi/software/textext/ TexText]) extension. With these options, one can convert Inkscape into a powerful circuit diagram drawing software.
{{clear}}


=== Microsoft drawings ===
===KiCad===
[[File:Kicad SVG Output Sample.svg|thumb|200px|Unbalanced Splitter drawn with KiCad]][[KiCad]] ([http://kicad.sf.net KiCad]) is a [[free software]] suite of tools including schematic design.
[[Image:Common Base amplifier.png|thumb|100px|Common base amplifier drawn with Microsoft's Autoshapes]]
It has some nice features:
*Snap to grid
*Component libraries with built-in editor
*Rotate components
*Moving a component moves attached traces when pressing CTRL while clicking the group to move.
*Outputs in SVG (which works with OOo's SVG import tool)
*[[Free software]] and actively maintained


But isn't perfect:
'''Advantages:'''
*Doesn't route around components
* Nice-looking output
*SVG output includes page border, title, etc. (can be cropped with something like Inkscape)
* Meant for creating diagrams
*Part labels and values in SVG output are rendered as lines (thus the letter "M") is 4 line segments... making them very difficult to change later.
** Autorouting of connectors
*Can't use Greek in labels, which means no Ω on resistor values.
** Snap to grid
'''Disadvantages:'''
* Non-free
* Raster output
* Requires drawing each component by hand at least once.


===Klunky===
See [[commons:User talk:Peo#Diagrams]] for discussion.
[[File:Opamptransistorlevel.png|thumb|200px|An example op-amp circuit drawn with Klunky and GIMP]][http://www.qsl.net/wd9eyb/klunky/ 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]]. [http://mysite.verizon.net/negatron/klunky/klunky.html Enhanced version is here.])


'''Advantages'''
{{clear}}
*Relatively quick, at least compared to drawing components by hand
*No install — runs in web-browser
*Public domain
*Can be enhanced even further with better-drawn components
'''Disadvantages'''
*Outputs a raster format
*Everything is restricted to blocks and some compacting to save space is sometimes needed in the image editor afterwards
*Can't save / transfer drawings (unless you edit browser cookies)
*Style changes between creators. Even the style has changed for the same creator somewhat, since he switched to GIMP which has different fonts and smoothing.


Beats drawing it by hand, though, and drawing simple circuits is pretty fast.
===SIMetrix===
[[Image:Simetrix_sample.PNG|thumb|150px|Common emitter amplifier drawn using SIMetrix.]]


[[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.
SIMetrix [http://www.simetrix.co.uk/], as of version 5.40b (Jan 2008):

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


'''Advantages:'''
'''Advantages:'''
*Nice looking output.
*Professional looking output (same quality as in commercial textbooks).
*Free and open source software.
*Schematic editor with SPICE simulator.
*Transparent source that is [[diff]]able.
*Free version with unlimited schematic drawing and editing.
*Mathematical formulas and text are nicely typeset.
**Hierarchical schematics
*Vector graphics output (PDF, for example).
*Selection of colours for components, wires, etc. for easy identification.
*If you already use LaTeX for preparing documents, drawing circuit diagrams is relatively easy to learn.
*Zooming facility, auto-routing and snap-to-grid.

*Simple placement of components — select and click-to-place with mouse.
*Automatic repeat placement of last component.
*Can save a schematic as an SVG or other graphic file.
*Can save schematics in an ASCII or binary format — documentation for the ASCII format is provided with the installation.
*Free version for Windows or Linux may be used indefinitely; program may be freely shared (per SIMetrix 5.40b splash screen)
'''Disadvantages:'''
'''Disadvantages:'''
*If you are new to [[LaTeX]], the learning curve is pretty steep.
*Free version has limited simulation capability (not applicable for drawing schematics).
*No analysis features (i.e., it is just a drawing tool).
*Not open source
*Email registration required to receive download link (no password or user account needed)


====CircuiTikZ (a LaTeX package)====
{{clear}}
[[File:Circuitikz.svg|thumb|200px|Circuit diagrams drawn with CircuiTikZ]][[CircuiTikZ]] ([http://www.ctan.org/tex-archive/graphics/pgf/contrib/circuitikz CircuiTikZ]) is a [[PGF/TikZ|TikZ]] add-on for drawing schematic diagrams.


'''Advantages:'''
=== WikiTeX and gschem ===
*Very professional looking output (same quality as in commercial textbooks).
[[Image:Wikitexschem.png|200px|thumb|An example of WikiTex schem output]]
*Active user community[http://tex.stackexchange.com/questions/tagged/circuitikz].
*Tikz can be used to draw almost anything, so it might be worth learning anyway.


'''Disadvantages:'''
See [http://wikisophia.org/wiki/Wikitex#Schem] and [http://wikisophia.org/wiki/Schem]. This is a proposal to add schematics directly into the wiki using code and gschem output. The code is incredibly ugly and the graphical output is not great, either.
*Some learning of Tikz is required.


====Circdia (a LaTeX package)====
{{clear}}
[[Circdia]] ([http://www.jokr.de/stefan/latex/pakete/ Circdia]) uses [[PGF/TikZ|TikZ]] for drawing schematic diagrams. Supports various European component styles.


'''Advantages:'''
===[[PSTricks]]===
*Beautiful component templates, most of them in different flavours.
[[Image:Sallen_key_filter_generic.png|thumb|200px|Sallen–Key filter drawn with pst-circ]]
*Based on Tikz.
*Very flexible configuration, enables complicated transformer and logic chip setups.


'''Disadvantages:'''
pst-circ [http://pstcirc.free.fr/] is a circuit drawing package implemented with PSTricks [http://www.tug.org/PSTricks/], which allows [[TeX]] users to "code" figures with the aid of [[PostScript]]. Packages like [http://ctan.org/pkg/pst-eps pst-eps] or [http://ctan.org/pkg/preview preview] allow for easy production of images with tight bounding boxes.
*Well documented, but only in German.

====PSTricks (a LaTeX package)====
[[File:Sallen_key_filter_generic.png|thumb|200px|Sallen–Key filter drawn with PSTricks]][[PSTricks]] ([http://pstcirc.free.fr/ pstcirc]) is a circuit drawing package implemented with PSTricks [http://www.tug.org/PSTricks/], which allows [[TeX]] users to "code" figures with the aid of [[PostScript]]. Packages like [http://ctan.org/pkg/pst-eps pst-eps] or [http://ctan.org/pkg/preview preview] allow for easy production of images with tight bounding boxes.


'''Advantages:'''
'''Advantages:'''
*Nice looking output.
*Free version with unlimited schematic drawing and editing.
*Transparent source that is [[diff]]able.
*Full use of PostScript (e.g., colors, bitmaps, vectors, etc.).
*Full use of PostScript (e.g., colors, bitmaps, vectors, etc.).
*Full use of TeX (e.g., mathematical formulas and nicely typeset text).
*Many symbols available (e.g., zigzag and chemical dipole symbols, transistors, FETs, analog, digital).
*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.).
**Symbols that are not available can easily be drawn with drawing primitives (lines, boxes, etc.).
*3D images and effects available.
*3D images and effects available.
'''Disadvantages:'''
*Have to know how to use TeX (or [[LaTeX]]).
*No analysis features (i.e., it is just a drawing tool).


====LaTeX-Circuit-Diagram (a LaTeX macro file)====
{{clear}}
LaTeX-Circuit-Diagram [https://code.google.com/p/latex-circuit-diagram/ LaTeX-circuit-diagram] is a macro package for drawing electric circuit diagrams.
[[File:Ohm's law simple circuit.svg|thumb|200px|A simple circuit with LaTeX-Circuit-Diagram macro package]]


'''Advantages'''
=== [[KiCad]] ===
* No extra packages needed, just include one file.
[[Image:Kicad SVG Output Sample.svg|thumb|100px|Unbalanced Splitter drawn with KiCAD]]
* Official IEC symbols (the same package is used in several Finnish university textbooks).
Having recently moved to SourceForge, [[KiCAD]] [http://kicad.sf.net KiCAD] is an open source suite of tools including schematic design.
* Simple command interface, for example <nowiki>\vj{50,50}{J=1\mA}</nowiki> outputs a vertical current source symbol at coordinates 50,50 with label J=1 milliamps.
It has some nice features:
* In addition to element symbols, the package contains voltage arrows and current arrows too, which are handy for encyclopedia and textbook use.
* Snap to grid
* Easy to extend and contribute to.
* Component libraries with built-in editor
* Rotate components
* Moving a component moves attached traces when pressing CTRL while clicking the group to move.
* Outputs in SVG (which works with OOo's SVG import tool)
* Open source and actively maintained


====Circuit macros (a LaTeX macro file)====
But isn't perfect:
[https://ece.uwaterloo.ca/~aplevich/Circuit_macros/ 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 language|M4 macro processor]] and a [[Pic language|Pic interpreter]] and can produce [[PGF/TikZ|TikZ]] code.
* Doesn't route around components
* SVG output includes page border, title, etc (can be cropped with something like InkScape)
* Part labels and values in SVG output are rendered as lines (thus the letter "M") is 4 line segments... making them very difficult to change later.
* Can't use Greek in labels, which means no Ω on resistor values.


'''Advantages:'''
{{clear}}
* Very nice and consistent symbol library ([https://www.collindelker.com/2012/08/25/circuit_macros-vs-circuitikz.html comparison with CircuiTikZ]).
* Well documented, more than 100 examples included.
* There are a couple of previewers around ([https://wwwu.uni-klu.ac.at/magostin/cirkuit.html cirkuit], [https://github.com/orestesmas/pycirkuit pycirkuit], [https://www.collindelker.com/2013/04/28/circuit_macros_previewer.html Circuit_macros previewer]).
* Extendable via the Pic language.


'''Disadvantages:'''
===[[Qucs]]===
* Requires learning the Pic language.
[[Image:Qucs Sample Circuit Screenshot.png|thumb|100px|Practice problem for node equations]]
* Extra software needed (m4 and a Pic interpreter).
Qucs [http://qucs.sourceforge.net] (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, but lacks SVG support.
* More steps required to process a diagram.


=== Lcapy ===
{{clear}}


[[Lcapy]] ([https://lcapy.readthedocs.io/en/latest/ 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.
===[[Electric_(software)|gnu Electric]]===


=== OpenModelica ===
The Electric VLSI Design System [http://www.staticfreesoft.com] 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.
[http://OpenModelica.org 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===
Electric has been open-source for many years, and is currently available through the Free Software Foundation (Gnu).
[http://www.partsim.com/ 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===
'''Advantages:'''
[[File:Qucs Sample Circuit Screenshot.png|thumb|200px|Practice problem for node equations, drawn with Qucs]][[Qucs]] [http://qucs.sourceforge.net 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.
* No install — a single Java .jar contains the program and all help files
* Exceptionally powerful
* Very easy to draw schematics
* Moving objects moves and reroutes wires fairly intelligently


It has some nice features:
'''Disadvantages'''
* Export schematics and individual diagrams to SVG, PNG, JPG, JPEG, PDF, and PDF+Latex, EPS (Inkscape required).
* Overly powerful for simply drawing schematics — some will find it too much to learn (or ignore)
* Limited electronic objects in library
* Not clear how to add to the library (create your own schematic objects -- it may be there)


===SIMetrix===
{{clear}}
[[File:Simetrix_sample.PNG|thumb|200px|Common emitter amplifier drawn using SIMetrix.]][http://www.simetrix.co.uk/ SIMetrix], as of version 5.40b (Jan 2008):


'''Advantages:'''
=== [[gEDA]] ===
*Nice looking output.
[[Image:Gschem.png|thumb|100px|gEDA gschem screenshot]]
*Schematic editor with SPICE simulator.
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''.
*Free version with unlimited schematic drawing and editing.

**Hierarchical schematics
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'').
*Selection of colours for components, wires, etc. for easy identification.
*Zooming facility, auto-routing and snap-to-grid.
*Simple placement of components &mdash; select and click-to-place with mouse.
*Automatic repeat placement of last component.
*Can save a schematic as an SVG or other graphic file.
*Can save schematics in an ASCII or binary format &mdash; documentation for the ASCII format is provided with the installation.
*Free version for Windows or Linux may be used indefinitely; program may be freely shared (per SIMetrix 5.40b splash screen)
'''Disadvantages:'''
*Free version has limited simulation capability (not applicable for drawing schematics).
*Not open source
*Email registration required to receive download link (no password or user account needed)


===Vector Blocks===
gEDA may be run under MS Windows using [[Cygwin|http://geda.seul.org/wiki/geda:cygwin]].
[[File:741 op-amp schematic.svg|thumb|200px|An example op-amp circuit drawn with Vector Blocks]][http://bretmulvey.com/VectorBlocks 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'''
'''Advantages'''
*Quick to put together small schematics
* Snap to grid
*No install — runs in web-browsers with HTML5 and SVG support, e.g. FF7+, Safari and IE9+
* Component libraries with built-in editor
* Rotate components
*A lot of common components
* Mature Open source and actively maintained
* Attached traces move with objects


'''Disadvantages'''
'''Disadvantages'''
*Everything is restricted to blocks, although this limitation is lessened compared to Klunky
* Extra effort to run under Windows
*Can't re-import drawings


===Xcircuit===
{{clear}}
[[File:Negative impedance converter.svg|thumb|200px|Negative impedance converter drawn with Xcircuit]][[Xcircuit]] ([http://opencircuitdesign.com/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|PostScript]], and it can be converted to [[SVG]] using [http://www.pstoedit.net/pstoedit Pstoedit]. It can optionally export with any quality in [[Portable Network Graphics|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&nbsp;OS&nbsp;X adding some libraries in it. Some of the symbols are kind of ugly.


For more information about creating [[SVG]] circuits with it see [[Wikipedia:WikiProject Electronics/How to draw SVG circuits using Xcircuit|How to draw SVG circuits using Xcircuit]].
== Feature Comparison ==

==Feature Comparison==
The Electronics Project has a [[Wikipedia:WikiProject_Electronics#Drawing_circuits|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 Electronics Project has a [[Wikipedia:WikiProject_Electronics#Drawing_circuits|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 "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?"
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.
Note that WikiTeX + gschem is left out of the chart as it is a server-side solution, not a client-side application. To make it a practical solution, one would need a GUI to create the schematics that could export them into the proper format for processing by the server.


{|class="wikitable sortable"
{| border=1
! Program !! [[Free Software|Free]] !! Cross Platform !! SVG !! Library !! Grid !! Attach wires !! Drawing !! Bezier curves !! Easy circuits
!Program!!Free!!Cross Platform!!SVG!!Library!!Grid!!Attach wires!!Drawing!!Easy circuits!!Bezier curves
|-
|123D Circuits||{{yes}}||{{yes}}||{{no}}||limited||||{{yes}}||||{{yes}}||
|-
|Circuit Diagram||{{yes}}||{{no}}||{{yes}}||{{yes}}||{{yes}}||{{no}}||{{yes}}||{{yes}}||{{no}}
|-
|Dia||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{no}}||{{yes}}
|-
|ExpressSCH||{{yes}}||{{no}}||{{no}}|||||||||| ||
|-
|gEDA gschem||{{yes}}||with Cygwin||with help (PNG)||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||
|-
|Gimp||{{yes}}||{{yes}}||{{no}}||{{no}}||||{{no}}||{{yes}}||{{no}}||
|-
|gnu Electric||{{yes}}||{{yes}}||||partial||{{yes}}||{{yes}}||partial||{{yes}}||
|-
|-
|Inkscape||{{yes}}||{{yes}}||{{yes}}||partial||{{yes}}||{{yes}}||{{yes}}||{{no}}||{{yes}}
| Inkscape || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FFE"|partial || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no
|-
|-
|KiCad||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{no}}
| Xcircuit || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FFE"|with help || style="background: #EFE"|yes || style="background: #EFE"|yes || || || || style="background: #EFE"|yes
|-
|-
|Klunky||{{yes}}||{{yes}}||{{no}}||{{yes}}||{{yes}}||{{no}}||{{no}}||{{yes}}||{{no}}
| Dia || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no
|-
|-
|LaTeX/Circdia||{{yes}}||{{yes}}||not directly||{{yes}}||{{yes}}||{{no}}||{{yes}}||{{yes}}||{{no}}
| Gimp || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no || style="background: #FEE"|no || || style="background: #FEE"|no || style="background: #EFE"|yes || || style="background: #FEE"|no
|-
|-
|LaTeX/CircuiTikZ||{{yes}}||{{yes}}||{{yes}} (with help)||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||
| Klunky || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no || style="background: #FEE"|no || style="background: #FEE"|no || style="background: #EFE"|yes
|-
|-
|LaTeX/Circuit Macros||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||
| Microsoft drawings || style="background: #FEE"|no || style="background: #FEE"|no || style="background: #FEE"|no || style="background: #FEE"|no || || style="background: #FEE"|no || style="background: #EFE"|yes || || style="background: #FEE"|no
|-
|-
|LaTeX/PSTricks||{{yes}}||{{yes}}||{{yes}} (with help)||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}
| SIMetrix || style="background: #FEE"|no || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes ||style="background: #EFE"|yes || || style="background: #EFE"|yes
|-
|-
|Lcapy||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||
| pst-circ || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FFE"|yes (with help) || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes ||style="background: #EFE"|yes ||style="background: #EFE"|yes || style="background: #EFE"|yes
|-
|-
|-|PartSim||||||||||||||||||
| KiCAD || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes(*1) || style="background: #EFE"|yes || style="background: #FEE"|no || style="background: #EFE"|yes
|-
|-
|Qucs||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{no}}
| Qucs || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FEE"|no || style="background: #EFE"|yes
|-
|-
|SIMetrix||{{no}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||
| gnu Electric || style="background: #EFE"|yes || style="background: #EFE"|yes || || style="background: #FFE"|partial || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #FFE"|partial || || style="background: #EFE"|yes
|-
|-
|Vector Blocks||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{yes}}||{{no}}||{{no}}||{{yes}}||{{no}}
| gEDA gschem || style="background: #EFE"|yes || style="background: #FFE"| with Cygwin || style="background: #FFE"|with help (PNG) || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || style="background: #EFE"|yes || || style="background: #EFE"|yes
|-
|-
|Xcircuit||{{yes}}||{{yes}}||with help||{{yes}}||{{yes}}||||||{{yes}}||
|}
|}


[[Category:WikiProject Electronics]]
(*1) Use the "g" key (instead of "m") to "Grab" a component and drag it with all connections.

Latest revision as of 11:37, 15 June 2024

Programs for drawing circuits

[edit]

123D Circuits

[edit]

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

[edit]

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

Dia

[edit]
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

[edit]

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

EasyEDA

[edit]

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

  • PCB netlist in Altium Designer KiCad PADS
  • Spice netlist
  • WaveForm simulation plot data (in CSV format)
  • Schematic in PDF image SVG
  • Creation of BoM reports

Import

  • Altium/ProtelDXP ASCII Schematic/PCB
  • Eagle Schematic/PCB/libs
  • LTspice Schematic/symbols (may require editing for Ngspice compatibility)
  • Kicadlibs/modules (footprint libraries)
  • Spice models and subcircuits

gEDA

[edit]

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

  • Snap to grid
  • Component libraries with built-in editor
  • Rotate components
  • Mature Open source and actively maintained
  • Attached traces move with objects

Disadvantages

  • Extra effort to run under Microsoft Windows

GIMP

[edit]

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

[edit]

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:

  • No install — a single Java .jar contains the program and all help files
  • Exceptionally powerful
  • Very easy to draw schematics
  • Moving objects moves and reroutes wires fairly intelligently

Disadvantages

  • Overly powerful for simply drawing schematics — some will find it too much to learn (or ignore)
  • Limited electronic objects in library
  • Not clear how to add to the library (create your own schematic objects -- it may be there)

Inkscape

[edit]
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

[edit]
Unbalanced Splitter drawn with KiCad

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

It has some nice features:

  • Snap to grid
  • Component libraries with built-in editor
  • Rotate components
  • Moving a component moves attached traces when pressing CTRL while clicking the group to move.
  • Outputs in SVG (which works with OOo's SVG import tool)
  • Free software and actively maintained

But isn't perfect:

  • Doesn't route around components
  • SVG output includes page border, title, etc. (can be cropped with something like Inkscape)
  • Part labels and values in SVG output are rendered as lines (thus the letter "M") is 4 line segments... making them very difficult to change later.
  • Can't use Greek in labels, which means no Ω on resistor values.

Klunky

[edit]
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

  • Relatively quick, at least compared to drawing components by hand
  • No install — runs in web-browser
  • Public domain
  • Can be enhanced even further with better-drawn components

Disadvantages

  • Outputs a raster format
  • Everything is restricted to blocks and some compacting to save space is sometimes needed in the image editor afterwards
  • Can't save / transfer drawings (unless you edit browser cookies)
  • Style changes between creators. Even the style has changed for the same creator somewhat, since he switched to GIMP which has different fonts and smoothing.

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

[edit]

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

Advantages:

  • Professional looking output (same quality as in commercial textbooks).
  • Free and open source software.
  • Transparent source that is diffable.
  • Mathematical formulas and text are nicely typeset.
  • Vector graphics output (PDF, for example).
  • If you already use LaTeX for preparing documents, drawing circuit diagrams is relatively easy to learn.

Disadvantages:

  • If you are new to LaTeX, the learning curve is pretty steep.
  • No analysis features (i.e., it is just a drawing tool).

CircuiTikZ (a LaTeX package)

[edit]
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[1].
  • 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)

[edit]

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)

[edit]
Sallen–Key filter drawn with PSTricks

PSTricks (pstcirc) is a circuit drawing package implemented with PSTricks [2], 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)

[edit]

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)

[edit]

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

[edit]

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

[edit]

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

[edit]

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

[edit]
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:

  • Export schematics and individual diagrams to SVG, PNG, JPG, JPEG, PDF, and PDF+Latex, EPS (Inkscape required).

SIMetrix

[edit]
Common emitter amplifier drawn using SIMetrix.

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

Advantages:

  • Nice looking output.
  • Schematic editor with SPICE simulator.
  • Free version with unlimited schematic drawing and editing.
    • Hierarchical schematics
  • Selection of colours for components, wires, etc. for easy identification.
  • Zooming facility, auto-routing and snap-to-grid.
  • Simple placement of components — select and click-to-place with mouse.
  • Automatic repeat placement of last component.
  • Can save a schematic as an SVG or other graphic file.
  • Can save schematics in an ASCII or binary format — documentation for the ASCII format is provided with the installation.
  • Free version for Windows or Linux may be used indefinitely; program may be freely shared (per SIMetrix 5.40b splash screen)

Disadvantages:

  • Free version has limited simulation capability (not applicable for drawing schematics).
  • Not open source
  • Email registration required to receive download link (no password or user account needed)

Vector Blocks

[edit]
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

  • Quick to put together small schematics
  • No install — runs in web-browsers with HTML5 and SVG support, e.g. FF7+, Safari and IE9+
  • A lot of common components

Disadvantages

  • Everything is restricted to blocks, although this limitation is lessened compared to Klunky
  • Can't re-import drawings

Xcircuit

[edit]
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

[edit]

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.

Program Free Cross Platform SVG Library Grid Attach wires Drawing Easy circuits Bezier curves
123D Circuits Yes Yes No limited Yes Yes
Circuit Diagram Yes No Yes Yes Yes No Yes Yes No
Dia Yes Yes Yes Yes Yes Yes Yes No Yes
ExpressSCH Yes No No
gEDA gschem Yes with Cygwin with help (PNG) Yes Yes Yes Yes Yes
Gimp Yes Yes No No No Yes No
gnu Electric Yes Yes partial Yes Yes partial Yes
Inkscape Yes Yes Yes partial Yes Yes Yes No Yes
KiCad Yes Yes Yes Yes Yes Yes Yes Yes No
Klunky Yes Yes No Yes Yes No No Yes No
LaTeX/Circdia Yes Yes not directly Yes Yes No Yes Yes No
LaTeX/CircuiTikZ Yes Yes Yes (with help) Yes Yes Yes Yes Yes
LaTeX/Circuit Macros Yes Yes Yes Yes Yes Yes Yes Yes
LaTeX/PSTricks Yes Yes Yes (with help) Yes Yes Yes Yes Yes Yes
Lcapy Yes Yes Yes Yes Yes Yes Yes Yes
Qucs Yes Yes Yes Yes Yes Yes Yes Yes No
SIMetrix No Yes Yes Yes Yes Yes Yes Yes
Vector Blocks Yes Yes Yes Yes Yes No No Yes No
Xcircuit Yes Yes with help Yes Yes Yes