Otto - Build You Own Robot in Two Hours!





Introduction: Otto - Build You Own Robot in Two Hours!

Who is Otto?

An interactive robot that anyone can make!

What can Otto do?

Otto walks, dances, makes sounds and avoids obstacles.

Why Is Otto special?

Otto is completely open source, Arduino compatible, 3D printable, and with a social impact mission to create an inclusive environment for all kids.

Otto was inspired by another robot instructable BoB the BiPed and programmed using code from another open source biped robot called Zowi.


Otto's differences are in the assembled size (11cm x 7cm x12cm), cleaner integration of components and expressions. Using off the shelf and 3D printed parts, simple electronics connections (almost no welding required), and basic coding skills, you will be able to build your own cute Otto friend in as little as two hours!

Otto is design using Autodesk 123D Design software you can modify it for customization or further improvements!

This instructable focuses on how to build the Otto DIY version - yes, there are more Ottos and you can stay tuned for updates by subscribing here

Step 1: First Gather All Parts and Tools

Gather all the off the shelf parts that you'll need for this assembly. Here's the list:

1. Arduino or Genuino Nano V3.0 ATmega328

2. Arduino NANO Shield I/O Extension Board Expansion XD-212

3. Mini usb cable. (most Arduino dealers provide the cable)

4. HC-SR04 Ultrasound sensor.

5. Mini servo SG90 9g x4 (each one should come with 2 pointed screws and one small screw).

6. 5V Buzzer.

7. Female to Female breadboard connectors cable 10cmx6.

8. 4 AA Battery case

9. 1.5V AA batteries x4.

10. Mini cross screwdriver. important magnetized

And then you only need to 3D print 6 parts in total:

11. 3D printed head.

12. 3D printed body.

13. 3D printed leg x2.

14. 3D printed right foot.

15. 3D printed left foot.

Optional: cutter for post cleaning the 3d parts (if the 3d print quality is good enough no need) and a soldering iron (if you want it battery power otherwise can still connect it through usb to energize)

That's all simple!; Download all .stl files here in Thingiverse, If you do not have a 3d printer you can always use services like or local maker spaces.

If you think is difficult to find the parts, you can buy the full kit here!

Step 2: 3D Print Settings

Otto is very well designed for 3D printing, the files that you had downloaded are property oriented and centered, so wont give you trouble if you follow this common parameters:

  • Recommended to use a FDM 3D printer with PLA material.
  • No need supports or rafts at all.
  • Resolution: 0.15mm
  • Fill density 20%

You can print individually piece by piece to match the colors of the original design or optionally print all at the same time in an area of 14cm x 14cm.

For slicing and generating the g code for the machine free slicer software like Cura or in our case FlashPrint that comes with the FlashForge Finder 3D printer that we are using (If you are outsourcing the printing no need to worry about it)

After printing you will need to clean a little bit the legs and feet areas that fix the motors.

Step 3: Reorganize & Check Your Parts From Bottom to Top.

As mention in step 2, Micro servo motors come with 3 screws in the picture are now included and rearranged the parts number for easy reading.

Remember to have ready your magnetized mini screwdriver.

Print the attached .pdf instructions manual for convenience.

Step 4: Foot Servos Assembly

Put the micro servo inside feet and then push it inside, if is to hard maybe need to clean more the area with a cutter.

Is very important to check that the servo is able to rotate at least 90 degrees to each side.

After checking the movement use only the small screw to fix it.

Same process for the other foot.

Step 5: Fix Servos to Body

Take the other 2 micro servos put them in the defined locations in the 3D printed body and fix them only with the pointed screws.

Step 6: Fix Legs to Body

Connect the legs to the hub of the micro servo, important like the foot servos you must check the legs are able to rotate 90 degrees each side respect to the body.

After verifying the alignment fix them using the small screws to the hole inside the leg.

Step 7: Fix Foot to Legs

Taking care of the cables as showed in the illustration you should put the cables inside the slots of the body passing thought the hole of the legs.

Once they are in right position use the pointed screws to fix them from the back.

Step 8: Head Assembly

Start from the ultrasound sensor is important to pull out the eyes to the limit.

After putting the Arduino nano in the shield, optionally you can weld the battery holder positive cable to Vin in the board and negative to any GND.

Insert diagonally the both boards together facing the USB conector to the hole in the 3D printed head, then use the last 2 pointed screws to fix it.

Step 9: Electric Connection

Prepare the breadboard cables and buzzer.

Then follow the diagram pins numbers and make sure to put them in the right position.

Step 10: Snap the Head and Upload the Code

The Head have snap feature, take care of the cables and close it.

For the coding part you will need to:

1. Download & install Arduino software IDE:

2. Copy Oscillator libraries that is inside to C:\Users\user\Documents\Arduino\libraries (or wherever your library folder is installed):

3. Connect your Otto through USB (your computer should install the drivers)

4. Finally open & upload OTTO_smooth_criminal.ino code to your Arduino Nano and Otto ready to dance!

You can always try different codes from the same Github repository to use the ultrasound to avoid obstacles or detect objects and the buzzer to make sounds. Include all main moves very easy to adjust speed, number of times and direction.`

Stay tuned for the coming Otto DIY kit and Otto PLUS version that will enhance education with more possibilities using Bluetooth, more sensors and interactions.

Share photos and videos on facebook or twitter!

13 People Made This Project!


  • Microcontroller Contest

    Microcontroller Contest
  • Science of Cooking

    Science of Cooking
  • Pocket-Sized Contest

    Pocket-Sized Contest

We have a be nice policy.
Please be positive and constructive.


1 Questions

Hi Camilo,

I had to replace the arduino nano shield(damaged it by accident). Is there something different from the one I got in the kit from ottodiy site(eg. formatting that I am unaware of)? I have been thus unable to get the code to upload properly and unable to get otto to move. Any help would be great.

Hi Jung

oh that is really sad, but dont worry just get the files from and you can use in any other Arduino board, next time email me i don't receive notifications from this instructable since was made with other company


Hi Camilo, You have deleted from latest Github Build but still calling it in Otto.h, which is causing 'Avoid' and other ino files to fail. Pasting lines from otto.h -

private: LedMatrix ledmatrix; BatReader battery; Oscillator servo[4]; US us;

Could you please suggest how best to proceed. 2nd email asking for help

Hi Suman

sorry i don't check this instructable very often since now all Otto builders are in interacting in the Facebook group, there little issues like this are answer in a matter of seconds.

That Otto.h library was undated, you can check now is fixed

See you in the Otto builder group!

Did you ever receive a response to this? I'm having the same issue :(

HI Camilo,

I get this error while uploading few uno files -

C:\Users\user\Documents\Arduino\libraries\Otto/Otto.h:9:23: fatal error: LedMatrix.h: No such file or directory

#include <LedMatrix.h>


compilation terminated.

exit status 1

Error compiling for board Arduino Nano.

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

Hi Camilo,

After ~ 3 weeks of waiting and follow-ups, the tracking # today says that the package is untraceable ??. I had sent you email before placing order(11th Nov) and you were confident that you will ship the Otto package correctly. Since it is for my kids science project this turned out to a very bad experience.

Hi SumanM39

For very unknown reasons the kit took longer than expected, but today 11 th Dec i see in the tracking system that Otto is in SAN JOSE CA DISTRIBUTION CENTER, apologies for this bad experience for you and specially for your kids. Hope we can fix this somehow, we learned from this experience to change the logistic path again.

Best Regards


The hole in the foot is too big for the servo motor small screw. Is there a different foot model?