FabModules is the FabLab standard for controlling all the machines on your lab. Now FabModules have evolved to a web based software and it’s under very rapid development.

If you’re comfortable with the installation process in Linux, you can go directly to the source for instructions here.

If not, you can follow our tutorial. 😀


For running FabModules you need to have the following dependencies installed on your Ubuntu 15.10 computer.

* GCC 4.2 or newer
* G++ 4.2 or newer
* make
* Python, PIP, PySerial and TkInter
* node.js & npm
* Git

So, first of all, confirm that all your dependencies are upgraded. This operation can take some time.

sudo apt-get update
sudo apt-get upgrade


Python should be already installed with your Ubuntu, so we just need to install TkInter:

sudo apt-get install python-tk

Now you need to install PIP, the recommended Python repository, so you can then add essential packages like Pyserial for communication:

sudo apt-get install python-pip
sudo pip install pyserial      *on 15.10 pyserial is already installed and the latest version


For installing node.js:

sudo apt-get install nodejs-legacy npm

For confirming the installation just run node on the terminal and the application should start.
For quitting the application press “Ctrl+C” twice.

Then install npm by running:

sudo apt-get install npm



For cloning Fabmodules, first we will create a folder on your opt location and give it permissions to the owner so you don’t have to use sudo and other privilege commands.

sudo mkdir /opt/fabmodules
sudo chown -R user_name /opt/fabmodules

p.s.: Under user_name you should write the name of your account. If you don’t remember you can just type whoami

After adding the correct dependencies you need to clone Fabmodules from the Github repositories to your computer.
So we are going to use git:

cd /opt/fabmodules
git clone https://github.com/FabModules/fabmodules-html5.git fabmodules


In the words of the founders, ws is a “simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js”.
So, we’re going to use npm repository to add the ws package to the mod_server directory.

cd mod_server
npm install ws


Now, for the easiest part, use node to run the mod_serve file and open the communication with the local host:

node mod_server.js

After this you should see the following line listening for connections from on 12345

That means you’re ready to use Fabmodules html5 with your Modela machine. Please don’t close this terminal until you’re work is complete! Just minimize it.


Roland now has two models available for the same purpose. An older version called MDX-20 and a newer one called SRM-20. There are some differences on the way they communicate with the computer. mdx-20 uses serial communication to send and receive data, also known as RS232, while srm-20 uses parallel communication for printers, also known as lpt. So both machine work differently in terms of communication.




If you have a really old Modela, chances are you only have a DB9 to DB25 cable and no socket on the computer for that type of plug. For solving that problem you have an easy solution, buy an rs232 to usb cable converter.


This cable has an internal IC for converting RS232 into USB serial comm. Just beware not to buy one with an IC from Prolific. Those are really bad chinese chips. Look for converter cables with FTDI chips. They are a bit more expensive, but it will worth the price.ICUSB232V2.bom

If you already have the Roland Modela serial to usb everything is fine. You are ready.

If your user is not yet allowed to use USB ports for sending data you need to add yourself to the dialout group. For verifying just type groups on your terminal and try to find the dialout. If you don’t see it add it by using the following command:

sudo adduser user_name dialout

You are now good to go!


As we’ve seen before, for the computer this machine is seen as a printer, so, instead of the MDX serial communication, the device is identified as /dev/usb/lp#

make mod_lp executable:

sudo chmod +x mod_lp.py

On fabmodules.org choose the option SRM-10 and add the following command:

./mod_lp.py /dev/usb/lp0

for now:

sudo chmod 777 /dev/usb/lp0

Now hit send! 🙂

That’s it for now! Your machine should run from a web browser! 😀

“./” on the send command (fabmodules.org)



Leave a reply


We're not around right now. But you can send us an email and we'll get back to you, asap.

©2017 KLEO Template a premium and multipurpose theme from Seventh Queen


Log in with your credentials


Forgot your details?


Create Account