Xcircuit-dev Xcircuit Installation For Mac

May 25, 2000
Forrest Cook
  1. Xcircuit-dev Xcircuit Installation For Mac
  2. Xcircuit-dev Xcircuit Installation For Mac Free
  3. Xcircuit Windows
  4. Xcircuit-dev Xcircuit Installation For Mac Free
Xcircuitis a powerful open source schematic capture program written byTimothy Edwards at Johns Hopkins University.The program has most of the features of a general purpose drawing package andincludes a symbol library facility that can be used to store user defined schematic symbols.Schematics, flow charts, chemical diagrams, and even musical scores may becreated with xcircuit by loading the freely available symbol libraries.There are even libraries of vacuum tube symbols for technical historiansand ham radio enthusiasts.A mathematical symbol typesetting capability is included in the program.Xcircuit uses the PostScript language for its output and library files.The PostScript created by Xcircuit is human readable which makes manualediting possible.Xcircuit is distributed under theArtistic License.

XCircuit is a UNIX/X11 program for drawing publishable-quality electrical circuit schematic diagrams and related figures and produce circuit netlists through schematic capture. XCircuit regards circuits as inherently hierarchical and writes both hierarchical PostScript output and hierarchical SPICE netlists. Circuit components are saved in.

  1. Shareware Junction periodically updates pricing and software information of XCircuit v.3.8.3 full version from the publisher using pad file and submit from users. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators, cd key, hacks is illegal and prevent future development of XCircuit v.3.8.3 Edition.
  2. This option is especially useful to install xcircuit in a local directory (i.e., install without root privilege).with-cairo This is the development option new to xcircuit version 3.9, making use of the Cairo graphics library for antialiased line rendering and font rendering from outline fonts. Developed by Erik van der Wal.

Installation

Installation of xcircuit may be accomplished by way of eithersource code or an RPM package.

For RPM systems, simplydownload the RPMversion of xcircuit, become root, and install the package as follows:

For source code installations, download the .bz2 file and do the followingas a regular user:

Edit the Imakefile and uncomment the line:

Again, as a regular user, compile the code as follows:

Now become root and run:and finally, as a regular user:

There are several versions of xcircuit available on the xcircuit homepage.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 afeel for the program.Beware that schematics created with the new versionmay not be backwards compatible with the old version.

Entering a Schematic

To begin, you should read theXcircuit tutorialand work through all of the examples.The tutorial is easy to follow and will quickly get youup 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 ofthe 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 fromregion to region.Xcircuit can easily support different styles with the use of customparts 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:

  • Pull the various parts you need from the parts libraries
  • Arrange the parts to where you want them on the page
  • Draw connecting wire lines between the parts
  • Place dots on the wire intersections
  • Enter text describing the part numbers, values, and other documentation
  • Save the file in PostScript format and print it out.
I use the old classic image viewing program XV 3.10a to convert xcircuitschematics to gif and jpeg files for inclusion in web pages.Run xcircuit and zoom the image to the desired scale, turn off thegrid and axes, do an image grab from xv, and save the image in yourfavorite format.XV isn't truly free software, any image manipulation tool with anequivalent 'grab' function will also work.Another method of turning an arbitrary image on the screen intoan image file is to use the programs xwd and convertXcircuit-dev: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 ImageMagickpackage.

The user interface on xcircuit has been well thought out for efficiencyof use.Making wire connections is probably the single most commonstep to entering a schematic, and the program is set up so that themouse is normally in wire entry mode.Pulling parts symbols from thelibraries is another common task, the parts libraries are just aclick 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 Libraries

Xcircuit's ability to create custom parts libraries is probablyits most powerful feature since it allows the user to tailor theprogram to their own needs.The tutorial should be followed to learn how to create and manipulateparts 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 symbolsto be created.The musical composition on the xcircuit home page is a goodexample of the flexibility of the program.The program has a tendency to crash when working on custom parts librarieson RedHat 6.X systems, save often.

Development and Improvements

Xcircuit-dev Xcircuit Installation For Mac

The newer beta version of xcircuit includes a feature calledschematic capture, this adds another level of information on top ofthe 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 withprinted circuit board tools to assist in the layout of parts.The beta version if xcircuit is indeed very beta, one shouldproceed with caution since it tends to crash easily.

Conclusion

Xcircuit 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 adrawing package with symbol libraries, xcircuit is worth investigating.

References

Xcircuit-dev Xcircuit Installation For Mac Free

  • Xcircuit home page
  • Xcircuit tutorial page
  • XV image viewer
  • ImageMagick image manipulation program
  • XFree86 window system
  • NEXT ARTICLEon using PCB


There has historically been, and still is, a lack of good, free MacOS native EDA (electronic design automation) software. The situation has somewhat improved in the past few years because the X11 layer in Mac OS X allows graphical unix applications to run natively on the Mac, concurrently with other programs. I recently learned to use some of these tools in the gEDA suite to lay out printed circuit boards. These (loosely, if at all, organized) notes should be helpful to anyone that wants to get started making PCBs using a mac, linux, or other unix-like system.
I use both fink and darwinports (which is renaming itself macports ) to install unix software on my Mac, although I’ve come to prefer fink.. These systems are effectively package managers, much like those found in various linux distributions, which can– in principle– automatically install all of the software parts that are required to install a major application. Some earlier documentation of this setup exists, but this installation is not all things sweet and light, so I thought I should put my two cents in.

Why bother? Because I want to be able to design PCBs with free, accessible, tools. Yes, Eagle is very popular, and available on multiple platforms but it is not free. Other commercial layout packages can easily reach into the tens of thousands of dollars.
The open source project gEDA is coming along nicely and is already quite viable on some platforms. With some work– documented below– I was able to get gEDA tools to compile on my mac, and use it to design some large boards.

When I first started looking at open-source tools for PCBs, I came across names like gEDA, xcircuit, and pcb, not really knowing their relationships.

I installed xcircuit using darwinports; it may also be possible to build it directly. Once it’s installed, open up an X11 terminal window and enter “xcircuit &” to launch it. My first impression of xcircuit is that it seems very primitive. But, thinking about it, every piece of EDA software that I’ve ever used has seemed primitive. Often, the more expensive the tools, the more primitive they seem. There’s a tutorial for xcircuit here. (Eventually, I decided that xcircuit was not for me, opting for gschem, part of the gEDA suite instead.)
I was able to install pcb by compiling it directly, without using fink or darwinports. However, it was not quite working quite properly– the window management was somewhat screwy. However, that’s exactly why you want to use the package manager– so you don’t foul something up because you forgot to check something important that you didn’t know about.

Xcircuit-dev Xcircuit Installation For Mac

Which brings us back to Fink. Recently, a number of EDA tools have become available through Fink, and this excellent page summarizes how to install them. First, install fink if you haven’t done so already. To install the major gEDA tools you enter fink install geda-bundle in the terminal. Fink will ask for your password and then download and install the necessary software bundles.

Or, at least it’s supposed to. Mine crapped out with error message ‘Failed: Can’t resolve dependency “transfig (>= 3.2.5-1004)” for package “geda-symbols-20050820-1004” (no matching packages/versions found).’ Doh. The problem is that the current fink package of transfig is at version 3.2.4-6, but version 3.2.5-1004 is required. An alternate version (transfig-graphicx 3.2.5-1007) is available, so I installed it as follows: fink install transfig-graphicx.

This worked, and installed transfig-graphicx 3.2.5-1007, but even so, I couldn’t install gEDA. So what’s going on now? Run fink list -i to see the list of installed packages. This turns up not only transfig-graphicx 3.2.5-1007, but also a “virtual package” of transfig 3.2.4-6. (Double doh!)

Xcircuit

Transfig is part of xfig, the drawing program, and you can download components of it here. I downloaded transfig.3.2.5_alpha7.tar.gz

Backing up a bit here… and as our president says, using “The Google,” I found this page by Mikey Sklar, who has his own fink install scripts and instructions for exactly this problem. I would add to his instructions the followings warnings: This takes approximately a whole day to install, you should have a broadband connection to download the files, and a few GB of disk space to burn. The principal operation of the installation is a command line operation, fink -y install geda-bundle. This attempts to install the entire geda-bundle and uses the “-y” option, which automatically says “yes” to the default option when given any choice during the install.

After about four hours and 1.5 GB, this set of scripts finally crapped out and said “Failed: Problem resolving dependencies. Check for circular dependencies.” The trouble is, I didn’t want to spend all day sorting out dependencies, which is why I’m trying to install this by using someone else’s install scripts!

The geda-bundle consists of a list of packages to install. To check if the first package (geda-doc) had installed correctly, I entered fink install geda-doc, which either attempts to install it or returns a message (“No packages to install.”) indicating that the package is already installed. It turned out that the first two packages (geda-doc and geda-examples) had installed correctly, but something had gone wrong on the third package, geda-gattrib. When I tried to install this component by typing
“fink install geda-gattrib,” I was presented with a choice: fink needs help picking an alternative to satisfy a virtual dependency. The candidates:
(1) libgeda26-data: GNU EDA — Electronics design software — data files

(2) libgeda27-data: GNU EDA — Electronics design software — data files

Xcircuit Windows

Pick one: [1]
The default choice (libgeda26-data) led to the error, so I tried option 2 (libgeda27-data), which worked and allowed geda-gattrib to install correctly. That issue resolved, I again entered “fink -y install geda-bundle” to try to install the rest of the components and– everything else worked. (Whew!)

