# OTTO97

**OTTO97 (OTTO for LinkIt 7697)** is a derived project from [OTTODIY](https://github.com/OttoDIY), it is a cute 2-feet robot that can be easily built with LinkIt 7697 + Robot Shield&#x20;

**OTTO** can walk, dance, sing, detect obstacle and with mouth emotion animations

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FGnCgeJ4YqfQtH98I6BlO%2Fimage2017-10-3%2B9_56_19.png?alt=media\&token=56f929bf-93b2-41a3-b909-da81575808dc)

### **Acknowledgement** <a href="#otto97-acknowledgement" id="otto97-acknowledgement"></a>

* **OTTO97** (OTTO for LinkIt 7697) is a derive project of **OTTO DIY** ([Offical Site](http://otto.strikingly.com/) / [Github](https://github.com/OttoDIY) / [Thingiverse](https://www.thingiverse.com/thing:1568652))<br>

### **License (CC-BY-SA)** <a href="#otto97-license-cc-by-sa" id="otto97-license-cc-by-sa"></a>

* Thie project is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International Licens](http://creativecommons.org/licenses/by-sa/4.0/)

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FREN3WwjN47Huoem2EZkJ%2F68747470733a2f2f692e6372656174697665636f6d6d6f6e732e6f72672f6c2f62792d73612f342e302f38387833312e706e67.png?alt=media\&token=56b7f5ac-44c1-4d89-a4f4-0af7d1cf7147)

### **Prerequisite Knowledge**  <a href="#otto97-prerequisiteknowledge" id="otto97-prerequisiteknowledge"></a>

* Have the basic knowledge of using **LinkIt 7697** with **Arduino IDE**, you can learn from [LinkIt 7697 - Development Guide for Arduino IDE](https://docs.labs.mediatek.com/resource/linkit7697-arduino/en)
* Understand how to use [**LinkIt Remote**](https://docs.labs.mediatek.com/resource/linkit7697-arduino/en/developer-guide/using-linkit-remote) mobile app (iOS/Android) to connect to LinkIt 7697
* Basic electric knowledge&#x20;
* Basic soldering skill (if you want to add the mouth)

### **Materials** <a href="#otto97-materials" id="otto97-materials"></a>

* **LinkIt 7697 x1**
* [**Robot Shield**](https://docs.labs.mediatek.com/display/L7FA/Robot+Shield+for+LinkIt+7697) **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**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F1aZp86gcmLKXCbXuFeyj%2Fimage2017-10-3%2B9_52_39.png?alt=media\&token=8aae4762-201a-46d5-9e80-bf5a0a2c95a0)

{% hint style="danger" %}
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.

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FYUzCKSmCJEj7UA7HJS6P%2Fimage2017-10-3%2B10_5_33.png?alt=media\&token=4a7e9dd5-5500-4985-ae2a-20435e0b7507)

* **Passive Buzzer** with **3V\~5V** working voltage. Do not choose the one only works with 5V
  {% endhint %}

### **Tools** <a href="#otto97-tools" id="otto97-tools"></a>

* **Mobile Phone (to run the Calibration and Demo app)**
* **3D Printer**&#x20;
* **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**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FvuLYUuzmX1QD0bbnOtMD%2F2017-09-21_09-48-38.jpeg?alt=media\&token=150a675b-7f0d-4a67-9e3c-e1cb0fd10c3d)

### **Software** <a href="#otto97-software" id="otto97-software"></a>

* Source code can be found <https://github.com/bearwbearw/OTTO97>

  | Folder                     | Description                                                                                            |
  | -------------------------- | ------------------------------------------------------------------------------------------------------ |
  | 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                                                                                         |

### &#x20;**Building Instructions** <a href="#otto97-buildinginstructions" id="otto97-buildinginstructions"></a>

#### Step 1: 3D Print OTTO Parts <a href="#otto97-step1-3dprintottoparts" id="otto97-step1-3dprintottoparts"></a>

* Download and print the 3D files from [Thingiverse](https://www.thingiverse.com/thing:2552930), 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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Ft4uKU2ALXCaxvAdwO0dB%2F2017-09-21_09-21-17.jpeg?alt=media\&token=619309e3-f4d6-4829-a5a3-c5cac24e630b)

#### &#x20;Step 2: Download & Install Arduino Libraries & Applications  <a href="#otto97-step2-download-and-installarduinolibraries-and-applications" id="otto97-step2-download-and-installarduinolibraries-and-applications"></a>

* Download the **libraries and applications** from [GitHub](https://github.com/bearwbearw/OTTO97), unzip it and put them in the Sketchbook locations

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FBalqO6Hr02xvXKRazf6i%2Fimage2017-9-14%2B16_13_51.png?alt=media\&token=ec00645f-7057-4d08-982b-e05009a97053)

{% hint style="info" %}
&#x20;libraries folder can be found in the **Sketchbook locations,** which is defined in **File > Preferences**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Fa18DnJh5vCPv2vUS1lbi%2Fimage2017-9-14%2B16_11_4.png?alt=media\&token=296a5e6b-34f6-4178-9113-4e2e9d45e0de)

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FFg1nn82QQXbxEzUD3DQi%2Fimage2017-9-14%2B16_12_28.png?alt=media\&token=ce7398ec-5071-4c61-99ca-bfd2ecafb36c)
{% endhint %}

#### **Step 3: Prepare the Calibration UI** <a href="#otto97-step3-preparethecalibrationui" id="otto97-step3-preparethecalibrationui"></a>

* Open **Arduino IDE**, build and download the **OTTO\_Clibration.ino** to **LinkIt 7697** (the sketch you get it from Github)&#x20;
* Download & open the **LinkIt Remote** app on your mobile phone, you shall see a device call "**OTTO CAL**"

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FDYreBOlap5QGEx7ueiOE%2FIMG_8620.png?alt=media\&token=77f4acad-0b82-4f09-9004-e721b9e91740)![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FjC1wZFvRRX6Gyso4XbDd%2FIMG_8821.png?alt=media\&token=51194f16-5c65-4df4-9ab3-92f638c9a5fa)

* Click "**OTTO\_CAL** to load the **Calibration UI** interface from you **LinkIt 7697** through Bluetooth

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FYWfZZbFB5FI55twXCA0v%2F2017-09-21_09-05-45.jpeg?alt=media\&token=06623400-2a21-4c63-9fb9-c93082afaec2)

