Skip to content

Machines That Make

3DOF CamSlider

During this weeks we defined and made the mechanical parts for the assignment week to make a three axes cam slider. Well, we’ve analyzed designed and made the necessary mechanical supports. So on Fusion 360 I made a new project MTM2019FabAcademy to work, share and upload concept, 3d model and design in real time.

Mechanical design - 1

Michele Serpico designed the lateral supports on Rhinoceros and then he made these parts; the two lateral supports are composed of three layer with a thick of 4mm (as the plywood thickness we used) and necessary joining parts; Michele made some of them by 3d-printing and others by laser cutting.

On Rhinoceros Michele designed supports and necessary joining parts. He designed parts to cut plywood with the laser cutter and other joining parts to make by 3d-printing, and also the complete the assembling system to make a concept animation.




Fusion 360

1st On Fusion he uploaded the .3dm files of each part in the group folder;


2nd And for the respective lateral parts he made new files of assembling; He inserted parts in these respective files and in the window “assembly” I selected the command “join” to make a rigid joining of parts by points.


3rd he also made an animation of parts, with the default Fusion 360’s recording function of movements, in the “Animation” workbench:

Laser cutting and 3D printing

He uploaded .dxf file of parts and started cutting with the Helix Epilog laser cutter.

Then He made other joining parts by 3D-printing.










Mechanical design - 2

3-DOF Cam Slider

During this week, in Group with Michele Serpico, we defined and made the mechanical parts for the assignment week to make a three axes cam slider. Well, we’ve analyzed designed and made the necessary mechanical supports. So on Fusion 360 I made a new project MTM2019FabAcademy to work, share and upload concept, 3d model and design in real time.

Project Link A360

This is the screenshot of the shared project on Fusion 360 platform.

Once sketched a project draft, we decided the mechanical components necessary for the correct operation of the slider

To design and assembly the slider, but not each existing and commercial components, I’ve used an online tool connected with Fusion360, Autodesk Fusion Partcommunity. Once you’ve choose the part you need, you can directly send it to Fusion project instance opened on your PC.

In this case, I needed LM8UU linear bearings to move xplate on the X axe.

Making some parts and assembly history, in this Video:

The 3DOF-CamSlider functionality is divided as follows:

  1. The designed main part slide following X axe, through a GT2 belt fixed on it on bottom side, and carriage from a NEMA17 stepper motor that distribute motion through a GT2 pulley joined to the motor.

  2. The second degree of freedom is guaranteed by rotation around Z axe; motion is distributed from another NEMA17 stepper motor joined on little gear pulley that transfer motion with a 2:1 ratio to another Gear, where the third rotary axes is joined to it.

  3. The third degree of freedom was made from a motor joined on the second stage, that directly distribute motion turning the camera holder plate around Y axe.

BOM - Mechanical

Description Unit Q.ty Dimensions Material
Rods Pcs 2 1200mm x 8mm diam. Steel
LM8UU - Linear Bearings Pcs 4
GT2 Belt Meters 2.6
GT2 Pulley Pcs 1 Alluminum
Screew Pcs 30 M3 x 15mm Iron
Bolt Pcs 30 M3 Iron
Washer Pcs 30 M3 Iron
Wood Panel Pcs 1 400 x 200mm Plywood
Plex Panel Pcs 1 300 x 150mm PMMA
ABS Filament gr 100 diam. 1.75mm ABS


Fusion 360 Archive

Here you can download the whole project in compressed file that contain the native format .f3z

LaserCut Files

Here you can download the files that I export for cutting some pices. In the archive you can find 2 folders for different materials and thickness.

3D Printing Files

Here you can download the files for 3D printing in zipped one that contain the native format .f3d

Machine design

3-DOF Cam Slider

Finally, this week we actuated and automated our 3-DoF CamSlider; we made it through Arduino UNO + CNC Shield GRBL based and we had controlled the machine through Serial Port Monitor at first and than through GRBL Controller. presentation


GRBL is an open source embedded CNC controller written in optimized C that runs on Arduino; this firmware is written in highly optimized C utilizing every clever feature of the AVR-chips to achieve precise timing and asynchronous operation, even through many interfacing programs. grbl

GRBL firmware

  1. From GitHub we cloned the 0.9j version of GRBL.

    git clone

  2. Form the Arduino IDE we uploaded Grbl Library as follows: Sketch / Include Library / Add .ZIP Library. Then select the Grbl folder inside the grbl-master folder, which only contains the source files and an example directory.

  3. searching firmware in root / examples / grblUpload.ino, open and upload it the firmware on the board.

So I used the Arduino Serial Monitor and set the baudrate to 115200, and I could check the right connection seeing this message:

Grbl 0.9j ['$' for help]
['$H'|'$X' to unlock]

GRBL settings

Typing $$ and pressing enter we saw $$ Grbl settings to calibrate and manage the system:

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=100.000 (x, step/mm)
$101=250.000 (y, step/mm)
$102=250.000 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)

As you can see from highlighted line, we’ve corrected step/mm to 100 for the correct corresponding movements of the X axes. Here you can find a link to the complete commands guide on GitHub project page.

Actuating the 3-DOF Cam Slider

BOM - Electronic parts

Description Unit Q.ty
Arduino UNO Pcs 1
CNC Shield - GRBL Pcs 1
A4988 driver Pcs 3
Heatsink Pcs 3
USB cable - serial conn. Pcs 1
PowerSupply 12V 2A Pcs 1
Stepper Motor - NEMA17 Pcs 3

These are the components we used: grbl

  1. Put the CNC Shield on the Arduino UNO;
  2. Put each A4988 motor driver on the its socket on the CNC Shield;
  3. Connect each NEMA17 motor to the corresponding axes pinout of the driver;
  4. Connect USB cable to Arduino UNO and PC.

Automating through interfacing

  1. I downloaded GRBL Controller, one of the many GRBL interfacing programs;
  2. I opened it and I selected the respective GRBL-Arduino port and the same baud rate;
  3. And then I selected “Open” button and I started controlling the 3dof Cam Slider by the respective axes button of the interface.