There’s one remaining loose end to tidy up, which is to make sure that the system paths are set correctly for software installed by fink. The paths tell the system where to find the programs when you try to launch them, so if your gEDA programs don’t launch, make sure that these are correct. If you read the instructions when you installed fink, you’ve probably already set this up. If not, or if you want to double check, follow the instructions under the heading “Setting Up Your Environment” in the fink installation procedures.
Starting to work with gEDA:

The gEDA documentation wiki is the primary source of documentation. gEDA is not a single program but a collection of programs. If you’re new to printed circuit design, you need to learn some vocabulary in order to navigate around the different programs. Loosely speaking, you use a schematic capture program (gschem) to make a circuit diagram that can export a data file of wiring connections, called a netlist, to the layout program (pcb), which you use to actually design the board. Once the board is designed, you can export the design as a set of gerber files that can be sent to a PCB manufacturing service. The gEDA documentation has a sort of flowchart to explain this on this page.

To start building your schematic, launch gschem by opening up an X11 terminal window and entering “gschem &”. You might want to start by adding a component, by selecting “Component” from the “Add” menu, which seems straightforward enough. As much as I’d like to then say “just play with it,” as I usually do for new software, that’s actually the wrong approach here. Every set of schematic and layout tools that I’ve ever used has seemed like a program from fifteen years ago, and this is no exception! You should start with this gschem warmup and proceed right to the full-blown tutorial on making a schematic and laying out the PCB. This article is a slightly more user-friendly version that covers much of the same ground.

Xcircuit-dev xcircuit installation for mac free

Xcircuit-dev Xcircuit Installation For Mac Free

Schematic capture in gschem
But hey, it works. Hints: You will need to map a footprint to each component to move from gschem to pcb. I found this hint to be helpful– open up a new session in pcb and start placing footprints to see what they look like.

Multi-part components are a little bit tricky and not yet supported as well as I would like to see. For example, in placing an LM324 quad op-amp you need to edit the “slot” of each part to indicate which part of the op-amp that it’s from. That’s fine, but when you run the refdes_renum program to auto-update the reference labels, it set the four op-amps to come from different chips. Then you need to go back go gschem to tell it that, yes, those four are actually all part of the same chip.

Overall, I would rate the combination of gschem and PCB as usable but not anywhere close to user-friendly. One of the biggest problems is that there’s isn’t any real documentation from a casual user’s point of view. There’s the tutorial in getting started that I mentioned, and there is the (hardcore) official documentation, which has a grand total of three-count-em-three images in its 130+ pages. Dude, it’s a graphics program; we need pictures! Anyway, the documentation is probably very useful if you are a developer working on improving the program.

Minor annoyances are easily found; the board optimizing features sound great but do not really seem to do much of anything. Scrolling to the edge of the screen while dragging a component slowly scrolls: good. Scrolling to the edge of the screen while drawing a wire does nothing: bad, inconsistent, and illogical. It’s tricky to figure out how to move component labels; I still haven’t figured out how to move them between layers, although I seem to have done it accidentally exactly once. Once my grid stopped working– closing and reopening PCB fixed it. (Ugh.) Several other mysteries have also been resolved that way, and that is *not* a good sign. Really my fault but still annoying: my multi-page schematic failed to show up properly in the layout program because I entered the net names in the “netname” attribute field, instead of that for the “net” attribute. And then, the net name (not netname) “io42” does not work, but “io42:1” does– and I have no idea either why, or how I figured out to try adding the “:1” to the end, or why that should matter– the documentation leaves something to be desired. In almost all of these cases, a little bit of documentation would go a long way.

Laying out the board in PCB
Other hints: There is a built-in pseudo-help-like list of key commands for PCB, take a look. I wish that more of the commands were in the list– there are a lot of “secret” commands, or so it seems. About half of the available commands seem to be single-letter commands– and the list should be much more comprehensive and documented. One that you need to know: shift reverses the orientation of a new line.

I found gattrib, which can edit attributes of objects in the gschem files, to be unstable. It’s too bad– My circuit has four schematic pages with hundreds of components, and I realized after completing my layout that the holes drilled for *all of the resistors* were too small to fit the resistor leads. Doh! (You may want to carefully inspect the footprints in the libraries before using them.) In a situation like this, the right thing to do is to be able to quickly go through the schematics with a tool like gattrib to edit the footprint names in bulk. As it turned out, with gattrib broken, I realized that I could just open the schematic (.sch) file as a text document and do a search and replace on the footprint names– it turned out to be faster than gattrib would have been anyway.

One neat, excellent section from the documentation is the part on PCB Tips, which includes a trick to import external vector graphics to put on your board. You can use the wonderful utility pstoedit to convert graphics from (e.g.) Inkscape to PCB format. I did just that, to put our logo in the copper layer of our circuit boards:
Nice. =)
Finally, there’s another web site to look at that accumulates symbols for the gEDA programs. Logically enough, it’s called gedasymbols.org.