#### **Step 4: Connecting Servos** <a href="#otto97-step4-connectingservos" id="otto97-step4-connectingservos"></a>

* 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&#x20;
* 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&#x20;
* Switch on **Robot Shield**'s power  (shift to left side)<br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FH6TkQFcbJBQQd1Clvq2V%2Fimage2017-9-19%2B10_55_29.png?alt=media\&token=f7adf5c8-be7a-4de9-b67c-aa9730eac926)

* 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<br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F0e19XePxUUs1gN6izAhM%2F2017-09-21_09-15-57.jpeg?alt=media\&token=d6159e85-8677-4e7a-b1f1-b38868277a72)&#x20;

{% hint style="info" %}
**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
{% endhint %}

#### **Step 5: Connecting Ultrasonic Sensor** <a href="#otto97-step5-connectingultrasonicsensor" id="otto97-step5-connectingultrasonicsensor"></a>

* Bend the pins 90 degree\
  &#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FSAzGu0MbQH90PPUemVwG%2Fimage2017-10-3%2B10_3_3.png?alt=media\&token=f50af42c-426f-4374-b6e4-fdb923a20ac5)

* Connect the **HC-SR04P** to **Robot Shield**'s **P2** and **P3**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F1rZi44Ixt4RfO1bPc6Ky%2Fimage2017-9-15%2B13_40_57.png?alt=media\&token=d4faecf8-c72f-48b1-8c90-7866f9fe2801)

{% hint style="danger" %}
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!
{% endhint %}

* Click the **US Switch**, you shall see the detected distance print through serial monitor

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FGAtcJGEoDDaUj6g294tV%2Fimage2017-9-21%2B8_46_24.png?alt=media\&token=1c8b900a-45c4-420d-8eca-4116ce27a7fe) ![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F3eFp3WotvXOBjgaQVtmb%2F2017-09-15_10-04-09.jpeg?alt=media\&token=6d457927-1320-4425-b80a-0b61f7b43e60)\
&#x20;

{% hint style="danger" %}

* **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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FYUzCKSmCJEj7UA7HJS6P%2Fimage2017-10-3%2B10_5_33.png?alt=media\&token=4a7e9dd5-5500-4985-ae2a-20435e0b7507)
{% endhint %}

#### Step 6: Connecting Passive Buzzer  (Optional, only if you want your OTTO to sing) <a href="#otto97-step6-connectingpassivebuzzer-optional-onlyifyouwantyourottotosing" id="otto97-step6-connectingpassivebuzzer-optional-onlyifyouwantyourottotosing"></a>

* Connect the **Passive Buzzer** to **Robot Shield**'s **P4**&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FccvdQN9AYRATMUEphzv4%2Fimage2017-9-15%2B13_43_31.png?alt=media\&token=9efb492f-58ac-4b7e-a78c-576be2be7753)

* Click the **BUZ Switch**, you shall hear sounds coming out from the **Passive Buzze**r

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FH3rA5Rl66FGKZvmCQXLJ%2Fimage2017-9-21%2B8_50_45.png?alt=media\&token=2a92950c-31dc-4e68-a2e8-ec2e8d47bbc3)

{% hint style="info" %}
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)
{% endhint %}

#### **Step 7: Connecting  8x8 LED Matrix (MAX7219)  (Optional, only if you want a mouth)** <a href="#otto97-step7-connecting8x8ledmatrix-max7219-optional-onlyifyouwantamouth" id="otto97-step7-connecting8x8ledmatrix-max7219-optional-onlyifyouwantamouth"></a>

* 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**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FDoIvrHcIRQXzmbTAqMsJ%2Fimage2017-9-15%2B13_47_6.png?alt=media\&token=1e14f12a-6c91-4056-987b-76c2c6812340)

* Click the **LED Switch**, you will see patterns displaying on the **8x8 LED Matrix**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FBdrpjfXtniVG4QgJele7%2Fimage2017-9-21%2B8_55_9.png?alt=media\&token=1cf3e4ab-18e0-4d97-b28c-e4a3d39a8d05)

* 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)

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FelpMVgFV3iNkBHYjqUxl%2Fimage2017-9-19%2B8_34_55.png?alt=media\&token=30af03c9-387d-46b5-892d-5fd176f7105b)

* Connect the **8x8 LED Matrix** to **Robot Shield** again and check if it displays correctly

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FGGjjeAW0BRe65IfENU7L%2Fimage2017-9-15%2B13_48_15.png?alt=media\&token=f70608cc-40d0-4f21-b49f-c90224608c10)

{% hint style="info" %}
How to Remove Pin Headers

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FoldEA7eCwk76hoIDVtZ6%2Fimage2017-9-19%2B8_30_52.png?alt=media\&token=17011da4-7187-4275-922c-97f8394cff12)\
Cut the output pins\
&#x20;![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FvaVeD7kZ428plB8TqBNv%2Fimage2017-9-19%2B8_37_10.png?alt=media\&token=69909109-7ac6-480d-996f-1da1f89823ab)

Cut the input pin headers\
&#x20;

<https://youtu.be/4FGtW8HOYKM>

Remove the pin header (may use slap method)\
&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Fng5jV4ahGstA794lrTd6%2Fimage2017-9-19%2B8_55_41.png?alt=media\&token=e1b96e21-9197-4b22-93bc-7ca60040870c)

\
Prepare the 5 wires (approx. 5 cm)\
&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FXHvF2DgMOKlTgbQfuemJ%2Fimage2017-9-19%2B8_53_18.png?alt=media\&token=e2fdce0c-e06c-4e4c-858d-552bafdca54a)

\
Insert the wires from the backside and solder them firmly to the holes
{% endhint %}

**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

#### **Step 8: Assemble the LEFT LEG (P15)** <a href="#otto97-step8-assembletheleftleg-p15" id="otto97-step8-assembletheleftleg-p15"></a>

* 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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F2Vwm56M08UW3TecNKr9Z%2F2017-09-20_08-06-19.jpeg?alt=media\&token=5de86a3c-c27d-4caa-844e-c56ed32b8f2d)

* Mount a servo to the **BODY** (Left Leg) with 2 longer screws

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F2iDHB3KLNr203qs8g7bN%2F2017-09-20_07-52-53.jpeg?alt=media\&token=15fe8183-9deb-4d7d-8cb8-4bb32726a5e6)

* 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)

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F8kMMl9fkQ1BEEyC5lCOa%2F2017-09-20_08-23-51.jpeg?alt=media\&token=b7d9fde0-123e-4f7c-bf29-25c6eb59ec47)

