C. Scott home Back to projects page MAS863 home

Free Tools for Fabrication

Here are my notes on free tools which can be used to drive the fabrication machines. I've split the list into functional groups of applications, and have notes on what an ambitious hacker could do to make each of these programs even better for our use.

2D drawing

Needed: a 2D drafting program that has object snap facilities, allows specification of exact dimensions, boolean shape/path operations, exports to useful formats (DXF/AI), and ideally allows parametric specification of dimensions so that, for example, you can globally specify a new fit tolerance and have all the parts updated accordingly. The non-free tool here is CorelDraw 10; Corel has a version of CorelDraw 9 for Linux. CorelDraw doesn't do parametric dimensioning (as far as I can tell); it has all the other desired capabilities, though.

Free software alternatives:

Other useful tools for 2-d drafting:

3D parametric modelling

You may also be interested in ViewSTL, an open-source program for Linux/IRIX/Windows to let you view STL files (such as those for the Modela or the 3-D printer).

Schematic capture and PCB design tools

I use XCircuit for schematic capture and PCB for PCB layout. The current alpha version of PCB has an auto-router I wrote which Works For Me. XCircuit stores schematics in Postscript; PCB exports to Gerber files. You can send the gerber files directly to Alberta Printed Circuits to have them fabricated, or use my Gerber tools to drive the Roland CAMM-1 (at present) or milling machine (eventually).

Some schematics I drew with XCircuit
Corresponding circuit boards created with PCB

The gEDA project has what look like very nice schematic capture/netlist generation applications; there are also circuit and verilog simulators, waveform viewers, and gerber previewers in the project. In particular, the Icarus Verilog compiler seems to be undergoing very active development at the moment. I'd be very interested in hearing the experiences of anyone who's done a complex schematic in gschem and used it to create a PCB design.

You could conceivably use Dia (see above) to do the schematic capture, but Dia doesn't seem to export netlists, which means your schematics may be pretty, but they're useless for making printed circuit boards from.

Other schematic capture tools include: Oregano (officially abandoned, but talks to SPICE well), and Gael (as of this writing woefully incomplete).

Programming libraries and file formats

Copyright © 2002 C. Scott Ananian.
Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.
cscott cscott.net