Roborear

Build Your Own Otto Robot: A Complete Guide to Your 1st Humanoid Friend

A small, 3D-printed Otto DIY bipedal robot with a black head and white body standing on a green cutting mat. The robot features two large ultrasonic sensor "eyes" for obstacle avoidance. It is positioned between two small potted plants, highlighting its compact size and friendly design.
A small, 3D-printed Otto DIY bipedal robot with a black head and white body standing on a green cutting mat. The robot features two large ultrasonic sensor "eyes" for obstacle avoidance. It is positioned between two small potted plants, highlighting its compact size and friendly design.

The “It’s Alive!” Moment – Otto Robot

There’s something magical about building a robot that walks.

Not a car that rolls. Not an arm that waves. A walking, dancing, obstacle-avoiding humanoid robot that fits in the palm of your hand.

I remember the first time I powered up my Otto. The servos twitched. The legs moved. It took a shaky step forward.

My heart raced.

This wasn’t a kit that snapped together. This was my robot. My code. My wiring. My 3D-printed parts.

And it was walking.

Today, I’m going to show you how to build your own Otto robot. No soldering required. Just components, patience, and about an hour of assembly.

What is Otto Robot?

Otto is a completely open-source, Arduino-compatible humanoid robot . It walks, dances, makes sounds, and avoids obstacles using an ultrasonic sensor .

The best part? Anyone can build one. No soldering. No complex tools. Just a screwdriver and some patience.

 
 
FeatureWhat It Does
🦿 4 Servo MotorsControl legs and feet for walking and dancing
👁️ Ultrasonic SensorDetects obstacles for autonomous navigation
🔊 BuzzerPlays sounds and melodies
📱 Bluetooth (optional)Control Otto from your phone
🎨 3D Printed BodyCustomizable colors and designs

Otto was inspired by another open-source robot called Zowi, but Otto is smaller (11cm x 7cm x 12cm), more accessible, and has a cleaner design . It’s the perfect first humanoid robot.

A blue and white 3D-printed Otto Robot stands on a wooden workbench next to a single AA battery for scale. The robot has a large blue head with ultrasonic sensors for eyes and a white body with blue limbs. In the blurred background, tools such as pliers, various electronic components, and a laptop are visible, showcasing a maker's workspace for robotics coding and assembly.

How Otto Robot Works (Simple Explanation)

Otto’s brain is an Arduino (Nano or ESP32). It controls four servo motors that move the legs.

Here’s what happens when Otto walks:

  1. The Arduino sends PWM signals to the servos

  2. Servos rotate to specific angles

  3. Legs lift, move forward, and plant

  4. Repeat with opposite legs

An ultrasonic sensor on the chest measures distance to obstacles. When something gets too close, Otto backs up, turns, and walks away.

A buzzer adds sound effects. Bluetooth adds remote control from your phone.

All of this fits in a 3D-printed body that stands about 4 inches tall.

A four-stage horizontal flowchart explaining the mechanical logic of an Otto Robot. Step 1: An "Arduino" icon representing the central microcontroller. Step 2: A "Servos x4" icon showing the four actuators required for bipedal movement. Step 3: A "Leg Movement" icon illustrating the specific coordination of the joints. Step 4: A "Walking" icon showing the completed bipedal motion.

What You’ll Need – Otto Robot

Electronics Components

 
 
ComponentQuantityApprox Price (USD)
Arduino Nano15.00−8.00
SG90 Micro Servo (or MG90S for metal gears)48.00−12.00 ($2-3 each)
HC-SR04 Ultrasonic Sensor12.00−4.00
Passive Buzzer10.50−1.00
HC-05 or HC-06 Bluetooth Module (optional)14.00−6.00
4xAA Battery Holder12.00−3.00
AA Batteries (rechargeable recommended)44.00−6.00
Jumper Wires (Female-Female)20+3.00−5.00
USB Mini Cable12.00−4.00

Quick Buy Links (Affiliate) – Otto Robot

 
 
