How to Turn Adunio-based Robot Arm Into a 3D Printer and Iphone 6s Into a PTZ Camara

About: I am maker_studio and I love to build the robot of Arduino and DIY something fun. Here is something new&fun:

After day and night's hard work, we finally made Dobot arm a high precision 3D printer! It's different from the traditional Delta and XYZ 3D printer. It may be the first desktop robotic arm that can be used for 3D printing!!!We have proved that Dobot arm is not only good at horizontal motion with laser cutters, but also do a great job on three-dimensional motion with 3D printing!

Over the last two weeks, we worked incredibly hard to solve Dobot arm's problem on 3D printing such as how to secure a printer head on Dobot arm's head and how to optimize its precision as good as the traditional 3D printer. Thanks for Dobot arm's great material and mechanical structure which can reduce the mechanical vibration between its parts and finally we made Dobot a 3D printer with a bowden extruder!

Now Dobot is available on Kickstarter, go see what other tasks Dobot can do well:D

Dobot arm is good at 3D printing:

Dobot arm is also a great laser cutter

I will show you how we can let Dobot arm become a awesome 3D printer step by step. Let's start now!

Step 1: What Materials and Tools You Need to Prepare


A basic Dobot robotic arm: more details on other instructables:

A printing controller based on ATmega2560 compatiable with Arduino Mega2560: It is a great printing controller that also can be used to control CNC and laser cutter and it's compatiable with Mega 2560 used Arduino IDE to develop and I will show you more details on

A E3D V6 3D printing head: This is a J-head extrusion head with a rediatiing fan and you will find more details in the file.

A E3D J-head MK8 bowden extruder: this extruder can use 1.75mm and 3mm PLA and compatiable with E3D/ J-head/MK8 heating nozzle and more details in the file.

A roll of 1.75mm PLA print material.

Some dupont lines


A hammer

A needle-nose pliers

A Phillips screwdriver

A M3 and a M4 Allen wrench

Step 2: Build a Basic Dobot Arm

All the original Solidwork files have been posted on GrabCAD and you can download on GrabCAD. I have shown you how to build a basic robot arm in other instrucatbles: please go to have a look.

Step 3: Assemble the E3D-V6 3D Printing Head

First, you need to prepare a sprinkler nozzle and a 20*16*11.5 heating block and connect these two parts with screw thread. We need to rotate the sprinkler nozzle into the right hole of heating block and fix it with a M3*4 screw.

Second, we need to insert the end of M7 screw thread of throat tube into the radiating pipe and then insert the end of M6 screw thread into the heating block and be sure the throat tube closely contacted with sprinkler nozzle in order to heat perfectly.Then we need to insert the plug into the radiating tube.

Insert the thermocouple into the heating block and be careful for the direction of thermocouple which can look for the picture and secure it with a M3*10 screw.

Assemble the fan with the plastic base and secure them with 4 M3*6 screws. Assemble the plastic base with the radiating heating.

Step 4: Assemble the E3D J-head MK8 Bowden Extruder

Insert the gear into the axis of step motor and secure with two set screws.

Assemble the L-shaped block with step motor and fix it with two M4*6 Phillips screws and fix a M3*5 secure with the L-shaped block.

Assemble the bearing with the other L-shaped block and fixed them with a M4*5 screw.

Assemble this block with motor with a M4*10 screw. Put the spring into the screw inserts and insert a M3*20 screw to secure the spring.

Secure two plugs with the two L-shaped block.

Here is a more details about how to build one.

Step 5: Connect the Circuit of Remote Extruder and Dobot Arm

Insert the motor drive into the corresponding interfaces as shown in the picture above. After insertion, you will get something like in the picture below. Note the direction of the knob, do not insert reversely, otherwise it will burn after a power drive.

We just connect the base motor to motor of X axis, big arm to motor of Y axis and small arm to motor of Z axis. The line of fan and heating and thermocouple is withe the original position.

Step 6: Upload the Dobot Firmware to Mega Controller

Dobot arm's firmware is based on Marlin firmware and you can download here:

We just add a code about how to deconstruct the position of nozzle to Dobot's robotic arm. After downloading, put the U8glib folder in ArduinoAddons -> Arduino_1.x.x -> libraries to your Arduino's libraries and choose the right Serial port and board to upload to Mega controler.

Step 7: Put the 1.75mm PLA to 3D Printer and Start to Print!

Download a module online or build one yourself and get Gcode with slice software and start to print.

Enjoy your Dobot arm 3D printer!!



    • Epilog X Contest

      Epilog X Contest
    • Pocket Sized Contest

      Pocket Sized Contest
    • Organization Contest

      Organization Contest

    12 Discussions


    2 years ago

    This does not work at all. First off, the dobot barely works as a robotic arm and I do not recomend trying to using it for any precision project, but the real issue here is that their code is just broken. You took Marlins firmware and basically made unusable. I've tried everything exactly as instructed, and the arm simply will not move using this code. I even tried my own version of Marlin used in my own 3D printer and just attempting to get this arm to move slow enough and without jerking is impossible. Best case scenario if you attempt to follow the exact steps in this guide you will end up with an LCD that screeches while the arm never moves, or a moving arm that can not print. I do honestly believe that there is a way to make this project work, but this guide is not accurate.

    1 reply

    Reply 1 year ago

    I am experiencing the exact problem. Did you end up with any solution??


    3 years ago

    "We just add a code about how to deconstruct the position of nozzle"

    Can you share this "code" please?


    3 years ago

    I'm thinking of making something similar to the dobot as a 3d printer but in wood to lower costs and with different dimensions. I'm not going to laser cut or 3d print just cut wood to build it. The thing I'm worried about is if the dimensions will affect the configuration. Even if I have different dimensions, can I still use the same configuration file or do I have to edit it? Awesome work though! Thanks.


    3 years ago

    Nice Job!!! but... How I can create the gcode and the slicing? I think that I have to change the kinematics to polar, scara o something like this! right?

    1 reply

    Reply 3 years ago

    The project is Kickstarting now, after it we will publish all code files, but it is easy for just a coordinate shift from X-Y-Z to Arm.


    3 years ago

    Wow, this robotic arm is so versatile and looks great

    1 reply

    Reply 3 years ago

    Thanks for your support!! We are trying to expand Dobot arm's ability. Please come to our official webpage to get more infos:


    3 years ago

    Very impressive work! Good luck with your kickstarter, this is really cool stuff! :)

    1 reply

    Reply 3 years ago

    Thanks for your support, we'll always try to do better, if you can kindly help us to spread it across your circle, that would be great! ^^