Creating Schematics With Xcircuit
InstallationInstallation of xcircuit may be accomplished by way of either source code or an RPM package.
For RPM systems, simply download the RPM version of xcircuit, become root, and install the package as follows:
#rpm -i xcircuit-2.0a11-1.i386.rpm
For source code installations, download the .bz2 file and do the following as a regular user:
Edit the Imakefile and uncomment the line:$bunzip2 xcircuit-2.0a11.tar.bz2 $tar -xvf xcircuit-2.0a11.tar $cd xcircuit-2.0a11
CCOPTIONS = -O2 -m486
Again, as a regular user, compile the code as follows:
Now become root and run:$xmkmf $make
and finally, as a regular user:#make install #make install man
$make clean $rehash $xcircuit
There are several versions of xcircuit available on the xcircuit home page. The beta version of the program functions but tends to be a bit unstable. I recommend starting with the more stable alpha 11 version just to get a feel for the program. Beware that schematics created with the new version may not be backwards compatible with the old version.
Entering a SchematicTo begin, you should read the Xcircuit tutorial and work through all of the examples. The tutorial is easy to follow and will quickly get you up to speed entering schematics. As with most documentation, the tutorial is a bit out of date. The tutorial is based around an older version of the program, but all of the example exercises seem to work. The xcircuit home page has a down-loadable version of the tutorial, so you don't need to be online to run the tutorial.
The drawing conventions used for making electronic schematics vary from region to region. Xcircuit can easily support different styles with the use of custom parts libraries. A fairly conventional U.S. schematic style is used in this article.
A quick summary of the steps involved in making a schematic are:
When xwd turns the cursor into a "+" symbol, click on the xcircuit window. Xwd is part of the XFree86 package and convert is part of the ImageMagick package.xwd ?> /tmp/image.xwd convert /tmp/image.xwd image.jpg rm /tmp/image.xwd
The user interface on xcircuit has been well thought out for efficiency of use. Making wire connections is probably the single most common step to entering a schematic, and the program is set up so that the mouse is normally in wire entry mode. Pulling parts symbols from the libraries is another common task, the parts libraries are just a click of the "L" key away. Once you are up to speed on the basic operations, high quality schematics can be produced very rapidly.
Creating Custom Parts LibrariesXcircuit's ability to create custom parts libraries is probably its most powerful feature since it allows the user to tailor the program to their own needs. The tutorial should be followed to learn how to create and manipulate parts libraries. The parts libraries are just ASCII postscript files, it is possible to edit the libraries with your favorite text editor. Be sure to save an unmodified copy of the library before hacking on it. The general purpose nature of the program allows any kind of custom symbols to be created. The musical composition on the xcircuit home page is a good example of the flexibility of the program. The program has a tendency to crash when working on custom parts libraries on RedHat 6.X systems, save often.
Development and ImprovementsThe newer beta version of xcircuit includes a feature called schematic capture, this adds another level of information on top of the schematic that allows for circuit simulation with tools such as spice. Netlists, which describe lists of parts with common connections, can be created in schematic capture mode and can be used with printed circuit board tools to assist in the layout of parts. The beta version if xcircuit is indeed very beta, one should proceed with caution since it tends to crash easily.
ConclusionXcircuit is a bit rough around the edges at this point in its development, but it has proven itself to be a valuable program. If you design circuits, network diagrams, flow charts, or just need a drawing package with symbol libraries, xcircuit is worth investigating.