Things used in this project

Hardware components:
Ard nano
Arduino Nano R3
Gus 1719
C.H.I.P. Approved 3.7 V LiPo Battery
500 mAh battery
Dsc 0965
MyOctopus I2C TMP007 breakout module Infrared Sensor
HC-05 Bluetooth module
HC-SR04 Ultrasonic module
Buy one that also works on 3.3V if you plan to use Lipo battery without step up converter.
Dot matrix display MAX7219
This display takes a lot of space inside Otto and leaves little space for battery so if you have larger battery or don't want animated mouth you can skip this part
This is optional, if you want nose that changes colour.
Touch sensor
This still needs to be tested for changing modes.
Software apps and online services:
Ide web
Arduino IDE
Ide web
Arduino Web Editor
Hand tools and fabrication machines:
3D Printer (generic)
09507 01
Soldering iron (generic)

Custom parts and enclosures

Thingiverse files
Now we have space for switch and buzzer, new legs


Basic parts shematic
Please note that was made in Autodesk Circuit the ultrasound lack of one cable,
Same as Otto DIY for now, we will start to ad components


Function that reads voltage of batteryArduino
//Function that reads voltage of battery

#define BAT_MAX  600 //max battery voltage in mV/10
#define BAT_MIN 400 // min battery voltage in mV/10
#define SLOPE 100/(BAT_MAX - BAT_MIN)
#define OFFSET  (100*BAT_MIN)/(BAT_MAX - BAT_MIN)

this you add in shetch where zowi reads batt voltage:

    batt = ((readVcc() / 10) * SLOPE) - OFFSET;
    if(batt>100){batt = 100;}
long readVcc() {
  // Read 1.1V reference against AVcc
  // set the reference to Vcc and the measurement to the internal 1.1V reference
  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  delay(2); // Wait for Vref to settle
  ADCSRA |= _BV(ADSC); // Start conversion
  while (bit_is_set(ADCSRA, ADSC)); // measuring

  uint8_t low  = ADCL; // must read ADCL first - it then locks ADCH
  uint8_t high = ADCH; // unlocks both

  long result = (high << 8) | low;

  result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000
  return result; // Vcc in millivolts
Avoid obstacles
Basic code to avoid obstacles, also include all libraries and is easy to modify for custom moves


Camilo Parra Palacio

Toy Maker & Industrial designer working and living in China, design inflatables and pool accessories, in my spare time make toys, robots and ride bicycle

Davor Levstek

Working as quality control inspector at rail vehicles factory. I'm interested in programming microcontrollers, making toys and learning about everything.

Img 20160724 145732 vliseurtj2
Frank Lopez

Humanoid Android Engineer & Designer im also a MAKER and Currently building an A.I based Neural Network for a Android and other prototypes.


Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback


Similar projects you might like

Swimming Pool Lap Counter
  • 191
  • 3

I love swimming, but I tend to lose count of the laps, so I made this lap counter with an Arduino.

Flying Rudolph and Makey Santa
  • 399
  • 5

Full instructions

This is an ornament that consists of two characters. One Santa(sssh, we all know) and one reindeer. And some sweet electronics!

Flying Rudolph and Makey Santa

Team Kalmar makerspace Ruxpin ʕ•ᴥ•ʔ
  • 37,851
  • 63

Full instructions

Bring Teddy Ruxpin back to life, but on your own terms! Make him say whatever you want, or have him search twitter to read tweets!

C.H.I.P. MIDI Arpeggiating Synth
  • 8,010
  • 30

Full instructions

Turn CHIP into a ready-to use simple synthesizer, capable of creating a huge variety of sounds. Control it with a MIDI keyboard or even OSC!

CHIP as a WiFi Router
  • 4,100
  • 16

Full instructions

CHIP can be used as a router by taking incoming connection from Ethernet connector to share an Internet connection wireless.

  • 1,849
  • 7

Full instructions

Make any USB storage device wireless.

Add projectSign up / Login
Respect project