* Both **LEGs'** 3D print parts are identical, just pick one of them<br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FanAPTXfKP1KDmngqphw6%2F2017-09-20_16-13-50.jpeg?alt=media\&token=921ea0ae-d2c1-49f1-969f-10ed372e6062)

* 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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Fdf2oO5WUEGht9Wo3bHqD%2F2017-09-20_08-19-04.jpeg?alt=media\&token=2e2e95da-63cf-48c4-9d82-006656bdd4df) ![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FqG96aWV5paHFFHbDRL9k%2F2017-09-20_09-06-05.jpeg?alt=media\&token=d93e915e-cbf6-422c-ab1c-51e4ce5744a7)

{% hint style="success" %}
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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FsWiwBn6HHdmPv2zmL3FM%2F2017-09-20_08-08-10.jpeg?alt=media\&token=1c19b102-6e04-4250-9c21-4228bcbb3d43)
{% endhint %}

* Assemble the **LEFT LEG** to the bod&#x79;**,** 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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FZXDZV6UpwdYy6WaBv1VW%2F2017-09-20_16-38-06.jpeg?alt=media\&token=bdb217bb-0b0a-4926-a77d-0b3ec538ea27)

* 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**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FzM3at0hcnzUjpomHpwlE%2F2017-09-20_16-36-39.jpeg?alt=media\&token=614c2887-d2dc-4d56-a043-a85224ec0c66)

#### **Step 9: Assemble the RIGHT LEG(P16)** <a href="#otto97-step9-assembletherightleg-p16" id="otto97-step9-assembletherightleg-p16"></a>

* Follow the same instruction for the **RIGHT LEG**, the servo is connected to **P16**&#x20;
* Use the **LinkIt Remote** calibration UI to calibrate the legs, remember to **Save** the calibrated result&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FOsXIU2bayMP5GbyO4YzC%2F2017-09-20_14-07-05.jpeg?alt=media\&token=72bcad81-1626-416a-b9d7-f2ff5456649b)  ![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F60GN1PgErcbsgQmQ4YDY%2F2017-09-20_16-33-34.jpeg?alt=media\&token=48d573cf-bbd8-4d34-96e9-c503fb1f108a)

#### **Step 10: Assemble the LEFT FOOT (P5: LF)** <a href="#otto97-step10-assembletheleftfoot-p5-lf" id="otto97-step10-assembletheleftfoot-p5-lf"></a>

* Pass the servo wires through the holes of the **LEFT LEG** and **BODY**, and connect to the **Robot Shield**'s P5 again

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FDfUbpZTWuGRXMSIEDn4d%2F2017-09-20_16-26-03.jpeg?alt=media\&token=7292a7a9-a68d-4216-9c30-d987e5160109)

* Using the calibration mobile App to move the servo to its initial position ("**Stiff**")  <br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Ff5MKvOR1hrToA8xjTn4L%2Fimage2017-9-19%2B10_50_40.png?alt=media\&token=147b51bf-3c0e-414a-9fb0-3340534e08a4)

* Pick the **LEFT FOOT** 3D print part, and cut the horn to fit into the **LEFT FOOT**'s grove

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FzRkv2NMNAYBPH0ka7cYZ%2F2017-09-20_16-28-38.jpeg?alt=media\&token=94cbf646-be4d-44cd-a986-586ae8904523)

* Assemble the servo & horn to the **LEFT FOOT** with the shorter screw

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Fq8KH6JEKwCHNP5dCBR8M%2F2017-09-20_16-11-08.jpeg?alt=media\&token=eb71ba16-1da6-49d3-813a-28064eb0180b)

* Fold the cable and squeeze the servo into the **LEFT LEG**\
  &#x20;&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Ftvh4xa5GNgRhJa1tFN1c%2F2017-09-20_16-21-54.jpeg?alt=media\&token=ef78bc8c-4bcc-4214-a4b1-46ceb12e2358) ![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FJqMAPqXLE9ANMVAe0KD7%2F2017-09-20_16-20-49.jpeg?alt=media\&token=6afb753f-49c0-41bc-a347-abd69c51a737)

* Fasten a longer screw to secure the servo to the **LEFT LEG** (the screw won't be very tight)&#x20;

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F1BrG1xG8eOPKxuSILbiD%2F2017-09-20_16-19-53.jpeg?alt=media\&token=cd89db7c-059f-4fe9-8d02-c44a75148d6b)

