Home e-Manual

Command Dynamixel motors with Circuitpython using the DynaFeather

The DynaFeather is a Featherwing extension board that connects Dynamixel and Dynamixel X motors to any of the Feather controllers created by Adafruit or 3rd party makers.

This board includes all the direction control hardware required to communicate with a Dynamixel motor, making them easy to use with Arduino or Circuitpython. The 2.5mm barrel jack, 12V to 5V LDO regulator, and power source shunt allows wireless or battery powered robots to run entirely off the motor power bus when USB isn’t plugged in.

The DyanFeather can be used with any kind of embedded software, but was originally designed for Circuitpython. Circuitpython is a Python interpreter that runs directly on microcontrollers, making it one of the easiest ways to try out embedded programming. Since Circuitpython programs do not need to be compiled, they can be edited directly over USB without any downloaded IDEs or other software, and allow code to be changed simply by saving a file.

Circuitpython has a dedicated library for the Dynamixels in the Community Bundle, which bundles control for motors like the AX-12A into an easy-to-use Python module.

You can find the DynaFeather on Tindie, along with an unassembled Pivot Kit which bundles the Featherwing with two AX-12 motors, frames, and a power supply.

2 Likes

Hi @hierophect, thanks for your post and for joining the community! The DynaFeather extension board looks like a great compact option for those interested in controlling their robot with CircuitPython.

If you don’t mind my question, do you know whether the DynaFeather’s library supports any X-series DYNAMIXELs? It would be good to know for my reference/recommendations.

@Andrew I haven’t gotten to test it with my XL430s yet, since the converter cable went out of stock right as I made my order and I haven’t gotten around to jury rigging a replacement. The voltage and direction control hardware should all be appropriate. I’m hoping to do a deeper dive in this weekend.