Page 3 of 3 FirstFirst 123
Results 21 to 24 of 24

Thread: ESP32 Support ?

  1. #21

    Re: ESP32 Support ?

    It's totally OK to do something just because it's cool :-) I'm just saying I wouldn't bet the house on the ESP32 ecosystem growing particularly quickly or to a particularly wide size (like Pi and Arduino.)
    For other devices that do well with Dynamixels and PWM, try the Teensy 3.2 or 3.5 microcontrollers. They are easy to program, have tons of PWM, and are 5V tolerant (but still only output 3.3V, so buffer chip is recommended still.) The Serial port also support automatic half-duplex control on some output pin, which is helpful for Dynamixels. The Teensies are $15-$30, though -- to me, well worth it for the good software support.

  2. Re: ESP32 Support ?

    yeah i haven't ruled out that option yet, any literature anywhere on having an esp32 used to send / receive signals from another mcu board out there?

    Quote Originally Posted by jwatte View Post
    It's totally OK to do something just because it's cool :-) I'm just saying I wouldn't bet the house on the ESP32 ecosystem growing particularly quickly or to a particularly wide size (like Pi and Arduino.)
    For other devices that do well with Dynamixels and PWM, try the Teensy 3.2 or 3.5 microcontrollers. They are easy to program, have tons of PWM, and are 5V tolerant (but still only output 3.3V, so buffer chip is recommended still.) The Serial port also support automatic half-duplex control on some output pin, which is helpful for Dynamixels. The Teensies are $15-$30, though -- to me, well worth it for the good software support.

  3. #23
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,240
    Images
    27
    Rep Power
    271

    Re: ESP32 Support ?

    If they are both 3.3V like the ESP32 and Teensy-3.x / OpenCM9, then you just connect TX-ESP32 to RX-Teensy and RX-ESP32 to TX-Teensy. After that, you have to make your own code to pass messages between the two boards using the standard Serial objects (could be as simple as comma separated ASCII text e.g. "01p0512,04p800" for servo #1 goal position 512 and servo #4 goal position 800). The Teensy/OpenCM side pulls the useful info from the inter-board message and uses it to build the dynamixel packet it sends to the servos.
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    bleh

  4. Re: ESP32 Support ?

    Just thought I'd drop a line into this post that I did a dynamixel protocol 2 implementation for the ESP32. First up I did it using micropython, which worked but was slow. Then I implemented it in plain-c. It isn't a full implementation, but it is enough to read and write registers on the servos (which is all I want to do at this stage). It currently supports the XL-320, and I didn't do a good job of separating the protocol from the servo interface. Here it is on github. Contributions welcome.

    I'll be developing a bit further of the next few months as I work on a quadruped robot using dynamixel servos.

    On the hardware side it's quite simple:
    1) Externally wire together two pins on a ESP32 (the ESP32 doesn't let you mux a single pin to two sides of the UART). In the code on github, I used pins 16 and 17.
    2) Add a bidirectional level shifter between the pin 16/17 and the servos. (eg this one). As a bonus, you can wire all four channels together and get a lot of drive current for your servo bus. I haven't checked the currents going around during a bus collision, but in any cases the voltage levels on both sides of the level shifter look to be within the correct bounds all the time.



    Using a similar method, you can talk to these servos using a plain USB-uart adapter, so I also developed a python library for doing exactly that - also with a GUI. You can drag the sliders and the servo responds in real time. This implementation is a lot more flexible, and supports python-library use as well as the GUI. The different servo types are defined by a JSON register map so it should (ideally) be trivial to add support for other dynamixel servos. Tested on linux, and it uses pyserial and GTK. If you're on windows it may be hard to get set up.

    Oh, and some things the ESP32 has that the pi zero doesn't:
    - Boot time measured in milliseconds
    - Direct access to a lot more embedded hardware (including low level access to wifi hardware)
    - Can run things in really real time. No kernel to go through (just FreeRTOS).
    Last edited by sdfgeoff; 1 Week Ago at 12:35 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Which ROS release for dynamixel support?
    By memmerich in forum ROS - Robot Operating System
    Replies: 2
    Last Post: 02-20-2017, 05:53 PM
  2. Support for Arduino 1.6.0?
    By KurtEck in forum Arbotix, Microcontrollers, Arduino
    Replies: 16
    Last Post: 12-24-2016, 05:47 AM
  3. Arbotix Pro ROS support
    By calmur in forum ROS - Robot Operating System
    Replies: 20
    Last Post: 10-31-2016, 01:35 PM
  4. What is this Horizontal Support Thingy?
    By Fanatic in forum Robotics General Discussion
    Replies: 3
    Last Post: 08-23-2012, 08:21 AM
  5. software support
    By chocobot in forum Humanoids, Walkers & Crawlers
    Replies: 8
    Last Post: 04-03-2007, 01:11 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •