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, more Ottos are coming 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, If you do not have a 3d printer you can always use services like 3dhubs.com or local maker spaces.

The total cost of this materials could be no more than 49 $US!

<p>I still have to finish connecting battery and make some final fixes, but I have Otto working off USB. Pretty cool. My kids at school are amazed. One asked me if I woke up one day and knew how to do this, yeah right :) Great Project!!</p>
<p>a happy Otto over there Theresa , glad to know is working and make more people amazed</p>
<p>Hi cparrapa,</p><p>I mistakenly deleted by last comment, sorry for that. As you told me rx and tx are associated with the same rx and tx of the nano which is digital pin 0 and 1, i was connecting the pins at these same pins. I have been trying for last 12 days to control otto with bluetooth but its not responding. I was able to configured the bluetooth module and i'm able to connect zowi app to the module too, but i am not able to move robot using app.</p><p>I had uploaded otto todo.ino but robot is not responding to apps command.</p><p>I followed your mentioned link too..( <a href="https://www.hackster.io/ottoplus/otto-diy-33406c?team=30287" rel="nofollow">https://www.hackster.io/ottoplus/otto-diy-33406c?t...</a> )but nothing seems to work. </p><p>I tried to upload zowi firmware too but that one is also not responding.</p><p><a href="https://github.com/bq/zowi/tree/master/Zowi_mold/scr/code" rel="nofollow">https://github.com/bq/zowi/tree/master/Zowi_mold/s...</a></p><p>After doing all this possible cases which causing thing not to work are either arduino or bluetooth module,</p><p>So i tried with mega2560 but still robot not working, whereas bluetooth module problem is concern i'm able to run servos using bluetooth using bluetooth terminal from my mobile(using another program), so this eliminates the bluetooth module issue too.. where else i can be wrong please help.</p>
<p>Yes we have that problem too and that is why we haven't officially launched Otto DIY + the bluetooth version, now somehow i the comments in hackster you can see some Ottobuilders did it, it seems BT modules from different suppliers can work in different baudrates so they are tricky</p>
Ahh.... Thanks a lot for your comment and i was thinking that i was doing something wrong. I'll also work on this problem and I'll let you know if I come up with some solution. Thanks again :D
<p>Building an Army Of Ottos for my students. Just started and tried the examples. Now I willl prepare an easy code of functions so the students can program the robots using those. If not they will get lost into Otto&acute;s code.. great work. Following you on github and hackter</p>
<p>hahaha cool want to see that army!, looking forward for those codes too</p>
<p>I'm making progress; have &quot;avoid&quot; &amp; &quot;smooth criminal&quot; working. When I try to add otto's sounds to &quot;smooth criminal&quot; I can't get any sound to play. It seems no matter where I put the code (ie:Otto.sing(S_surprise);) nothing happens. I found that I could modify &quot;avoid&quot; for different sounds, but not &quot;smooth&quot;. How can sounds be added? </p>
<p>Oh yes that is because smooth criminal only use the oscillator library that is for dance. Yes better use &quot;avoid&quot; moves which can make same dances and even more thing like sounds and gestures, list here: https://github.com/OttoDIY/OttoDIY/blob/master/Moves, better try to copy the smooth dance to avoid which use Otto libraries</p>
<p>Where can I find a discussion forum or program explanation for otto? How do I get the servos to be in a startup orientation; is that the calibration program? I liked building otto for my grandson, but can't ge t the legs &amp; feet straight.</p>
<p>Here: https://github.com/OttoDIY/</p>
Thanks, it's working now. Great project!
<p>Good to know thanks looking forward to see your Otto :)</p>
<p>Hi <a href="https://www.instructables.com/member/cparrapa" rel="nofollow">cparrapa</a>. thanks for such a great project!!</p><p>I've managed to print and assemble Otto ( which was easier than I thought it would be). I've even managed to load up the code for smooth criminal and its been dancing all over my desk!! However, I'm a complete novice when it comes to code/ programming (especially Arduino). How do I change modes/ upload new code?? I've tried uploading the avoid code, but I get error messages and Otto just keeps on dancing!!</p><p>Please forgive my ignorance, but any advice would be greatly appreciated!!</p><p>Ian</p>
<p>Hi Ian </p><p>For the avoidance make sure you have install all other libraries from <a href="https://github.com/OttoDIY/OttoDIY" rel="nofollow">https://github.com/OttoDIY/OttoDIY </a> there also an updated version of the instruction manual there.</p><p>Congratulations for your Otto looks great in grey!</p>
<p>Thanks for the project. We built it for a class project and it came out great, and got an A! We actually designed a very basic Android app that uses a Bluno Arduino Mini (Built-in Bluetooth) to control Otto like a remote control. </p><p>The biggest issue we had was getting the legs to fit the servos correctly. Eventually I actually just designed a new leg that would use the plastic servo horns to move so that we didn't need to fit it perfectly onto the servo head! Also, I found out by printing the foot at 105% I was able to get it to fit perfectly on a SG90 Micro Servo.</p><p>Feel free to use the 123D design, STL, or the Arduino App. Its all located on my GitHub <a href="https://github.com/DryWaters/OttoRemote." rel="nofollow">https://github.com/DryWaters/OttoRemote.</a></p><p>Thanks again!!</p><p>Th</p>
<p>Wow! Daniel wonderful job, thanks for sharing we will incorporate this option to the main code. We also designed new legs have you tried them?</p><p>So cool please share some photos or videos in socail media</p>
<p>Nice! The version we were using was Version 3 of the legs, not sure if there is a newer one since then. Thanks for the plans though!</p>
<p>Yes we have version 4 now in thingiverse</p>
<p>Camilo,</p><p>Just finishing my otto atm. But as soon as I power him up (plug in usb or connect batteries) he starts to move. Is there a way to add a electret microphone and start/stop him with a clap? I am a complete novice when it comes to programming though. I'm looking to do this as a class project in my electronics class this year. Any advice or information greatly appreciated.</p>
<p>Yes you can add a mic or use the current ultrasound to activate him, also the latest version have a micro switch to turn it on</p>
<p>I just finished my first Otto! My expansion board it's a bit bigger than the recomended so i can't fit it inside the body :( I also purchased an hc-06 bluetooth module and I'd love to use it and download zowi app and make it walk, but i'm really new to arduino and programming and I don't know how to do it. I've been looking for info but i can't find how to wire the bluetooth module to the expansion board i just found info about how to wire it directly to the nano board. I hope to learn how to modify my robot soon. Thanks for this project!</p>
<p>If your provider have bigger shield you can always trim it in the borders or make Otto bigger in 123D, for the bluetooth we are developing with the community a new instructable here: https://www.hackster.io/ottoplus/otto-diy-33406c?team=30287, the board have an area for TX and RX you can use</p>
<p>Be careful when ordering the buzzer/speaker you want to be sure to order one that is 12mm in diameter! It should be rated 5Vdc. </p>
<p>So I finally made it too :) </p><p>Only thing my Otto is still missing are his Eyes (which haven&acute;t been delivered yet). So I have Terminator version instead :) </p>
<p>Never is late! cool the terminator look. Have you post it on thingiverse as a made?</p>
<p>not yet, I will check it tomorrow :) </p>
<p>I made with 3D print pieces from a friend, I made some changes to legs for use additional pieces from servo, I put some changes in sketch to detash the servo for standby and add ultrasonic sensor for activate dance... (sketch is at https://github.com/tehniq3/Otto_robot/blob/master/Otto_smooth_criminal_ultrasonic.ino</p>
<p>Can we take out the power supply on the circuit board because ours doesn't fit in the head and we're using the micro-USB for charging?</p>
<p>You mean the black plug for the extra power supply? yes you can take it out, is not really useful unless you want to use an external 9v adapter.<br>USB is only for programming and power not charging unfortunatelly.</p>
What software did you use to design body for 3d print?
<p>Autodesk 123D Design</p>
<p>Excuse me , I have two question .</p><p>1.What's function about 5V Buzzer and HC-SR04 sensor in Otto</p><p>2.when i provide battery to my otto, he always dance can't stop</p><p> it's normal,or not?</p>
<p>1. Buzzer makes sounds and HC-SR04 sensor is to avoid obstacles like in the video using this code <a href="https://github.com/OttoDIY/OttoDIY/tree/master/OTTO_avoid" rel="nofollow">https://github.com/OttoDIY/OttoDIY/tree/master/OTT...</a></p><p>2. Is normal with the smooth criminal dance code</p>
<p>Just a little update: My Otto runs on arduino pro mini on custom board, it has bluetooth and is controlled by zowi app (which I edited so i have more sensitive mic and correct voltage measurement), added microphone, LED so i know when it's on, power switch, bypassed voltage regulator on Pro mini and it runs on 4xAA rechargable batteries. It also has two buttons in the back so i can change modes and it can be programmed via bluetooth from computer or mobile.</p><p>Here is the video of it dancing:</p><p><a href="https://youtu.be/nX2EZhJKNBE" rel="nofollow">https://youtu.be/nX2EZhJKNBE</a></p>
<p> I have it printed and mostly assembled. I am trying to use an Arduino Pro Mini and I'm having one problem. From the code it looks like it is using:</p><p>Pin PD5 Servo (0)<br>Pin PD4 Servo (1)<br>Pin PD3 Servo (2)<br>Pin PD2 Servo (3)</p><p>On the Arduino Pro mini, pin 4 is not capable of PWM and therefor one of the legs doesn't work. I tried to reassign it to another PWM pin, but can't get it to work. The only other PWM pins are on PB1, PB2, PB3. From the Pro Mini documentation it looks like PB1 is seen as pin 9 in IDE. I tried assigning 10 to the fourth servo, but still can't get it to work. Is there something I need to do to change the setup so it will recognize Port B? I've tried a bunch of different mods, but just can't get the 4 servo to work.</p><p>Can you tell e which pins you use to control the servo's</p>
<p>So cool! the servos are perfectly align, did you edited the app from the sketch or your phone? how do you programmed via bluetooth?</p>
<p>I edited sketches on my computer and then replaced original .hex files in Zowi android app (Zowi.apk) with modified ones. Programming via bluetooth is easy, i connected RX, TX and DTR to Pro mini and i can program it via Arduino IDE or upload already compiled sketches from Zowi for android.</p><p>Bluetooth module has to be HC-05 because HC-06 doesn't have reset for programming arduino (i bought HC-06 by mistake and had to reflash the firmware of HC-05) and I think that Arduino Nano doesn't have DTR pin so a 0.1 uF capacitor should be added between reset pin and bluetooth module.</p>
<p>Hi Davor</p><p>Nice job, i did it once with the HC-06 and worked without the capacitor actually now using HC-05 as you, change the name to Zowi they are paired but somehow cannot control, which baudrate you use?, any sketch and diagram for that? thanks</p>
<p>Cool do you think is possible to modify Zowi UI? the .hex hack is impressive did not know that was possible. Yes i also use HC-05.</p>
<p>I'm not sure, but I think it should be, I just don't know how. HEX file is easy, just open .apk file with WinRAR and replace the hex files inside, you need to sign apk after, i did that by using some certificat for development.</p>
<p>i see just looked there are some .xml files maybe they can be modified too but i donot know how thanks</p>
<p>For xml files you need to properly unpack apk first, won't work with just winrar.</p>
<p>I have a question. Just printed the two feet and tried to put the first servos: the screw goes into the moving part of the servo, but the extruded pin on the other side of the internal part of the foot doesn't have a real &quot;hole&quot; to go into the servo, right? How will the servo not misalign in time?</p>
<p>The extruded pin in the other side that is a semisphere goes into the leg not into the servo. The servos in step 5 of the instruction manual is fixed with the screw to the leg so wont have misalignment.</p>
<p>Now that I printed all parts I understand why I didn't understand the correct placement. The motor moving part needs to be pushed completely into the inner hole...but even if I printed at 0.12 resolution on my i3 Prusa it seems that the hole is almost a millimeter smaller, at least in my case. I'll have to widen it a bit.<br>I tried to download the 123D original file, but it seems I cannot operate on that, the file shows the entire robot and I cannot ungroup the single parts (I wanted to try and see what's the measure for that hole in the original). Any tip for being able to modify the original design? Thanks a lot :-)</p>
<p>Hi Tampano, i found out that micro servos comes with different hub sizes depending of of the supplier, so maybe your is slightly bigger you can either open it a little bit with a knife and then with some preassure might enter or in 123D software you can use the pull option to make it bigger or use the sketches of the star hole, scale it, and extrude to cut the material.</p>
<p>I would love to try and edit the original file but as I said it seems that opening in 123D shows me only a single design with the whole robot, not separated pieces. Any idea?</p>
<p>Forget my previous message. I had to manually add the file extension</p>
<p>Hi Tampano yes check your software version and aldo inside the model some components are group you can ungroup them after select with ctrl+shift+g</p>

About This Instructable




Bio: Nestworks is a social enterprise based in Shanghai. We are a platform to facilitate the development of new technologies, such as smart hardware, software, or ... More »
More by Nestworks:Otto - build you own robot in two hours! Toy Hacking 
Add instructable to: