Introduction: TyroBot: DIY Humanoid Robot
In this Instructable I will walk you through the steps to build a fully functioning walking humanoid robot with a 2.8in touchscreen face. "TyroBot" is a 3D printable opensource kit that can be assembled in just a few hours and can be programmed both on the robot itself and in Arduino on a computer. TyroBot is fully customizable and can be printed on any printer with a bed size of at least 100mm^3.
TyroBot is equipped with 7 servo motors, a rechargeable lithium ion battery and a controller board that hosts a 32 bit microcontroller, ESP8266 WiFi module, and triple axis accelerometer.
Once TyroBot is up and running, the user came program TyroBot either on the touchscreen or in Arduino to walk in any direction, dance, send emails, tweets, or anything supported on the IFTT network.
Ready to build your own TyroBot? Read on.
Step 1: Gather Components
There are 3 different ways to obtain all the parts needed to build TyroBot.
- The first option is to buy a complete kit through my Kickstarter campaign. Since you are reading this it is still active, so if you back the complete kit option for $99 you will receive everything you need to build a TyroBot including the 3D printed parts.
- If you already own a 3D printer, you can back the cheaper option and purchase the maker's kit. It includes everything BUT the 3D printed parts which you must make yourself. They are available both on GitHub and Thingiverse.
- Finally, if you would like to build a completely custom TyroBot, you can by buying all the components and fabricating the controller board yourself. TyroBot is 100% open source with all the board design files published on GitHub. This option is by far the hardest and not necessarily cheaper, so attempt at your own risk.
What you'll end up with:
- 7 SG90 servo motors
- A TyroBoard, TyroBot's controller pictured above (Schematic and design files)
- A 1200mah lithium ion rechargeable battery
- About 40 screws
- 11 3D printed parts
Now that you have all of TyroBot's parts you can begin assembly.
Step 2: Assemble the Feet
To begin TyroBot construction, start with the feet. Start by snapping two SG90 servos into the feet parts, and thread the wire through the slot. Screw in the servos using 4 screws. Finally, attach a servo horn facing up.
As of now the servo is not properly calibrated, but we will get to adjusting the servo horn in a future step.
Step 3: Assemble the Pelvis
The next step is to assemble the leg servos. Snap two SG90 servos into the pelvis with the white motor head facing away from the wire slot. It is a very tight fit, so no screws are used in securing these motors.
Next, attach servo horns facing straight back. Like I said previously, they will be readjusted for calibration, but in a future step. Screw in the leg pieces using 4 screws.
Finally screw the leg pieces to the servo horns on the feet and thread the wires through the slot.
Step 4: Assemble the Torso
Next, screw in a SG90 servo into the center of the torso with the white motor head facing away from the wire slot. With the head motor in place, snap in the two arm motors and thread the wires for all three servos out the back wire slot. Make sure the servos are facing the right direction by comparing them with the pictures.
Secure the arm motors with four screws.
Step 5: Attach the Torso to the Legs
Carefully thread the four servo wires from the legs through the torso and out the back. Orient the torso over the pelvis and turn the legs so you have access to the screw holes. Using two screws, secure the torso to the leg assembly.
Step 6: Attach the Head
Snap small head bracket onto the head servo. Insert a screw and tighten it till it is snug. Try not to turn the head servo as it is very easy to break teeth off of the servo gears.
Now, thread all of the leg and torso wires through the head. Be as neat as possible and make sure there is still room for the head to turn.
Carefully attach the head to the bracket by using two screws on either side of the head.
Hardware wise, TyroBot is all setup! Time to connect the electronics and begin calibration!
Step 7: Connect TyroBoard, TyroBot's Controller
Now it is time to connect the servos to the controller board.
Each servo connects to a port number on the board. The image above indicates which servo goes to each number. The brown wire is ground, so make sure it is ALWAYS connected to the row of pins labeled "-". Otherwise your servo will not work.
Next, connect a battery to the JST port and slide the controller board into the head, considering wire management.
Finally screw in the face plate with 3 screws.
Your TyroBot is all setup! Time for calibration.
Step 8: Calibrating TyroBot
To calibrate TyroBot, take off the leg pieces so just the servo horns are showing. Then, slide the switch to turn on TyroBot. After a couple of seconds, the servo horns should move to their "center" positions. See video:
Carefully take each servo horn off and reposition it back to the center without turning the motor. It should look like the image above. Put TyroBot back together and you are ready to program. Every time you turn TyroBot on, all of the servos should automatically adjust to their default standing position.
Step 9: Programming TyroBot
If you haven't already, install the latest version of the Arduino IDE.
Next, in order to make TyroBot function properly, two dependencies need to be installed:
- Adafruit_LIS3DH
- Adafruit_ILI9341
Open Sketch > Include Library > Manage Libraries... and search for and install the two libraries. When completed you should get the image above.
You will also need to install the ATSAMD21 based boards to the Arduino IDE.
Open Tools > Board > Board Manager and install "Arduino SAMD Boards (32-bits ARM Cortex-M0+)"
Now, download TyroBot's library from my Github page.
Open Sketch > Include Library > Add .ZIP Library... and select the TyroBot.zip you previously downloaded.
TyroBot is all ready to be programmed in Arduino! Connect TyroBot to your computer using a MicroUSB cable, and turn him on.
In the IDE, select "Arduino/Genuino Zero (Native USB Port)" as your board, and select the COM port that appears. Open the example sketch, "original-firmware.ino" by going to File > Examples > TyroBot and upload the sketch. It should upload and show the same menu that was originally on TyroBoard.
Time for customization! Read through the project's wiki to get to know the TyroBot library so you can make TyroBot do your every command from dancing to sending Tweets on social media!