This Compact Stepper Motor Controller Is All-in-One — and Boasts USB Power Delivery Support
Able to source up to 50W at a variety of voltages, this clever controller offers USB, Wi-Fi, Bluetooth Low Energy, and more.
Maker Josh R. has designed a closed-loop stepper driver and controller designed to be powered over USB Power Delivery (PD) via a USB Type-C port, using an Espressif ESP32-S3 and an Analog Devices Trinamic TMC2209 motor driver.
"Stepper motors are fantastic for projects, but assembling the necessary components — like a microcontroller, stepper driver, power supplies for both motor and microcontroller, and optionally an encoder can lead to bulkiness, high costs, complexity, and challenges in integrating them into compact or space-constrained designs," Josh claims in support of his creation. "This project addresses these issues by consolidating everything onto a single board, eliminating the drawbacks with little to no compromises."
The compact board, which is designed to fit in the footprint of a NEMA 17 stepper motor in order to keep the overall component size down, makes use of Analog Devices' Trinamic TMC2209 stepper motor driver — picked for it silent operation and high precision, Josh notes. This is placed under the control of an Espressif ESP32-S3 module — making the driver a fully standalone system, ready for control over a wired USB, Wi-Fi, or Bluetooth Low Energy (BLE) connection.
Elsewhere on the board is an ams OSRAM AS5600 magnetic rotary position sensor, part of the promise of closed-loop control of a connected motor, a Qwiic/STEMMA QT connector for expansion, three user-addressable buttons, and auxiliary pins that can be used for UART, I2C, and more — but it's the power supply that makes the project truly interesting: the USB Type-C connector offers USB Power Delivery (PD) negotiation, allowing the driver to source 5V, 9V, 12V, 15V, or 20V power from a compatible USB power supply — fed into a 3.3V buck converter for the on-board electronics.
"The top cover can be 3D printed," Josh notes of an optional housing to protect the board, "however this may not handle well if the motor & controller get warm under high load. A cover machined from polycarbonate or acrylic is a much better option (and looks awesome). An aluminum housing gives a sleek industrial look as well as acting as a heatsink, however this should not be used if you are using Wi-Fi on the ESP32-S3 as it may block the antenna and reduce the Wi-Fi signal."
Software source code, design files, and 3D-print or machining files are all available on the project's GitHub repository under the reciprocal GNU General Public License 3; Josh is also taking pre-orders for kits for $42 with the PCB, mounting hardware, motor wires, encoder magnet, and small heatsink, or $54 to add a polycarbonate housing, aluminum heat spreader, and an additional large heatsink, with all hardware expected to ship in October this year.