Beginner Project: Build Your Own Otto DIY Humanoid Robot
🎯 Project Overview
The Otto Humanoid Robot is a fun, open-source project where students build a walking, dancing, and talking humanoid using Arduino, servo motors, and a Bluetooth module.
Otto can:
Walk and dance
Move arms and head
Be controlled by Bluetooth from a mobile app
This is an excellent beginner robotics project that combines mechanical assembly, coding, and electronics.
🛠️ Components Required
Arduino Nano (or Uno)
2–4 Servo Motors (for legs)
Ultrasonic Distance Sensor (HC-SR04)
9V Battery + Switch
Jumper Wires
3D Printed or DIY Robot Body (cardboard, wood, or plastic)
🛠️ Parts Needed
Arduino Uno (or Nano)
L298N motor driver (1 or 2 depending on current)
4 × DC motors with wheels
HC-05 Bluetooth module
HC-SR04 ultrasonic sensor
Battery pack (7.4–12 V Li-ion recommended)
Jumper wires + switch
Pin Connections
| Component | Arduino Pin | Notes |
|---|---|---|
| Left Leg Servo | D2 | PWM |
| Right Leg Servo | D3 | PWM |
| Left Foot Servo | D4 | PWM |
| Right Foot Servo | D5 | PWM |
| Left Arm Servo | D6 | Optional |
| Right Arm Servo | D7 | Optional |
Circuit Diagram
Arduino Code
#include <Servo.h>
#include <SoftwareSerial.h>
// ———- Bluetooth ———-
SoftwareSerial BT(11, 12); // D11 = RX, D12 = TX
// ———- Servo Motors ———-
Servo leftLeg, rightLeg, leftFoot, rightFoot;
// ———- Setup ———-
void setup() {
BT.begin(9600);
Serial.begin(9600);
// Attach servos to pins
leftLeg.attach(2);
rightLeg.attach(3);
leftFoot.attach(4);
rightFoot.attach(5);
// Start at neutral position
centerPosition();
Serial.println(“Quadruped Robot Ready!“);
}
// ———- Main Loop ———-
void loop() {
if (BT.available()) {
char cmd = BT.read();
Serial.print(“Command: “);
Serial.println(cmd);
switch (cmd) {
case ‘F‘: walkForward(); break;
case ‘B‘: walkBackward(); break;
case ‘L’: turnLeft(); break;
case ‘R‘: turnRight(); break;
case ‘D‘: dance(); break;
case ‘S‘: centerPosition();break;
}
}
}
// ———- Servo Control Functions ———-
void centerPosition() {
leftLeg.write(90);
rightLeg.write(90);
leftFoot.write(90);
rightFoot.write(90);
}
void walkForward() {
leftLeg.write(120); rightLeg.write(60);
delay(300);
leftLeg.write(90); rightLeg.write(90);
delay(300);
}
void walkBackward() {
leftLeg.write(60); rightLeg.write(120);
delay(300);
leftLeg.write(90); rightLeg.write(90);
delay(300);
}
void turnLeft() {
leftFoot.write(60); rightFoot.write(120);
delay(500);
centerPosition();
}
void turnRight() {
leftFoot.write(120); rightFoot.write(60);
delay(500);
centerPosition();
}
void dance() {
for (int i = 0; i < 3; i++) {
leftLeg.write(60); rightLeg.write(120);
delay(300);
leftLeg.write(120); rightLeg.write(60);
delay(300);
}
centerPosition();
}
Video
Bluetooth Commands
Send these from a Bluetooth controller app (e.g., “Arduino Bluetooth Controller”):
| Command | Action |
|---|---|
| F | Walk Forward |
| B | Walk Backward |
| L | Turn Left |
| R | Turn Right |
| D | Dance |
| S | Stop / Reset |
Teamwork Idea
Team A: Assemble the 3D-printed body and mount servos
Team B: Wire electronics (Arduino, servos, Bluetooth, ultrasonic)
Team C: Upload code and test Bluetooth app
Conclusion
Congratulations 🎊! You have built your own Otto DIY Humanoid Robot 🤖.
This project teaches servo control, Bluetooth communication, and humanoid movement basics, making it a perfect beginner-to-intermediate robotics build.
