ComponentWhere to Find
Arduino NanoAliExpress
SG90 Servo (4-pack)AliExpress
HC-SR04 Ultrasonic SensorAliExpress
HC-06 Bluetooth ModuleAliExpress
Passive BuzzerAliExpress
4xAA Battery HolderAliExpress
Jumper Wires (F-F, 20-pack)AliExpress

3D Printed Parts – Otto Robot

You’ll need to 3D print the robot’s body. Files are available for free from the official Otto DIY repository .

 
 
PartQuantity
Head1
Body1
Left Leg1
Right Leg1
Left Foot1
Right Foot1

Printing settings:

  • Material: PLA

  • Layer height: 0.15mm

  • Infill: 20%

  • Supports: Needed only for certain parts

No 3D printer? Check local makerspaces, online printing services, or buy pre-printed parts from the official Otto DIY website.

Total cost: ~30−45 USD (excluding 3D printer)

51vHlD0Dw5L. AC UF10001000 QL80

Complete Wiring Guide – Otto Robot

Servo Connections

Each servo has three wires:

  • Brown/Black = Ground (GND)

  • Red = Power (5V)

  • Orange/Yellow = Signal (PWM)

 
 
ServoArduino Pin
Left Leg (YL)D2
Right Leg (YR)D3
Left Foot (RL)D4
Right Foot (RR)D5

⚠️ IMPORTANT: Power the servos from the battery pack, NOT from the Arduino’s 5V pin! Four servos moving simultaneously can draw 1.5A-2A, which will overload the Arduino’s voltage regulator.

Ultrasonic Sensor (HC-SR04)

 
 
HC-SR04 PinArduino Pin
VCC5V
GNDGND
TRIGD8
ECHOD9

Buzzer

 
 
Buzzer PinArduino Pin
Positive (+)D12
Negative (-)GND

Bluetooth Module (HC-05/HC-06, Optional)

 
 
Bluetooth PinArduino Pin
VCC5V
GNDGND
TXD6 (Arduino RX)
RXD7 (Arduino TX)

Note for HC-06: The LED will be SOLID when connected (not blinking). This is normal .

A white 3D-printed Otto Robot with exposed wiring and a glowing blue Bluetooth module stands on a wooden desk. Next to it, a smartphone screen shows the Bluetooth settings menu with "Otto" successfully connected. In the background, a spool of 3D printer filament and various tools are visible, indicating a project in the final stages of development.

Power System – Otto Robot

Otto uses 4 AA batteries (6V total) to power the servos.

 
 
Power SourceVoltageUsed For
4xAA Batteries (via battery holder)6VServos (VCC on each servo)
Arduino USB or 7-12V input5VArduino, sensors, Bluetooth

Wiring the power:

text
Battery Pack + → Servo VCC (all 4 servos in parallel)
Battery Pack - → Servo GND (all 4 servos) AND Arduino GND

Arduino 5V → Ultrasonic VCC, Bluetooth VCC (if used)

Common ground is essential! The battery negative and Arduino GND must be connected together.

Software Setup – Otto Robot

Required Libraries

Install these libraries via Arduino IDE Library Manager:

 
 
LibraryAuthorPurpose
OttoDIYLibOtto DIYContains walking gaits, gestures, sounds
SoftwareSerialBuilt-inFor Bluetooth communication
ServoBuilt-inFor servo control

Installing OttoDIYLib

  1. Open Arduino IDE

  2. Go to Sketch → Include Library → Manage Libraries

  3. Search for “OttoDIYLib”

  4. Click Install

Setting Up the Arduino IDE

  1. Select Board: Tools → Board → Arduino Nano

  2. Select Processor: Tools → Processor → ATmega328P

  3. Select Port: Tools → Port → (your Arduino’s COM port)

The Complete Code – Otto Robot

Code available at https://www.ottodiy.com/

Assembly Instructions – Otto Robot

Step 1: Prepare the Servos

  1. Set each servo to 90 degrees (center position) before installing

  2. Attach the servo horns/arms at 90 degrees using the small screws

  3. The horns should be perpendicular to the servo body

Step 2: Install Servos in 3D Printed Parts

 
 
