From Fab Lab Wiki - by NMÍ Kvikan
Jump to: navigation, search

Kokompe is the 3rd generation CAM/CAD software for Fab Labs. It is a suite of capabilities that allow users to design, translate, and manufacture. After a recent organizational rewrite, it is often referred to as Fab Modules.

The kokompe software provides the full software stack from a user interface for designing 3D objects to a set of instructions for driving computer controlled machines. It has been designed along with the MTM project to allow you to build and reproduce real world 3D objects. The MTM machines have been used to make circuit boards, to mill wax molds, to make wooden toys, to build plastic parts, and to make other MTM machines.

The software is freely available for individual and experimental use; license for commercial sale available from MIT.


Go straight to download for the source and precompiled for Ubuntu.


1. dependencies

Kokompe requires Python wxPython GCC libpng make BASH

If you're using ubuntu, type the following command in to a terminal:

 sudo apt-get install python python-wxtools python-wxgtk2.8 gcc libpng12-dev make bash

2. install (Ubuntu)

Ubuntu commands (which you can copy and paste directly into a terminal window) are shown in the dashed code box.

(a) download http://kokompe.cba.mit.edu/dist/fab.zip

 wget http://kokompe.cba.mit.edu/dist/fab.zip

(b) save the file in a directory where you'll run the program.

 mkdir ~/Desktop/fabmodules
mv fab.zip ~/Desktop/fabmodules

(c) unzip the file

 cd ~/Desktop/fabmodules
unzip fab.zip

(d) make the program files in the bin directory executable and move to a global location

 chmod +x ~/Desktop/fabmodules/bin/*
sudo mv bin/* /usr/local/bin

(e) test your installation. You should be able to call the fab from within any directory.

 which fab

The 'which' command should return '/usr/local/bin/fab'. If the 'which' command returns nothing, something went wrong. Most likely, the move in step (d).

3. starting the program

The fab modules are so named because they are actually several small stand-alone programs which do specific functions.  One program, named fab helps you call all the other programs at the right time.  As you get more advanced, you might want to call specific functions directly but to get started, launch the top level program fab:


This should open a new window with a whole bunch of buttons.  If not, check the terminal window where you typed in fab for clues from the error messages.


The fab program is a "cross point switch" between file inputs and machine outputs.  Generally speaking, you want to select input type and desired output and use the graphical interface to select speeds and forces values for the machines.  The possible combinations of inputs - to - outputs are huge and growing as the modules are added to.  The power of the fab modules is that once you learn the process you can figure out any other input-output combination.  

Some illustrative example guides:

  • 2-D image PNG to Roland Modela RML (most often used to make circuit boards)