OTTO DIY evolves with ESP32 support

This time I would like to mention that we upgraded the OTTO DIY project giving it the power of the esp32 support. As our reader knows we love robotic and expecially myself I love to contribute to opensource robotic projects ( Check also the WIP Otto Zero ) !

ESP32 vs Arduino Nano as brain:

The ESP32 is now cheaper and a a viable alternative to the Arduino Nano, it’s also faster and the full build require less components as it includes wifi and bluetooth. Also having a bigger memory it can finally surpass the current limitations and it has more space for code , Led Matrix faces, servos ( for arms for example ) , sounds and sensors.

 

You can download the code from the official Github repository

Technicals:

The Esp32 version of OTTO library ( OTTOESP ) required some changes from the original library in the references of Oscillator.h and Servo.h library to make compatible with ESP32Servo library. You can use those libraries alongside the standard otto library.

Installation:

  1. Copy “libraries” folder in your Arduino/libraries folder
  2. Edit Otto_esp32.ino and choose your leg pins (default are IO 14,27,16,25)
  3. Press the “Flash” ( or “Boot”) button on your ESP32 board before uploading the code.

Schematics:

Same as OTTO DIY 🙂 !

Future:

  1. Standardize library
  2. Add bluetooth support
  3. Add wifi controlling capability

 

Looking forward to see your contributions 🙂 !

-Marco

 

Marco Gallo

•About Me:Hi, my name is Marco I'm robot tech enthusiasts and this is my robot website! My daily work is Software Developer but robots are my true passion.•PersonalRobots Mission : We will guide you in choosing the appropriate domestic robot for you, check our robot reviews and our toplist! Also We build opensource robots !

9 Responses

  1. Hello Marco,

    i’m testing the Otto_ESP32 module, but sadly it doesn’t work as expected.
    With the “Otto::walk” and “Otto::moonwalk” function, one servo does not react.
    But with the “Otto::shakeLeg” funktion, the servo works.

    I have uploaded an example video at: https://youtu.be/__LjsOBxNMc

    Used “loop” function:

    void loop() {

    Otto.home();
    delay(1000);

    Otto.walk(STEPS,T, FORWARD);
    Otto.home();
    delay(1000);

    Otto.shakeLeg(STEPS, T, LEFT);
    Otto.home();
    delay(1000);

    Otto.shakeLeg(STEPS, T, RIGHT);
    Otto.home();
    delay(1000);
    }

    Maybe you can give me a hint, where my error is?

    Thanks, Greetings Jürgen

    1. Hi Jurgen, I suppose the library is output an angle over 180 degree for that servo. Maybe a calibration can help , I suppose it’s an error on the library so meanwhile I’ll check the angles. I’ll let you know

  2. Hi Marco, first of all, thanks for taking time to modify libraries for ESP32 as this is a much more versatile platform than the “classical” Arduino.

    I have run into the exact same issue as described by Jürgen, 3 servos are working great, the last one just goes to the mechanical end stop.

    Hope that someone can come up with a solution on this.

      1. Hi Marco,

        I tried with other pins also but same result. Can you please share you MCU model in which it is working fine for pin 25. I will try replicating same.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top

Let the World know! 🤖 💙

Share this article to you friends use the buttons below 🙂 !

Subscribe for FREE to our Newsletter

personalrobots-vector-newsletter

Sign up for our Personal Robots Newsletters and receive our top stories weekly.

All you have to do is enter your email address, We even pinky swear that we won’t spam you 🙂 !