Machine Design

Camera Dolly to help us document better

Hero Image - Dolly the machine we made. Click me to see a video of me in action

The Why of our Machine

We have struggled with getting good images of our for the documentation. So we decided to build a automated camera dolly. This would move left to right on X axis, move front and back on the Y axis and rotate 360 degrees on a motor.

Team Formation and Contribution

Team mates: Avishek | Ashish | Dhruv | Me

We started playing to our personal strengths.
Avishek focused on finalizing the design of the dolly. He ensured that there was 2 prototypes before we finalized the design. He researched in detail different designs including this and designed it.

Ashish worked with Avishek on the design, validating it and CNC milling all the parts. In a way, he handled production.

Dhruv, who is great with sourcing and ideation, sourced the parts. He also contributed the idea, and ideated its iterations. Being hands-on, he offered hacks to getting assembly done.

I handled the electronics part. The final motor and belt mount placement and the G-Code system are my contributions. I also 3D printed the components in all stages of prototyping.

What was done so far

Week 9 on group page
Week 11 on group page

A sample of the Outcome

Click on me to see a sample video
A screenshot from a sample video we made from the Dolly


  1. Firmware Choice - I worked with Viraj (another classmate's) to get the basic motors working. We achieved this using the Repetier Host and firmware on a Arduino Mega with a Ramps (v1.4) board. Marlin and Grbl firmwares have also been tested. This is because the Repetier ecosystem offers a GUI with simple manual controls.
  2. Non cooperative motor - Both teams used different stepper motors and the wirings were different. A noob mistake we made was that we assembled the motors leaning on past experience. Then, we had used CreatorBot motors. After assembly of our motors (Nema17), we realised that they only vibrated when given power. We shouldn't have mounted motors or any component without testing it individually. Fix was discovered after removing the extension wiring and directly connecting wires to the driver. Below is the difference in wiring setups.
  3. Jerks - we are still ironning out the differences in speeds and steps per mm to make movement smoother.

How it was done

Part One: Hardware

We aimed to use all the learnings over the last 10 weeks, so made sure that most of the components we used were easily accessible.

  1. Design: Based on our old prototype (shown in week 9 link, left menu), we realised that this was a doable solution. Linked in the left side menu is the final design file inside the Gdrive.
  2. CNC Machine was used to cut the components. These design files are aslo linked in the Gdrive link
  3. Laser Cutter was used to make many of the smaller components. These design files will be linked here next
  4. 3D printer was used to make the first version of the belt guides and the belt pulley. Designs are to be linked.


  1. Download the Repetier host and firmware from the link provided in the side menu, and open it in the Arduino IDE. The repetier firmaware has only one ".ino" file and the others files in the folder are opened and linked automatically.
  2. Once opened, select the Configuration tab. One can specify amongst many things here the following:
    Set the limits of the distance the Stepper motors move on your rails. This avoids the needs for stoppers. Beware of where the stepper motor starts, as it will take it as the 0 point/Origin

    Use these lines to modify the movement speed, with images and movies, a slow speed is best. Environmental images will need a slower movement

    Steps per mm make the movement smoother, reducing jerks

    The repetier host showing the manual controls through which you can control the motors