PartServo Position
Left LegServo at top (hip joint)
Right LegServo at top (hip joint)
Left FootServo inside leg (ankle joint)
Right FootServo inside leg (ankle joint)

Screw the servos into the 3D printed parts using the small screws provided with the servos.

A close-up shot of a white 3D-printed Otto Robot leg being assembled. A small blue SG90 micro servo motor is mounted inside the leg joint and secured with screws. The servo's orange, red, and brown wires extend out toward the right. The background shows a cluttered workbench with various tools and electronic components, representing a DIY robotics project in progress.

Step 3: Wire Everything

Follow the wiring guide above:

  1. Connect all servos to the Arduino and power

  2. Connect ultrasonic sensor to Arduino

  3. Connect buzzer and Bluetooth (optional)

  4. Connect battery pack to servos and Arduino ground

Step 4: Upload Code

  1. Connect Arduino to computer via USB

  2. Upload the code

  3. Otto should center its servos and play a startup sound

Step 5: Final Assembly

  1. Carefully place all wires inside the body

  2. Attach the head using small screws

  3. Attach legs and feet

  4. Close the body

An Otto DIY robot with its black head opened to reveal a dense network of multi-colored jumper wires connected to an internal microcontroller. A Bluetooth module with a glowing blue LED is visible among the electronics. The robot's white bipedal base and ultrasonic sensor "eyes" are also shown. The setup is resting on a green cutting mat between two small potted plants.

Step 6: Calibration

After assembly, Otto’s legs may not be perfectly aligned. Run the calibration sketch to adjust each servo’s center position.

The Otto library has a calibration example that:

  1. Moves each servo to its center

  2. Allows you to adjust offsets

  3. Saves calibration values to EEPROM

Bluetooth Control (Optional) – Otto Robot

If you added the HC-06 module, you can control Otto from your phone:

  1. Pair your phone to HC-06 (PIN: 1234 or 0000)

  2. Download “Arduino Bluetooth Controller” or “Serial Bluetooth Terminal”

  3. Connect to HC-06

  4. Send commands: F = Forward, B = Backward, L = Left, R = Right, H = Happy, D = Dance

 
 
CommandAction
F / fWalk forward
B / bWalk backward
L / lTurn left
R / rTurn right
S / sStop / Home
H / hHappy gesture
C / cConfused gesture
A / aAngry gesture
D / dDance
O / oToggle obstacle avoidance mode

(Photo: Phone connected to Otto via Bluetooth)

Make It Your Own (Upgrades) – Otto Robot

 
 
UpgradeDifficultyWhat You’ll Need
Metal gear servos (MG90S)⭐ Easy4x MG90S servos (more durable)
LED eyes⭐ Easy2x LEDs + resistors
Sound sensor⭐⭐ MediumSound sensor module
Touch sensors⭐⭐ Medium3x touch sensors
Rechargeable battery⭐⭐ MediumLiPo battery + charger
ESP32 version⭐⭐⭐ HardESP32 board + custom body

The official ESP32 version adds WiFi for OTA (over-the-air) updates and built-in Bluetooth .


Troubleshooting – Otto Robot

 
 
ProblemLikely CauseFix
Servos don’t movePower issueCheck battery connections. Use fresh batteries.
Servos twitch but don’t turnInsufficient powerServos need 6V (4xAA) minimum
Otto falls overLegs not calibratedRun calibration sketch
Ultrasonic not workingWrong pinsCheck Trig (D8) and Echo (D9) connections
Bluetooth not connectingHC-06 needs pairingPIN is 1234 or 0000. LED should be solid when connected 
Otto walks backwardServo direction reversedSwap the two wires of the affected servo

🎥 Watch the Complete Video Tutorial

👉 Don’t forget to Subscribe to Roborear on YouTube for more robotics tutorials every week!


Your Turn – Otto Robot

Building Otto taught me that robots don’t have to be complicated. Four servos, an ultrasonic sensor, and some code – that’s all it takes to create a walking, dancing friend.

Now go build yours. Watch it take its first steps. Teach it new dances.

And when it falls over? Pick it up. Adjust the code. Try again.

That’s how you learn robotics.

FAQs

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
Roborear Logo
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.