Otto DIY+

"Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...

Similar projects worth following
Otto DIY+ would be the improved and advanced version of original #OttoDIY, the idea is to have the same base features DIY robot + Bluetooth control and programming + metal gear servo motors MG90 + rechargeable battery + modes activation + sensors + RGB light moods + vibrators + other outputs +...?

This is a more advanced version requires some expertise and patience, if you want to start slow as a beginner please go to Otto DIY project

Otto DIY+ would be the improved and advanced version of original #OttoDIY, the idea is to have the same base features DIY robot + Bluetooth control and programming + metal gear servo motors + rechargeable + changing modes by touch sensor + sensors + light moves + other outputs +...?

The exciting part is that we are doing open development with makers and hackers around the world so we are open to ideas, not only from expert,s you can join us with , feedback, social share, testing or any other contribution that you might think of.

Standard Tesselated Geometry - 243.05 kB - 06/22/2017 at 07:50


Standard Tesselated Geometry - 249.11 kB - 06/22/2017 at 07:50


Standard Tesselated Geometry - 287.39 kB - 06/22/2017 at 07:50


Standard Tesselated Geometry - 351.25 kB - 06/22/2017 at 07:50


Standard Tesselated Geometry - 243.64 kB - 05/09/2017 at 07:17


View all 6 files

