Spudworks' DynaFeather FeatherWing Makes Dynamixel Servo Control From a Feather a Cinch
Designed for AX- and MX-series Dynamixel servos, the DynaFeather includes a shunt switch allowing for USB or 12V-input Feather power.
Somerville-based Spudworks has launched an open source FeatherWing add-on designed to bring Robotis Dynamixel servo motor control to any Feather-compatible microcontroller — and even powers the microcontroller for battery-based projects.
"Dynamixels are a very powerful motor for robotics projects, with great torque for their weight, daisy chain cabling, and all kinds of options like automatic shut-off, speed control, and continuous rotation mode," explains Spudworks' Lucian Copeland of the inspiration behind the design.
"However, their half-duplex UART communication protocol and special controllers make them a little inaccessible compared to PWM driven hobby servos. My goal was to make a simple, no frills board and accompanying library for CircuitPython that makes them trivial to control with the common Feather board layout."
The result: The DynaFeather. "The DynaFeather is a FeatherWing for connecting to Dynamixel brand smart servo motors," Copeland continues. "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 compact board includes three Molex connectors designed for ease of connecting AX- or MX-series Dynamixel servos, an SN74HC126 buffer for the half-duplex UART, 12V power jack input, and a shunt switch with a 12V to 5V LDO allowing the host Feather microcontroller to run from either the same 12V power source or USB.
The DynaFeather is now available on the Spudworks Tindie store, priced at $7.95 with unsoldered pin headers; the design files have been published to GitHub under the permissive MIT License, along with CircuitPython source code for driving the Dynamixel servos.