PCB Prototyping [getting the fablab machines up and running]

Since the beginning of the summer I have been wanting to prototype PCBs using the FabLab at the Sustainable South Bronx (SSX) studio. Over the past weeks I have been working to get their Roland MDX-20 3D plotter (a.k.a. Modella), and the Roland GX-24 vinyl cutter (a.k.a. Camm) up and running again. The first two weeks were rather frustrating – I floundered trying to find and then install the required software on my MacBook running OSX. Here I will provide a brief overview of the issues I encountered.

I am happy to report that I have finally started to make some real progress over the past few days – though it only happened once I switched to Linux. Next week I will create my first PCB prototype on the Modella. I will write a tutorial about getting stuff up and running after I have this initial prototype done. For now here is the story of my failures.

Choosing the Software
The first step was to find and install the right software to run the Modella and Camm from my laptop. Both of these machines come packaged a software suite from Rolland. Unfortunately, these applications are not designed for creating PCB prototypes, which is my main focus. Another issue is that they only run on Windows; and I was also not able to install them on the Windows virtual machine running on my computer.

MIT Media Lab to the rescue. Luckily, the Center for Bits & Atoms has released software that is specifically designed to work with FabLab machines such as the Modella and Camm (and many others). Their software is more flexible than the standard applications that come prepackaged with these devices. Best of all, they provide really good support for creating PCB prototypes with these machines.

The first of these is Cad.py. As the name implies, Cad.py is a set of python scripts that can convert, process, and run CAD files of various different formats on FabLab machines. Most of these machines are only able to run one or two different types of file; and these files formats are not usually supported by CAD applications.

The second MIT app is called Fab Modules, it is also known as Kokompe. This app is just a more recent version of Cad.py. It features a lot of the same functionality with a more user friendly interface. Here is a link to the Kokompe website. Its tag line reads “software for machines, that make themselves, other machines, 3D objects.” Pretty cool.

Both of the MIT applications are developed to run on POSIX-compliant Unix and Linux systems. As with any Linux or Unix applications, they can only run on systems that support the full stack of required libraries and utilities. For an unexperienced Linux/Unix user like myself, the process of figuring out if you have the software stack, and the process of finding, downloading, and installing the missing items from the stack, can be rather hellish.

My First Attempt
Initially I wanted to run both of these machines directly from my MacBook, using OSX Darwin. In retrospect this was a stupid idea – my stubbornness caused me a lot of frustration, and led me to waste a lot of time.

I should have changed course when I came across the MacFab website from RWTH Aachen University. They have been working on making it possible to run FabLab machines using Macs for a while now. Their website provides valuable information, such as details about all the FabLab tools that they have tested (successfully, or not). Here is link to the MacFab page from the Media Computing Group at RWTH Aachen University.

I spent a lot of time learning how to use Fink and MacPorts to download the Mac-compatible versions of all the libraries and packages required for the Fab Module and Cad.py stacks. This process was rather frustrating, as each stack requires very specific versions of each package. I wasted a lot of time trying to get these apps running on a stack with Python 2.7; now I know that Python 2.6 is the only version supported.

The Final Verdict
After many days of work I was finally able to get Fab Modules to load on my MacBook running OSX. Unfortunately, I quickly realized that only some of the functionality was working. I was able to view load files but I couldn’t convert, process or run those files.

That’s when I decided it was time to switch gears and give Linux a try. I am glad I did because in a few short hours I was able to get things up and running. More on that on my next post.

Leave a Reply