OTTO97
Last updated
Last updated
OTTO97 (OTTO for LinkIt 7697) is a derived project from OTTODIY, it is a cute 2-feet robot that can be easily built with LinkIt 7697 + Robot Shield
OTTO can walk, dance, sing, detect obstacle and with mouth emotion animations
OTTO97 (OTTO for LinkIt 7697) is a derive project of OTTO DIY (Offical Site / Github / Thingiverse)
Thie project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International Licens
Have the basic knowledge of using LinkIt 7697 with Arduino IDE, you can learn from LinkIt 7697 - Development Guide for Arduino IDE
Understand how to use LinkIt Remote mobile app (iOS/Android) to connect to LinkIt 7697
Basic electric knowledge
Basic soldering skill (if you want to add the mouth)
LinkIt 7697 x1
Robot Shield for LinkIt 7697 (by MiniPlan) x1
MicroUSB cable x 2
Tower Pro SG90 Servo (Micro Servo 9g) x4 (with horns, 2 longer screws and 1 shorter screw)
Ultrasonic Sensor HC-SR04P (3V~5.5V) x1
MAX7219 8x8 LED Matrix x1 (optional)
Passive Buzzer x1 (3V~5V) optional)
3D print parts (head, body, leg x2, foot x2)
F/F wires x 11
Please make sure you have chosen the following two components with wider working voltage, otherwise, it won't work properly
HC-SR04P for the Ultrasonic Sensor with 3V~5.5V working voltage. Do not choose HC-SR04 that only works with 5V, they may look almost identical from the outside.
Passive Buzzer with 3V~5V working voltage. Do not choose the one only works with 5V
Mobile Phone (to run the Calibration and Demo app)
3D Printer
Soldering Iron (optional, used to re-work 8x8 LED Matrix for the mouth)
Instant Glu (optional, used to make the joints more rigid)
Other Tools for assembling
Source code can be found https://github.com/bearwbearw/OTTO97
libraries
OTTO and related library
OTTO_Calibration
A sketch to calibrate the servos and test all components, we will use this to assist building the OTTO
OTTO_Demo
A sketch to control basic movement of OTTO
OTTO_UnitTest_Buzzer
A sketch to test the passive buzzer
OTTO_UnitTest_LEDMatrix
A sketch to test the LEDMatrix
OTTO_UnitTest_Servo
A sketch to test the Servos
OTTO_UnitTest_Ultrasonic
A sketch to test the Ultrasonic sensor
3D_STL
3D print files
Download and print the 3D files from Thingiverse, some of these STL files have been modified from the original OTTODIY to be able to fit in the LinkIt 7697 + Robot Shield
You will have a head, body, leg x 2, left foot and right foot, totally six parts
Download the libraries and applications from GitHub, unzip it and put them in the Sketchbook locations
libraries folder can be found in the Sketchbook locations, which is defined in File > Preferences
Open Arduino IDE, build and download the OTTO_Clibration.ino to LinkIt 7697 (the sketch you get it from Github)
Download & open the LinkIt Remote app on your mobile phone, you shall see a device call "OTTO CAL"
Click "OTTO_CAL to load the Calibration UI interface from you LinkIt 7697 through Bluetooth
Plug-in LinkIt 7697 into Robot Shield, make sure the direction is correct (two USB ports at the same side)
Connect the LinkIt 7697's USB port to a PC for downloading the software
Connect the Robot Shield's USB port to a 5V power source (can also be a PC), keep charging the battery
Connect servos x 4 to the Robot Shield as follows
Switch on Robot Shield's power (shift to left side)
Press "Walk" button in the Calibration UI to see if 4 servos are rotating
Press "Home" or "Stiff" to restore the servos to its initial position
Home: Servos restore to its initial position (OTTO stand up-right) and will detach the servos, you can rotate the servo freely
Stiff: Servos restore to its initial position (OTTO stand up-right) and will NOT detach the servos and keep sending the PWM signal
We usually keep the servo "Stiff" when assembling the servo to the 3D print parts
Bend the pins 90 degree
Connect the HC-SR04P to Robot Shield's P2 and P3
It is quite easy to connect the ultrasonic's wires to the wrong pin because both sides of the module have silk print on it, please double check the wirings!
Click the US Switch, you shall see the detected distance print through serial monitor
HC-SR04 (5V) & HC-SR04P (3V~5.5V) may look identical, please make sure your purchase the new version HC-SR04P
VCC on the Robot Shield is from the built-in Lithium battery ranging from 3.7V~4.5V, it can't drive HC-SR04 properly. If you are using the HC-SR04 (5V) version, you will always see the output as 999.00cm
Connect the Passive Buzzer to Robot Shield's P4
Click the BUZ Switch, you shall hear sounds coming out from the Passive Buzzer
Please use Passive Buzzer (requires PWM as source to play various tone) instead of Active Buzzer (just need a power source to play a single tone)
Due to the limited space in the OTTO's head, we will need to remove the pin headers of 8x8 Matrix LED and solder the wires directly to save more space. If you are not familiar with soldering, you may skip this step and add them back later
We will check the 8x8 LED Matrix first before start reworking, connect the 8x8 LED Matrix to P7, P8, and P9
Click the LED Switch, you will see patterns displaying on the 8x8 LED Matrix
If the 8x8 LED Matrix works properly, we can start reworking (soldering required)
Cut-off the output pin headers
Remove the input pin header, solder 5 wires to those pin holes from the backside of the LED Matrix module (scroll down for detail steps)
Connect the 8x8 LED Matrix to Robot Shield again and check if it displays correctly
How to Remove Pin Headers
Cut the input pin headers
Remove the pin header (may use slap method)
Prepare the 5 wires (approx. 5 cm)
Insert the wires from the backside and solder them firmly to the holes
Congraduation, we have done testing all the electronic parts~ we can start to assemble the mechanical parts
You may remove all cables at this stage, we will put them back one-by-one at later steps
Unpack a SG90, you will find a servo, 3 horns, and 2 longer screws and 1 shorter screw, we will not use the two long horns in this project
Mount a servo to the BODY (Left Leg) with 2 longer screws
Connect the servo to P15, use LinkIt Remote (mobile app) to connect to LinkIt 7697 and open the control UI, press Stiff to adjust the servo to its initial position (which make OTTO stand upright)
Both LEGs' 3D print parts are identical, just pick one of them
Cut the horn to fit into the LEFT LEG's groove, make sure the side connected to the servo shall be as even as possible, it will the main reason why your OTTO cannot walk straight
You may use some instant glue to secure the horn and the leg to make the joint more rigid. Do not do it before every detail adjustment is done
Assemble the LEFT LEG to the body, try to fit in as aligned as possible. There might be 1~2 degree of misalignment, we will use the calibration app to adjust it later
Fasten the horn (on the leg) to the servo (on the body) with the shorter screw tightly. It is very important to have a sturdy joint for OTTO to walk straight
Follow the same instruction for the RIGHT LEG, the servo is connected to P16
Use the LinkIt Remote calibration UI to calibrate the legs, remember to Save the calibrated result
Pass the servo wires through the holes of the LEFT LEG and BODY, and connect to the Robot Shield's P5 again
Using the calibration mobile App to move the servo to its initial position ("Stiff")
Pick the LEFT FOOT 3D print part, and cut the horn to fit into the LEFT FOOT's grove
Assemble the servo & horn to the LEFT FOOT with the shorter screw
Fold the cable and squeeze the servo into the LEFT LEG
Fasten a longer screw to secure the servo to the LEFT LEG (the screw won't be very tight)
Follow the same instructions above for the RIGHT FOOT, using the servo connects to P11
User the Calibration UI to calibrate the angle between the foot and the surface.
Make sure the foot stood flat on the surface, and save it
Iis better to have the FEET's wires closer to the rear part of the body
Slide in the Robot Shield's connectors to the BODY's connector hole at its rear side
Fasten the Robot Shield with the screws comes with the Robot Shield (you can just fasten two diagonal screws)
Let's re-connect the testes components back to the Robot Shield
Insert the Buzzer to the round compartment at the bottom of the BODY part, facing downward, and re-connect the cables to the Robot Shield
Insert the Ultrasonic Sensor to the HEAD and re-connect the cables to the Robot Shield
Stick a tape behind the 8x8 LED Matrix to avoid short with the Robot Shield and re-connect it to the Robot Shield
Insert the LED Matrix into the front compartment of the BODY
Assemble the HEAD to the BODY, OTTO is ready to GO!!
Open the OTTO_Demo.ino in Arduino IDE and download to LinkIt 7697
Use LinkIt Remote to connect to your OTTO and load the control UI from LinkIt 7697, you will see a control panel
Let's play with your OTTO~
Cut the output pins