#### Step 11: Assemble the RIGHT FOOT (P11: RF) <a href="#otto97-step11-assembletherightfoot-p11-rf" id="otto97-step11-assembletherightfoot-p11-rf"></a>

* Follow the same instructions above for the RIGHT FOOT, using the servo connects to **P11**&#x20;
* 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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FNbRiMJQfrVmSIkoHE7wr%2F2017-09-20_16-18-18.jpeg?alt=media\&token=e8194a6c-5f52-4895-a927-e2519dee95a9)

#### Step 12: Assemble the Robot Shield to the BODY <a href="#otto97-step12-assembletherobotshieldtothebody" id="otto97-step12-assembletherobotshieldtothebody"></a>

* Iis better to have the FEET's wires closer to the rear part of the body

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FNKChvf3X9PvzD9NDJuxJ%2F2017-09-20_16-46-53.jpeg?alt=media\&token=af174ee5-fb96-41c3-b7af-acb5bbea4618)

* Slide in the Robot Shield's connectors to the BODY's connector hole at its rear side

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FP1lvQ81uiLvo8cVvYJYv%2F2017-09-20_16-12-40.jpeg?alt=media\&token=0b916d5b-9c13-4736-906c-8a3e08907377)

* Fasten the Robot Shield with the screws comes with the Robot Shield (you can just fasten two diagonal screws)

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FrRKFQKXryf9aB4XEWQep%2F2017-09-20_16-44-27.jpeg?alt=media\&token=72ee3b07-76a3-4de6-92c3-2d48c5f3e5c0)

#### Step 13: Put back the Ultrasonic Sensor, Buzzer, and 8x8 LED Matrix <a href="#otto97-step13-putbacktheultrasonicsensor-buzzer-and8x8ledmatrix" id="otto97-step13-putbacktheultrasonicsensor-buzzer-and8x8ledmatrix"></a>

* Let's re-connect the testes components back to the Robot Shield<br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FGGjjeAW0BRe65IfENU7L%2Fimage2017-9-15%2B13_48_15.png?alt=media\&token=f70608cc-40d0-4f21-b49f-c90224608c10)

* 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**<br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FpyYRYGrfsRl06Zd2QBKA%2F2017-09-20_16-45-34.jpeg?alt=media\&token=b61da7f8-1be6-4b70-9ce0-63f0c6ffc3b9)

* Insert the Ultrasonic Sensor to the **HEAD** and re-connect the cables to the Robot Shield<br>

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FEy5NNAvJOdvgyVYl4aMr%2F2017-09-20_16-43-34.jpeg?alt=media\&token=8e2b7326-8b35-42ad-920d-9d9e873522c5) ![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FJIz6WZthiOnmgCavqOP0%2F2017-09-20_16-42-42.jpeg?alt=media\&token=6f3c89b3-bc01-4483-9a95-fbb7337b08eb)

* Stick a tape behind the 8x8 LED Matrix to avoid short with the **Robot Shield and re-connect it to the Robot Shield**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2Frq5HjNDt26gb7tjFCCCf%2F2017-09-20_16-40-28.jpeg?alt=media\&token=bc2fda80-8195-4186-9bee-b7775d6d5604)

* Insert the LED Matrix into the front compartment of the **BODY**

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2F56lhfGp3TRs4ydbi5zYc%2F2017-09-20_16-39-11.jpeg?alt=media\&token=00ca2e13-dc15-49eb-a49a-ffccb0dfd1df)

* Assemble the **HEAD** to the **BODY, OTTO** is ready to GO!!

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FmelNlZveBuHscoUSzYuT%2F2017-09-20_16-16-21.jpeg?alt=media\&token=6b98796b-c07a-4211-9169-adb4b49f3c5d)

#### Step 14: Run the DEMO App <a href="#otto97-step14-runthedemoapp" id="otto97-step14-runthedemoapp"></a>

* 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

![](https://3972650740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY4gduUSLWOCI23CXUWej%2Fuploads%2FAXJXuqTm2dnJBLT6UFzk%2FIMG_8618.png?alt=media\&token=422449eb-5779-4d19-ba19-d9c4e4eb830f)

* Let's play with your OTTO\~&#x20;
