3D Printed Robot Kit for Arduino 🤖 Make Your Own Robots!

by YouMakeTech in Circuits > Robots

3866 Views, 60 Favorites, 0 Comments

3D Printed Robot Kit for Arduino 🤖 Make Your Own Robots!

How To Make Your Own 3D Printed Robots
3D Printed Biped Robot for Arduino
20210625_101956.jpg
20210625_102017.jpg
20210625_102027.jpg
20210616_061142.jpg
20210616_060815.jpg
20210616_060820.jpg
20210608_145906.jpg
FKVZ2QFKUPIYX8L.png

Make your own robots!

With YouMakeRobots, you can design and build your own robots. YouMakeRobots is a set of 3D printed parts, electronics and software that work together to provide a fun, accessible and affordable robot building experience.

Very similar to Lego bricks, the modular construction allows you to assemble simple components together to build a wide variety of robots.

It is easy to get started. For less than $100, you get all the electronics, no soldering required. The 3d printed parts are easy to print and print without support. The supplied code allows you to interactively control the robot from the command line.

How I Designed This

The project started because I wanted to design & build my own robots using my 3d printer.

While there are some cool 3D printed robots on Thingiverse, I was looking for something more creative, similar to Lego bricks. Something modular and expandable... A minimal set of 3D printed parts that I could put together in different ways to build the robot of my dreams! A kit that would allow me to build almost any robots from the simplest to the most complex : robotic arm, bipedal robot, quadruped robot, robot dog, spider robot, humanoid robot etc. You name it, you build it!

I started to search the Internet and found some commercial & professional robot kits. Exactly what I was looking for but out of reach in terms of budget. As I couldn't find what I was looking for, I decided to create it! YouMakeRobots was born.

YouMakeRobots is inspired by some commercially available robot kits (Kondo KHR-3HV, Robotis Bioloid and XYZrobot Bolide in particular). With YouMakeRobots, I wanted to create an affordable 3D printed DIY robotics kit, using low cost and widely available hobby servo motors & electronics (Arduino / Raspberry Pi).

While YouMakeRobots looks like off-the-shelf robotic kits, it's a complete overhaul. I designed all the parts to be compatible with 3D printing & standard servo motors/electronics. This is not an easy task due to constraints and tolerances of 3d printing!

All parts have been designed in Fusion 360 to be easily printable with an entry-level 3d printer (Creality Ender 3). After countless iterations, I am pretty happy with the result: for under $100 YouMakeRobots provides an entry level robotics kit that allows people to design & build their own robots!

The possibilities are endless because you can print as many parts as you want. The Arduino MEGA supports up to 48 servo motors!

Of course due to the use of low cost servos / electronics, the performance and quality is lower than what you would get with a high end robotics kit. But my goal is to reach a wider audience (kids, schools, hobbyists etc.) and get more people interested in Technology & Robotics!

Join #YouMakeRobots today!

Supplies

MEGA2560-1024x745.jpg
MEGASensorShieldV1.jpg
MG996R.jpg
XL4016E1-1024x1024.jpg
Ender3.jpg

Electronics

  • Arduino Mega 2560 (x1)
  • MEGA Sensor Shield V1 for Arduino MEGA 2560 (x1)
  • XL4016E1 DC-DC converter 5-40V to 1.2-35V (x1)
  • Tower Pro MG996R Servo (x8)
  • 11.1V 3S 1000mAh Lithium-Polymer Battery (x1)

Hardware

  • M2x8mm self tapping screw (x32)
  • M2x4mm Hex Socket Head Cap Screws (x16)
  • M2x6mm Hex Socket Head Cap Screws (x24)
  • M2x8mm Hex Socket Head Cap Screws (x40)
  • M2 Nuts (44x)

Tools

  • 3D printer
  • Computer
  • Multimeter
  • Set of hexagonal screwdrivers

Check out this webpage with links to the hardware I use in the videos.

Download YouMakeRobots 3D Printed Parts

F1_v9.png
F2_v23.png
F3_v31.png
F4_v5.png
F5_v6.png
F6_v15.png
F12_v10.png
F51_v37.png
Servo_Enclosure_Bottom_v81.png
Servo_Enclosure_Top_v81.png
Servo_Horn_v29.png
Servo_Pin_v5.png

Download YouMakeRobots Source Code on Github

Print Your Parts

3D Printed Parts (for the 2 example robots biped+quadruped)

  • F1 (x4)
  • F2 (x4)
  • F3 (x8)
  • F4 (x4)
  • F6 (x4)
  • Servo_Enclosure_Bottom (x8)
  • Servo_Enclosure_Top (x8)
  • Servo_Horn (x8)
  • Servo_Pin (x8)
  • F51 (x2)

YouMakeRobots 3D printed parts are easy to print and print support free. In order to speed up the process, you can dispose multiple parts on the build plate.

The main difficulty with these parts is to get a good adhesion of the first layer. Do not hesitate to slow down the print speed to 10 mm/s or even 5 mm/s for the first layer if needed.

Assembly

You can design & build your own robot or build one of the 2 example robots.

The first robot is a quadruped robot actuated by 8 servo motors. The second robot (Zombie) is a biped walking robot. Both of them come with complete video assembly instructions + basic code to walk.

Follow the video instructions to assemble your first robot!

Electronics

20210616_060815.jpg

The servos are controlled by an Arduino MEGA board. In order to easily connect the servos to the Arduino MEGA, I use the MEGA Sensor Shield V1 from Keyestudio. The Sensor shield simply plugs on top of the Arduino MEGA board.

The power is provided by a 3S, 11.1 Volts polymer battery. As the Arduino and the servos require only 5 Volts, I use a XL4016 DC-DC converter to reduce the battery voltage.


XL4016 DC DC converter connection

  • Battery red wire to IN+
  • Battery black wire to IN-
  • OUT+ to VCC of the Keyestudio MEGA sensor shield
  • OUT- to the GND of the Keyestudio MEGA sensor shield


Adjust the output voltage of the XL4016 to 5 volts

Connect a multimeter between XL4016 OUT+ and XL4016 OUT-. Set the Multimeter to 20 V===. Turn the blue potentiometers on the XL4016 step down converter until the output tension reads 5 Volts on the multimeter. There are normally 2 potentiometers : one coarse and one fine.

After adjusting the output voltage of the DC DC converter to 5 Volts, you can connect the converter to the Arduino MEGA.


Servo connection

The servos are connected to the sensor shield, using pins 22 to 45. Connecting the servos to the MEGA before assembly ensures the servos are correctly centered.

Servo connection for the Quadruped robot (top view)

        +---+

=(7)=(3)|  |(0)=(4)=

        |  |

=(6)=(2)|  |(1)=(5)=

        +---+

  • Servo 0 = Front Right (pin 22)
  • Servo 1 = Rear Right (pin 23)
  • Servo 2 = Rear Left (pin 24)
  • Servo 3 = Front Left (pin 25)
  • Servo 4 = Front Right Leg (pin 26)
  • Servo 5 = Front Right Leg (pin 27)
  • Servo 6 = Front Right Leg (pin 28)
  • Servo 7 = Front Right Leg (pin 29)


Servo connection for the Biped robot (front view)

=(1)=(0)=====(4)=(5)=

        =====

       (2) (6)

        |  |

     (3) (7)

  • Servo 0 = Right Shoulder (pin 22)
  • Servo 1 = Right Arm (pin 23)
  • Servo 2 = Right Leg (pin 24)
  • Servo 3 = Right Foot (pin 25)
  • Servo 4 = Left Shoulder (pin 26)
  • Servo 5 = Left Arm (pin 27)
  • Servo 6 = Left Leg (pin 28)
  • Servo 7 = Left Foot (pin 29)

Upload the Arduino Sketch

Using the Arduino IDE and as shown on the video instructions, upload the Arduino sketch:

  • For the quadruped robot, upload quadruped.ino
  • For the biped robot: upload zombie.ino

These 2 sketches make the robots walk.


Moving the Servos Manually Using the Arduino Serial Monitor

Although you can use the example code provided to get started, you can also control the servos manually and program you own moves interactively.

Upload the sketch gettingStarted.ino to the Arduino. The gettingStarted sketch allows to control the robot interactively using the serial monitor.

In the Arduino IDE, open the Serial Monitor and select a speed of 115200 bauds.

To move a servo, type "MOVE:<servoId>=<angle>" in the serial monitor

  • <servoId> is the servo id between 0 and 31 included. 0 corresponds to the servo connected to pin 22 and 31 corresponds to  the servo connected to pin 53.
  • <angle> is the target angle in degrees, between -90 and +90 included. An increasing angle makes the servo to rotate clockwise, while a decreasing angle makes the servo to rotate counter-clockwise.

For example, to move the servo connect to pin 22 to +45 degrees, type "MOVE:0=45" without the ""

It is possible to move multiple servos at the same time. For example, to move the first 8 servos to 0 degrees, type "MOVE:0=0,1=0,2=0,3=0,4=0,5=0,6=0,7=0" without the ""


Other commands are available. To see an up to date list of available commands, refer to method executeCommand in YouMakeRobots.cpp

For example, "SPEED:1000" makes all moves last 1000 ms. If you want your robot to move faster, try "SPEED:200".

Another useful command is TRIM, which allows to "trim" / adjust the center of each servo by adding a constant offset in us to all commanded pulse widths of this servo.

Try for example "TRIM:0=40" or "TRIM:0=-40" to offset the center of the servo connected to pin 22 (servo 0) by +40us or -40us.

Design & Build Your Own Robots !

Battle_Droid v10 3D.png
Humanoid_Robot v7 3D.png
Quadruped_Robot v23 3D.png
Quadruped_Robot v24 3D.png
YouMakeRobots plans.png

Congratulations if you made it until the end of this tutorial!

Now that you have built your first robot, try to invent your own! The possibilities are endless because you can print as many parts as you want. The Arduino MEGA supports up to 48 servo motors!

Any issue, question, do not hesitate to leave a comment on my YouTube channel. I do my best to answer every comment. And please post your makes on Thingiverse! I am curious to see what you will build with YouMakeRobots!