How to make a Small Humanoid Robot

Jaigarg
3 min readJul 3, 2021

--

You can build a small humanoid robot with minimal programming experience, the bot is called Otto DIY. It is a Fully 3D printed autonomous humanoid robot that can walk, dance, and detect obstacles. It can be controlled via a mobile application that communicates using Bluetooth. This bot has 4 micro servos to control its motion which is controlled by Arduino Nano. This Bot is powered using a lithium-ion battery and 5v external power supply.

List of Materials

  • Arduino Nano
  • 4x Micro Servos
  • Perf Board
  • Buzzer
  • Lithium-Ion Battery
  • Ultrasonic Sensor
  • HC-05 Bluetooth Module
  • Jumper cables
  • PLA Filament
  • 3D printer
  • Li-ion Battery 3.7v

3D Print Settings

As Robot’s body is fully 3D printed, you will have to use a 3D printer to fabricate them. STL files for all parts can be found here:

https://uploads.strikinglycdn.com/files/e048107c-5ed1-4f9e-a2dc-09a088ce3ece/OttoDIYV13.zip

Recommended Slicer Settings :

Layer Height: 0.24mm

Infill Density: 30%

Print Temperature: 200°C

Print Speed: 50mm/s

For slicing and generating G-Code for the machine, use a slicing software like cura or simplified 3D.

Parts Assembly

To assemble body parts and servo motors follow the official instruction manual. It is recommended to file and clean the leg and feet parts for easy installation and easy servo movement.

Here’s how bot should look after full assembly:

Control PCB

For the main controller circuit you can either get the shield and power board provided in the Otto DIY kit or you can build the circuit yourself. Atmega 328p(Arduino Nano) will be the micro-controller used and it will be powered via a 5V source. Servo motors also need 5v to operate and provide enough torque to move the bot. Following image shows circuit diagram of the Controller board.

Programing

Arduino Nano can be programed using Arduino IDE which you can download from here. You can either write custom code for the bot or you can install official Arduino library of Otto DIY. You can download the library from github at:

After downloading and installing the library, upload the Otto_calibration_V9 sketch from examples to initialize servo motor positions.

You will have to change the pins and set the trim values for each servo such that each servo is at mid position when it initializes, i.e the bot should be in standing straight position.

After calibration you can the bot by upload a dance move sketch from examples like this:

After uploading this sketch the Robot should run as in the video at the top of this page.

--

--

No responses yet