MacFab: Making Mac OS X the best Fab Lab platform

Welcome to the MacFab Blog!

Our Media Computing Group at RWTH Aachen University in Germany is a research lab in the Computer Science department that does research in Human-Computer Interaction and new user interface technologies. We're also hosting Germany's first Fab Lab.

Since our lab is running entirely on Mac OS X (here are a few reasons why), we also aim to make our Fab Lab an all-Mac environment.

The current software tools for end users to get anything done in a Fab Lab are designed by and for engineers and not very user-friendly, using technological instead of intuitive, human-centric metaphors and workflows. We intend to change this by reinventing the Fab Lab User Experience, to help fulfill the core Fab Lab vision — letting anybody make (almost) anything.

To that end, we conduct both research and development into new fab lab software tools and user interfaces. This page will point you to our various contributions to making Mac OS X the best platform to run a Fab Lab on. Latest postings are at the top.

— Jan Borchers

VisiCut: A new application for lasercutting (Jan Borchers 8/2011)

Together with René Bohne, Thomas Oster is developing a new tool to work with lasercutters. As a first step, he's implemented a Java application library that allows all the control of the Epilog Windows lasercutter driver, and a bit more. He's now implementing a first front-end application to work with the lasercutter. The result is an OS-independent (Java) and driver-free application to control Epilog (and other) lasercutters.

See the visicut page for details.

FabScan: A 3D scanner for the Mac (René Bohne, Yvonne Jansen, Francis Engelmann) (8/2011)

We are working on a 3D scanner for the Mac. It is based on the MakerScanner project and one first success is that Yvonne ported the software to Mac OS X. We also scanned the first 3D objects, and Francis has begun his Bachelor thesis to develop the software. Find out more on the current FabScan page. The older project page is kept for historical purposes.

Using the Epilog lasercutter with Inkscape on Mac OS X (Jan Borchers)

We have successfully connected an Epilog Zing lasercutter to a Mac running the CUPS epilog driver, and sent jobs to it created using Inkscape on Mac OS X. It's not perfect, but anything's better than CorelDraw... See the archive EPILOG CUPS Server for Mac OS for installation files and tips.

Setting up the MSP430 Toolchain (Florian Heller)

The TI LaunchPad is an extremely good value for the buck and lot of people want to play around with it. Unfortunately, TI does not offer official support for OS X, but it is possible to use the LaunchPad as a Spy-by-Wire programmer and debugger. Have a look at the MSP430 tutorial.

Installing the AVR gcc tool chain (Jan Borchers)

Install CrossPack from Objective Development. It works great and is updated as frequently as WinAVR. To quote their page: "CrossPack is a development environment for Atmel's AVR® microcontrollers running on Apple's Mac OS X, similar to WinAVR for Windows. It consists of the GNU compiler suite, a C library for the AVR, the AVRDUDE uploader and several other useful tools."

Installing the gavrasm assembler that works with standard Fab Lab .asm files (Jan Borchers)

This is Gerd's AVR Assembler by Gerhard Schmidt. Unlike other assemblers, it has the definition files for all supported AVR types built in, so you don't need to get * include files from Windows AVR Studio.
  • You can try my precompiled binary of gavrasm 2.6 for Mac OS X 10.6.
  • If that binary is out of date and doesn't work with your AVR microcontroller (support for new models gets added frequently), or you just like building fresh from source yourself, here's how:
    • Get the FreePascal compiler from Choose the Intel architecture for download. From the downloaded archive, run the package The compiler is installed into /usr/local/bin/fpc.
    • Get the gavrasm Pascal source code for Linux (i386).
    • Unpack the zipped files, copy your desired language file gavrlang_xx.pas, and rename it to gavrlang.pas.
    • To compile gavrasm, open a Terminal window, change to that directory, and run fpc gavrasm.pas.
  • In any case, move the binary (sudo mv gavrasm /usr/local/bin), and make it executable if it isn't, as with etc. above.
  • David Mellis' HTMAA class page has an older binary, but it nicely compares the various assemblers available.
  • To translate myExample.asm into myExample.hex, use gavrasm myExample.asm. The hex file is placed in the same folder as the asm file. The .include warning can be ignored.
  • To flash a device with the resulting hex file, use avrdude -c usbtiny -p attiny45 -U flash:w:myExample.hex:i. Replace "usbtiny" with your programmer model (and port for programmers like the STK500) and "attiny45" with your microcontroller part code.

Installing, MIT's CAD software for Fab Labs, on Mac OS X (Jan Borchers)

This will let you view .cad files with Driving the lasercutter or other tools directly from under Mac OS X will be addressed another time.

  • Update to Mac OS X 10.6.4 (used here) or later.
  • Mac OS X 10.6 already comes with Python 2.6.1 preinstalled, but MacPorts will install its own independent version.
  • Install X11 from the Mac OS X Install DVD, if you don't have in your application directory already (see for more detailed instructions). This is required for MacPorts.
  • Install MacPorts from This is a command-line package manager to install many common open-source software packages under Mac OS X. It installs everything into /opt/local/ so it doesn't mess up your standard Mac OS X installation.
  • Install SciPy, a Python library for scientific computing that requires, by entering sudo port install py26-scipy in a Terminal window. You will have to enter your computer's Administrator password. MacPorts automatically installs all dependencies; this will take around two hours(!).
  • Make python 2.6 the default by running sudo port install python_select and sudo python_select python26
  • Install the Python Imaging Library that requires by running sudo port install py26-pil (this takes less than a minute).
  • Download, cad.cfg and the shell script from the MIT fab lab hello world page to your Downloads folder. Remove any .txt extensions the download may have appended. Rename to just cad.
  • In Terminal, run the following:
    • cd ~/Downloads to go to the folder where the three files are stored;
    • sudo chmod a+x cad.cfg cad to make them executable;
    • sudo mv cad.cfg cad /usr/local/bin/ to make them available system-wide.
  • open /usr/local/bin/ to open this folder in the Finder. From the Finder, you can drag the cad executable to the right side of the Dock. Now you can launch with one click.
  • Alternatively, in Terminal, just type cad to launch
  • In, press the "input" button to load a .cad file, e.g., one of the examples from the above MIT page. Alternatively, you can pass a .cad file to load to the cad command on the command line. From here on, you're in fab lab land. For more help with, check out this tutorial.
  • is not very smart in remembering where your files are. If you want to reduce the clickwork of getting to your folder each time you input a file, create a symbolic link (Mac alias won't do) to the folder where your current cad file is: ln -s ~/Documents/My/Cad/Folder ~/

Created by borchers. Last Modification: Wednesday 07 of September, 2011 17:54:01 by bohne.

Media Computing Group at RWTH Aachen