Introduction: 3D Printed Motion Replicator & Recorder Robot Arm for Hot Summer Days

I always wanted to build a 3 DOF arm that can be controlled with its copy. With the Arduino & 3D printing it was pretty easy. I hope you can easily built this robot by following these 8 steps. Please don't forget the watch and share demo video that I record for you guys.

This robot has 3 functions:

1) Repeat the motion real time

2) Record the motion and automatically repeat the learned motion (Automating the movement)

3) Keep the desired position

Enjoy 3D printing my files and enjoy playing with this robot in hot summer days at your office desk. It is really entertaining when you get board. :)

Necessary Part List:

1) 4mm thick Acrylic sheet A3 size will be enough

2) 3D printed parts

3) M4 screws and nuts (x20)

4) 10K ohm Potentiometers with long shaft (x4)

5) 3 Tower Pro Servo motors

6) 12V computer fan

7) Arduino Uno

8) Voltage Regulator for Arduino

9) 12V 3 amps adaptor

10) M8 Screws and nuts (x4)

11) 2 switches (x1 one way, x1 two way)

12) 12V relay (x1)

13) Small protoboard (x1)

14) Male, female pins (x15)

15) 2N2222 transistor (x1)

16) 1N4001 diode (x1)

17) 1k ohm resistor (x1)

Step 1: 3D Printing Necessary Arm Parts

Here are the necessary .stl files for you to start 3D printing the arm parts.

I used ultimaker 2+ extended to print parts. (3D hubs is great for printing your parts if you don't have one )

Also if you are going to develop my parts you can download the Autodesk Inventor file formats from my grabcad accout:

Additionally, look at the my ultimaker settings for printing high quality parts. In the pictures of this section you can see the ultimaker settings that I used.

Step 2: Assembling the 3 DOF Arm With Fan

At 10 steps let's assemble our first arm with the fan attached.

1) Assemble the servo motor into baseServoHolder part that you have printed. (see the pic #1)

2) Attach the star shape servo arm into armHolder part that you have printed. (see the pic #2)

3) Attach both of them together and use the screw to fasten the parts. (see the pic #3)

4) Take fanholder part and servoholder2 part and connect them together with M4 screw and nut. And attach star shape servo arm as seen in the pictures (see the pic #4, #5, #6)

5) Take armholder2 part and second copy of servoholder2 part and connect them with the M4 screw and nut. And attach star shape servo arm as seen in the pictures (see the pic #7, #8)

6) Then attach the servo motor into the its place as seen in pic #9 if necessary use one or two droplet of hot glue to hold it tight.

7) Attach two main parts that we prepare in previous two bullets. (see the pic #10, #11)

8) Attach the 80mmx80mm computer fan into the edge of our arm. (see the pic #12, #13 #14) M3 screws and nuts are fit well

9) Attach the last servo motor into the armHolder part in bullet #2 than connect it with the rest of the arm. Don't forget to use screws to fasten parts at servo connections. (see the pic #15, #16 #17 #18)

10)Your first arm is ready pic #19

Step 3: Preparing the Ground Plate

Preparing the ground plate,

I used 4 mm thick acrylic plate 23 cm length x 13 cm width. And use laser cutter to open holes in the predefined places. If you are going to use laser cutter you can simply use GroundPlate.pdf file that I provide to cut it easily.

Then by using M8 screws and nuts, I insert legs to the ground plate as can be seen in the pictures. Then with M4 screws and nuts I attach the 3DOF robot arm on to the our plate.

Step 4: Circuit Connections

Circuit Connections,

At the step, first I attach the Ardunio uno and voltage regulator into the ground board with double sided tape. Then started to connect cables. Additionally I prepared a small protoboard circuit to just keep cable work simple. You can do it on a breadboard if you wish.

See my connection diagram to establish yours. Look at the diagram picture carefully, every connection you need is included. For relay circuit I follow this instructable:

To power up the whole system I used 12V 3amp adaptor.

Comment down below if you need any help to build your circuit. :)

Step 5: Assembling 3DOF Controller

At 5 steps let's assemble our controller arm with the potantiometers attached.

1) Take basepotHolder part and connect it with basePillar part by using potentiometer with long shaft (see pic #1)

2) Take potHolderMid part and insert potentiometer into the part (see pic #2)

3) Connect potHolderMidpart and basePillar part with M4 screws and nuts

4) Connect end part and potHolderUp part into each other with M4 screws and nuts (see pic #3 & #4)

5) by using potHolderMidUp part, connect all the parts together and give the shape as seen in the pictures #5 & #6

Step 6: Coding, First Test Run

Coding, first test run,

If you connect all the pins as we indicated in the circuit connection step, The code that I provide will make your robot move. Inside my code you can find comments that explains everything you need.

Open the replicator_3dofarm.ino in your computer and upload it to your robot.

To keep informed about latest changes in this robot's code, check out my github account and follow the code from this link:

Step 7: Covering Circuits for Nice Look & Stabilizing Buttons

Covering circuits for nice look & stabilizing buttons,

For this step, I used the same acrylic piece that we used to build ground plate. If you have access to laser cutter it is pretty easy, otherwise it will took some time. In the attached file (sideplate.pdf) of this step you can download laser cutting dimensions. After you give it to laser cutter computer it is just a minute to get your parts ready.

After your parts ready, by using hot glue gun, you can attach the pieces together. Don't forget to insert switches into top plate. See the pictures.

Step 8: Final Step: How to Use It for Fun and Meaning of Buttons

As a final (optional) step, lets mark the meanings of switches. If you make the connections to same pins as I did, you will get the same behavior. Lets talk about what are these functions.


1) Repeat: Red arm that hold fan will repeat the same movements with the green arm.

2) Keep: Red arm will keep the same position with the green arm whenever you switch to that condition.

3) Record: Red arm will record the movements of green arm for 10 seconds immediately after record condition selected. Then it will automatically follow the same path until another condition selected.

BE PREPARED TO HAVE FAN and BE READY to cool down in these HOT SUMMER DAYS with a nice, entertaining, 3D printed ROBOT ARM.


jhunmar100 made it!(author)2016-06-27

I think the 1st one who made this program code is in this video

Nice 3D Print Design for the arm

osdoyi made it!(author)2016-06-27

I see lots of people doing this kind of thing back in 2010s, this video published in 2014

rafununu made it!(author)2016-06-27

Very clever instructable. Encoders are cheaper and more accurate and precise than potentiometers.

osdoyi made it!(author)2016-06-27

Thanks, and thanks for the advice as well. I will take a look at them.

About This Instructable




Bio: My name is Dogan. I'm a Robotics PhD student at Oregon State University. I love building robots and its my life :) I built a ... More »
More by osdoyi:Sound Insulation Box Pokemon GO: Egg Hatcher MachineHow to Make Fake Garlic With Plastic Bags
Add instructable to: