|
|
(7 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| ==Programs for drawing circuits== | | ==Programs for drawing circuits== |
|
| |
|
| ===[[Inkscape]]=== | | ===SIMetrix=== |
| [[Image:Transistor_amplifier_blocked_emitor.svg|thumb|150px|Example of Inkscape's SVG output]]
| |
|
| |
|
| 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.
| |
|
| |
| There is a (small but extensible) [http://commons.wikimedia.org/wiki/Image:Electrical_symbols_library.svg library of symbols] available.
| |
|
| |
| [[Image:Electrical_symbols_library.svg|thumb|150px|Library of electrical symbols for diagramming]]
| |
|
| |
| Creating diagrams using this template is slightly slower than in specialised programs, but it is very flexible and produces nice vector output.
| |
|
| |
| {{clear}}
| |
|
| |
| ===[[Dia (software)|Dia]]===
| |
| [[Image:Star-Triangle transformation.png|thumb|100px|Star-triangle transformation drawn with Dia]]
| |
|
| |
| 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.
| |
|
| |
| {{clear}}
| |
|
| |
| ===Klunky===
| |
| [[Image:Opamptransistorlevel.png|thumb|100px|An example op-amp circuit drawn with Klunky and GIMP]]
| |
|
| |
| 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'''
| |
| * 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 SVGs directly. This would be the ideal solution if not for the limitation of putting everything in square blocks.
| |
|
| |
| {{clear}}
| |
|
| |
| ===SIMetrix===
| |
| [[Image:Simetrix_sample.PNG|thumb|150px|Common emitter amplifier drawn using SIMetrix.]]
| |
|
| |
|
| SIMetrix [http://www.simetrix.co.uk/], as of version 5.40b (Jan 2008): | | SIMetrix [http://www.simetrix.co.uk/], as of version 5.40b (Jan 2008): |
Line 65: |
Line 23: |
| *Email registration required to receive download link (no password or user account needed) | | *Email registration required to receive download link (no password or user account needed) |
|
| |
|
| {{clear}}
| |
|
| |
|
| ===[[PSTricks]]===
| |
| [[Image:Sallen_key_filter_generic.png|thumb|200px|Sallen–Key filter drawn with pst-circ]]
| |
|
| |
|
| 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.
| | === [[KiCad]] === |
|
| |
|
| '''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 TeX (e.g., mathematical formulas and nicely typeset text).
| |
| *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.
| |
| '''Disadvantages:'''
| |
| *Have to know how to use TeX (or [[LaTeX]]).
| |
| *No analysis features (i.e., it is just a drawing tool).
| |
|
| |
| {{clear}}
| |
|
| |
| === [[KiCad]] ===
| |
| [[Image:Kicad SVG Output Sample.svg|thumb|100px|Unbalanced Splitter drawn with KiCAD]]
| |
| Having recently moved to SourceForge, [[KiCAD]] [http://kicad.sf.net KiCAD] is an open source suite of tools including schematic design. | | Having recently moved to SourceForge, [[KiCAD]] [http://kicad.sf.net KiCAD] is an open source suite of tools including schematic design. |
| It has some nice features: | | It has some nice features: |
Line 104: |
Line 42: |
| * Can't use Greek in labels, which means no Ω on resistor values. | | * Can't use Greek in labels, which means no Ω on resistor values. |
|
| |
|
| {{clear}}
| | |
|
| |
|
| ===[[Qucs]]=== | | ===[[Qucs]]=== |
| [[Image:Qucs Sample Circuit Screenshot.png|thumb|100px|Practice problem for node equations]]
| | |
| 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. | | 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. |
|
| |
| {{clear}}
| |
|
| |
| == 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 "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?"
| |
|
| |
| 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.
| |
|
| |
| {| border=1
| |
| ! Program !! [[Free Software|Free]] !! Cross Platform !! SVG !! Library !! Grid !! Attach wires !! Drawing !! Bezier curves !! Easy circuits
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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 || 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
| |
| |-
| |
| | 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
| |
| |-
| |
| | 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
| |
| |-
| |
| |}
| |
|
| |
| (*1) Use the "g" key (instead of "m") to "Grab" a component and drag it with all connections.
| |
|
| |
|
|
| |
|
Line 157: |
Line 53: |
|
| |
|
| * XCircuit. Not for Windows, GUI ugly as hell. | | * XCircuit. Not for Windows, GUI ugly as hell. |
| | * Dia. Not specifically for circuits. |
| | * Inkscape. Generic drawing program. |
| | * Klunky. WTH? |
| | * PSTricks |
| | * gnu Electric |
| | * gEDA. Not for Windows |