Things used in this project

Hardware components:
Ard nano
Arduino Nano R3
×1
Gus 1719
C.H.I.P. Approved 3.7 V LiPo Battery
500 mAh battery
×1
Dsc 0965
MyOctopus I2C TMP007 breakout module Infrared Sensor
×1
HC-05 Bluetooth module
×1
HC-06 Bluetooth module
×1
HC-SR04 Ultrasonic module
Buy one that also works on 3.3V if you plan to use Lipo battery without step up converter.
×1
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
×1
RGB Led
This is optional, if you want nose that changes colour.
×1
Touch sensor
This still needs to be tested for changing modes.
×1
Arduino NANO Shield I/O
×1
Adafruit industries ada260 image 90px
USB-A to Mini-USB Cable
×1
Micro servo MG90
×4
Adafruit industries ada1536 image
Buzzer
×1
266 04
Female/Female Jumper Wires
×10
8x8mm Micro Switch Self lock On/Off
×1
 dsc1102 900x600
DFRobot Romeo Ble
as an option to replace the arduino and the shield
×1
Otto DIY electronic kit
×1
Software apps and online services:
Ide web
Arduino IDE
Ide web
Arduino Web Editor
D94d qxu
Autodesk Fusion 360
Visuino%20logo%20png
Visuino - Graphical Development Environment for Arduino
Hand tools and fabrication machines:
3drag
3D Printer (generic)
09507 01
Soldering iron (generic)
Phillips Cross screwdriver
Hy gluegun
Hot glue gun (generic)

Custom parts and enclosures

Thingiverse files
Now we have space for switch and buzzer, new legs https://www.thingiverse.com/thing:2398231
OttoDIY+
You can modify the size, use the parts for 3d printing and add parts as desire

Schematics

Basic parts shematic
Please note that was made in Autodesk Circuit the ultrasound lack of one cable, https://circuits.io/circuits/1749080-otto-circuit/
Wt6iqi53jxztnybmnx4b

Code

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

Credits

Yo2 r1nyp5pmbe
Camilo Parra Palacio

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

Contact
Zxwwji4gjmwwgrqkcx8e
Davor Levstek

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

Contact
Gus 002
Gustavo Reynaga

Iam a teacher

Contact
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.

Contact
J0fkocjgmiwcy9438jys
Jason Snow

Industrial Electrician, PLC programmer and Electronic designer

Contact
Photo
Pablo E. García Palacios

Computer Engineer and Robotics Teacher in Spain.

Contact
13962535 10207402354274165 6730633353067878632 n
Liao Ping Lun

Software developer in Yunlin County, Taiwan. Motto: Smart Work, Work Smart. Enjoy it. About me: https://www.cakeresume.com/liao-ping-lun

Contact

Replications

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

Comments

Similar projects you might like

Sigfox Forest Fire Detector
Intermediate
  • 524
  • 4

Full instructions

How to prevent forest from burning? A small Sigfox signal can prevent natural disasters. We will use an Arduino MKRFOX + a flame detector

Happy Plant Notifier
Intermediate
  • 35
  • 1

Full instructions

Get a text or call if your plant is getting too dry, along with a nice LCD display giving information regarding your plant's health.

How to Make a Temperature Gun With Esp32
Intermediate
  • 71
  • 2

Full instructions

What a hot day it is! Too hot to drive and ride and I am thinking of making a temperature measurement sensor.

Using Common Cathode and Common Anode RGB LED with Arduino
Intermediate
  • 715
  • 13

Protip

Common Cathode and Common Anode RGB LEDs are two different kinds of RGB LEDs whose function is same but working is different.

From BT to WiFi: creating WiFi controlled Arduino Robot Car
Intermediate
  • 71
  • 1

Protip

NodeMCU ESP8266 in acsess point mode: the simpliest way to make Wi-Fi controlled Robot Car from Bluetooth Arduino Robot Car + Android App.

TV Tee Shirt
Intermediate
  • 2,770
  • 6

One shirt, thirty-six LEDs, endless possibilities.

Sign up / LoginProjectsPlatformsTopicsContestsLiveAppsBetaFree StoreBlog