View all 2 project logs

  • 1

    Bluetooth (BT) setup:

    Baud-rate for programming module is 9600 or 19200 or 38400, depends on a module.

    For programming Arduino nano has 57600 baud-rate for boot loader so BTmodule must match that speed to be able to program it

    Here you can find sketch and wiring diagram for programming your BT module with Arduino Nano:

    1. Upload the sketch HC05_BT_config.ino to your Nano first, then disconnect Nano from USB.

    2. Now connect BT to Nano as shown in diagram but do not connect VCC.

    3. Plug in the USB to Nano and then connect VCC so BT enters AT mode. LED on BT should start to blink slower, about once every 2 seconds. (If this doesn't work, try holding the button on BT module while connecting VCC).

    Open serial monitor in IDE, set baud-rate to 9600 and line ending to Both NL & CR.

    Type AT then press enter; (if everything is right, BT should respond with OK and then enter following commands:

    AT+NAME=Zowi "setting the name"

    AT+PSWD=1234 "pairing password"

    AT+UART=57600,1,0 "baud rate"

    AT+POLAR=1,0 "enabling STATE pin to be used as reset for programming arduino over BT"

    Now go to the APP step

    If any problem check this instructable of how to Modify the HC-05 Bluetooth Module Defaults Using AT Commands

    For HC-06: (9600?) 115200

    For HC-06 BT module things are a little simpler because module is always in AT command mode when not connected to anything. But the downside is that HC-06 module cannot be used to upload sketches to Arduino because it doesn't have reset. For configuring the module

    1. upload this sketch HC06_BT_config.ino to your Nano

    1. disconnect USB

    2. connect BT module to Nano like this:

    TX - RX

    RX - TX

    VCC - 5V

    GND - GND

    3. Power on your Nano and after about 10-15 seconds everything should be finished and your BT should be configured (LED13 should start blinking).

    If any problem check this instructable

    Main Code:

    After setup the bluetooth, disconnect again the module and upload this code:


    After successful upload connect the module again and will be ready for pairing

    Android APP:

    Thanks to Juan Felix Mateos we have a Beta android APP that you can test

    soon we will have new UI design


    Or because Otto is also compatible with Zowi you can use BQ APP
    Download the official "Zowi App" from bq
    Install and open Zowi app for android, pair the device and ignore the warning message that says the code is modified or something.
  • 2

    Rechargeable Battery (optional):

    "lipo battery, 500 mAh, with step up converter it danced continuously for 40 minutes before battery run out"

    Nano expansion board

    Arduino Nano with micro USB connector - i removed shottky diode from it and soldered a wire from it to lipo charger so it only charges from usb and can be programmed via usb but can't be powered from it. But programming is a problem since BT is connected so maybe i will remove connector, plug the hole and use the connector from lipo charger for charging and BT for programming

    • Metal gear servos
    • 2 switches - had to add 2 pull down resistors 10 kohm
    • Mic
    • 5V buzzer
    • MAX7219 Dot matrix display - having some memory problems when using it so arduino resets by itself
    • HC-05 bluetooth module - had to add 10 microF capacitor on reset line so i can program it over BT
    • 500 mAh lipo battery
    • Lipo charger board
    • Step up converter

    With 4x AA 1.5V Energizer can only run about 1 hour and then HC-06 not running

    I was using this code: Control the robot from your Android phone: Download the official "Zowi App" from bq Configure the bluetooth module using this code: Then load the Zowi base v2 software:


    Servos consume a lot, and drop the battery voltage under 5V or 3,3V and reset the arduino, to solve this add this circuit:

    • Battery -------+-------->|--------+---------------------- 5V arduino. diode | === Capacitor 1000uF /10V |
    • Battery ---- GND------------------------------------- GND arduino

    In order to make Bobwi work to the app, you have add a button for A0, or just a single wire, and touch it, to make Bobwi change to app mode.

    Therefore we want you to play with Otto and helps us to advance in areas like:


    • An easier way for programming faster and less drivers or software trouble some like Arduino IDE
    • Still can be something like Scratch or Bitbloq graphical coding
    • Something tangible like Google bloks
    • App like cousin Zowi trough Bluetooth
    • Anything to control the robot in and more fund and friendly way, up to you.

    Electronic design

    • Custom made PCB for Otto, (now we use 2 boards that could be replaced by one with more functions like battery, integrated buzzer and microphone)
    • More sensors interactions like poking, tilting or clapping.
    • Emotional aspect how can be more than just a robot?

    Made with Autodesk circuits you can modify here:


    Some interesting links and bibliography:

  • 3

    Adding the Matrix (optional)

    Many #ottobuilders like to imitate Zowi as much as possible so jarsoftelectrical, modified the libraries and added new codes to make this possible using a MAX 7219 LED MATRIX and represent emotions and gestures

    Matrix codes here

    This Repository have all open source files for my version of the popular Otto DIY The Arduino code is modified from the Zowi robot, it has modified to wotk with a MAX 7219 LED MATRIX as as mouth as well as other adjustments.

    Please copy all the files in the OTTO_Library folder to the Arduino IDE Library folder

    The code is based on the Zowi code, modified for OTTO

    Please NOTE: i have moved the BUZZER to pin D13............

    Please NOTE: you need pull-down resistors on the button pins............10K ohm

    Please NOTE: you will need a link between A7 and +5 volt to fool low battery warnings

    The modified OTTO main program is inside the OTTO_LEDMATRIX folder, ensure you are using the latest version of the Arduino IDE. The modifed ZOWI main program is inside the ZOWI_BASE_v2_MATRIX folder, Also ensure you use all the modified libraries in the ZOWI folder here.

    This version requires some extra space for the matrix moduleThis version requires some extra space for the matrix moduleMAX 7219 LED MATRIXMAX 7219 LED MATRIXextra PCB for buttonsextra PCB for buttonsmore patience with the cablesmore patience with the cablesextra buttons for modesextra buttons for modes

View all 3 instructions

Enjoy this project?



Camilo Parra Palacio wrote 12/14/2016 at 01:14 point

HC-06 or HC-05 module is cheap and easy to setup sometimes... Maybe can use the same modulo to receive voice commands form smartphone

  Are you sure? yes | no

jfmateos wrote 12/14/2016 at 06:30 point

That is a goog idea Camilo. I have a few hc-05, so will try to get sometihing ready with App Inventor this weekend. 

  Are you sure? yes | no

jfmateos wrote 12/12/2016 at 17:14 point

Features brainstorming:

- Bluetooth (phone/tablet control)

- WiFi (Internet of Things device)

- Infrared (Otto2Otto communication and TV remote control)

- Rfid (communication with other devices/cards)

- Push buttons (Beebot functionality)

- Microphone (envelope detector to get sound level, and band pass filter to get frequency equalizer)

- RTC (DS3231 or similar battery backed)

- Enviromental sensors (Light, Temperature, Humidity, Pressure... and CO2)

- Magnetometer (navigation)

- Mouth LED Dot Display (6x17 or 7x22)

- Tri-color LEDs (body lighting)

- Custom PCB

- Power requirements

- ...

  Are you sure? yes | no

Camilo Parra Palacio wrote 12/13/2016 at 01:07 point

I like all Juan!

Also we need to thing in easier ways of programming like:

-Already we can use Bitbloq.

-Look how to use Blockly-duino, Ardublocks or ScratchX (graphical programming) 

-Using same Infrared

-Use Bluetooth with APP inventor

  Are you sure? yes | no

jfmateos wrote 12/13/2016 at 10:45 point

plus SPI SD card for storage... and text to speech (S1v30120)
Have you already selected any bluetooth module? Or any other devices for Otto plus?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates