Hackster is hosting Hackster Holidays, Ep. 7: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Friday!Stream Hackster Holidays, Ep. 7 on Friday!

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.

Gareth Halfacree
4 months agoHW101 / Internet of Things

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."

If you need to make a NEMA 17 motor smart in a small footprint and only have USB for power, this is the solution for you. (📹: Things By Josh)

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.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles