Fab-Academy 2016

FabLabCEPT Machine Design


Group IlluminaTEA :

Arpi Maheshwari

Chandni Chhabra

Siddharth Arya

Viraj Gandhi




Initial Idea:

-Our group decided to replicate the 'machine' known as TARS / CASE as seen in the hollywood movie Interstellar.

-We watched a couple of videos to see what motions can be replicated and see how many kinds of motions can be achieved

-And then tried to gauge the number of motors involved, and the number of 'degrees of freedom' with some sketches .




Game Plan #02


-With the limited amount of time remaining, we were skeptical if we could achieve a complex motion like the one seen in TARS and a more pertinent worry was will it fit the theme of 'machines that make'

-With this thought we moved onto the next idea for a machine, a 3D light painting rig


Machine title - 3D light painting rig

Machine Description - A  3-axis rig moving a light-source as the 'end-effector' in defined paths to create '3D light paintings' captured by a camera set up to capture a long exposure shot till the rig finishes the entire movement


Case studies -

Fablab Kamakura



Plan of action


-We decided to use the 'Reconfigurable stages' from this link, because of the reconfigurability, we could reuse the individual stages for different machines beyond this project



Stage 01:

Machine Design:

We first started with a sketch to understand the position of components and their contribution to the 3-axis movement. Below are the initial sketches that we did to explore ways to implement a 3- axial movement.


Base Reference: MTM module

Techinque of fabrication: CNC cutting

Two of our team-mates, Arpi and Siddarth were involved in the process of fabricating the CNC cut MTM modules. We used 11mm thick MDF board for this.

To begin with, we used the MTM modules designed by Nadya Peek.

 3D view of the initial model made using modules availabe at this link.

Stage 02:

Design Modifications:

Instead of following the MTM module 3- Axis design, we decided to make it a little complex by making a composite system that included 'Belt-Motor drive' mechanism for the 'X' and 'Z' axis and 'Lead Screw Motor drive' mechanism for the 'Y' axis.


For this, we used the MTM module for the ''Lead Screw Motor drive' mechanism and designed a frame for the 'Belt-Motor drive' mechanism which would sit onto the moving platform of the 'Y' axis module.

This sketch explains the modified idea of having two mechanisms in one machine

3D view of  the modified form of the 3D Light Painting Rig. The 3D file can be accessed here.

Above seen are the drawings that we prepared for the modified form of the 3D Light Painting Rig. These files can be accessed here.

Process of Assembling:

3D Printed Components:


We 3D printed a few components such as the pulley and the box to lock belt. The files can be accessed here.

Stage 03:

Programming the machine:


Generating G-Code using Grasshopper- Silkworm:



Silkworm is a plugin that translates Grasshopper and Rhino geometry into GCode for 3d printing. Silkworm allows for the complete and intuitive manipulation of the printer GCode, enabling novel printed material properties to be specified by non-solid geometry and techniques of digital craft.


Project Silkworm is an open project to develop the concept of digital craft via the resources of open source 3d printing technology. The revolution of 3D printing is seeing a rise in novel methodologies of material design communication, from concept through to fabrication. Now additive processes can be manipulated through data driven logics programmed directly by the designer. Silkworm offers the designer a vocabulary to choreograph these processes and develop the way the printed object is conceived.


Since, Silkworm is used to generate Gcode for 3D printers, it uses parameters related to temperature and extrusion. We have excluded those parameters and tried to generate Gcode for the 3axis movement only. Below are the screenshots for this process.























































Firmware :

We chose to use RAMPS Shield  V1.4 along with Arduino Mega.

Following was our Decision Flow with selection of Hardware and Software Architecture:


Initially we wanted to use Grbl

1) Identifying Hardware we can Make or We have at lab already


Decision:  As we had RAMPS v1.4 Shield available easily at a shop, we decide to first try it and start experimenting as soon as possible.


Firmware: As we Understand Firmware is the Mediator of the Control Circuit for any such project. Firmware takes the G-Code instruction in Text form Via Serial Communication and control the Stepper Motors  accordingly.


Attached is the list of existing options with firmware:



On doing a quick search online we realize that following Three

are the most famous and feature Rich  firmware.



Grbl is a no-compromise, high performance, low cost alternative to parallel-port-based motion control for CNC milling. Does not control extruders.


Grbl was our first choice as it fits our requirements. We loaded it on the RAMPs



It's a nearly complete rewrite (80%) of the well known Sprinter firmware. While rewriting it to simplify it for future improvements and to improve the speed, I added tons of remarks and documentation, helping everyone, who wants to change it a bit.



Marlin is firmware for RepRap single-processor electronics, supporting RAMPS, RAMBo, Ultimaker, BQ, and several other Arduino-based 3D printers. It supports printing over USB or from SD cards with folders, and uses lookahead trajectory planning. Marlin is licensed under the GNU GPL v3 or later. It is based on Sprinter firmware, licensed under GPL v2 or later. The most active developers of Marlin are currently (January 2016) thinkyhead, AnHardt, ErikZalm, daid, boelle, Wackerbarth, bkubicek, and Wurstnase, with many others contributing patches.



We Chose the firmware first and then chose the Host software (Gcode Sender) accordingly.


Relevant terminology for this week project:

Serial Communication:

Serial communication is used for all long-haul communication and most computer networks, where the cost of cable and synchronization difficulties make parallel communication impractical. Serial computer buses are becoming more common even at shorter distances, as improved signal integrity and transmission speeds in newer serial technologies have begun to outweigh the parallel bus's advantage of simplicity (no need for serializer and deserializer, or SerDes) and to outstrip its disadvantages (clock skew, interconnect density). The migration from PCI to PCI Express is an example.


Baud Rate:

The baud rate is the rate at which information is transferred in a communication channel. In the serial port context, "9600 baud" means that the serial port is capable of transferring a maximum of 9600 bits per second.



Firmware is held in non-volatile memory devices such as ROM, EPROM, or flash memory. Changing the firmware of a device may rarely or never be done during its lifetime; some firmware memory devices are permanently installed and cannot be changed after manufacture. Common reasons for updating firmware include fixing bugs or adding features to the device.























Bill of Materials: