Wireless Stepper Motor Driver with ESP32 and TMC2240

Published  July 24, 2025   



The Wireless Stepper Driver is a compact and efficient motion control system designed to control stepper motors over Wi-Fi. It is built using the TMC2240 stepper driver and an ESP32-S3 microcontroller, offering precise motor control with the convenience of wireless communication. This makes it ideal for applications where remote or automated movement is needed.

One of the standout features of this system is its support for USB Power Delivery (USB-PD). The driver can automatically negotiate power input levels, operating at 5V, 9V, 12V, or 15V depending on the connected source. This flexibility allows the system to be used in a wide range of environments, from delicate electronics setups to more demanding industrial systems.

A simple web interface serves as the control panel, accessible from any device on the same network. Through this interface, users can send commands to move the motor, check system status, or monitor parameters like temperature and current draw. Real-time feedback is provided in JSON format, making it easy to integrate with other tools or custom dashboards.

To ensure accurate movement, the system uses an AS5600 magnetic encoder for closed-loop positioning. This means the motor can confirm its exact position after every move, reducing errors and increasing reliability in precision tasks.

Visual feedback is provided using RGB LEDs, which change color based on the input voltage, like green for 5V, blue for 9V, purple for 12V, and orange for 15V. The LEDs also indicate motor activity and Wi-Fi connection status, helping users quickly understand the system’s state at a glance.

Internally, the firmware is optimized for responsiveness using non-blocking timers. This allows the motor to be controlled smoothly without interrupting the web server or other background tasks. Whether you're building a camera slider, a turntable, or a small automation system, the Wireless Stepper Driver offers a simple yet powerful solution for remote-controlled motion.
 

Code File

Code and Schematics File Wireless Stepper Motor ControllerCode and Schematics File Wireless Stepper Motor Controller

PCB Gerber File

PCB Geber File Wireless Stepper Motor ControllerPCB Geber File Wireless Stepper Motor Controller


 
Value Manufacturer DigiKey Part Number Datasheet Link Quantity
100uF 35V KEMET 399-A768KE107M1VLAE036CT-ND

Datasheet

1
0.1uF/50V Murata Electronics 490-6328-1-ND

Datasheet

6
2.2uF Samsung Electro-Mechanics 1276-1040-1-ND

Datasheet

1
2.2uF/25V Samsung Electro-Mechanics 1276-1040-1-ND

Datasheet

1
22nF/50V Murata Electronics 1276-CL10B223KO8WPNCCT-ND

Datasheet

1
1uF/50V Samsung Electro-Mechanics 1276-1946-1-ND

Datasheet

3
SMF40A Vishay General Semiconductor - Diodes Division 112-SMF40A-HM3-08CT-ND

Datasheet

1
SD05 Littelfuse Inc. F6191CT-ND

Datasheet

1
USB_C_Receptacle_USB2.0 GCT 2073-USB4105-GF-ACT-ND

Datasheet

1
Conn_01x04 JST Sales America Inc. 455-1721-ND

Datasheet

1
LED1 Lite-On Inc. 160-1447-1-ND

Datasheet

1
XL-1615RGBC-YG XINGLIGHT 5962-XL-1615RGBC-YGTR-ND

Datasheet

1
AO3400A UMW 4518-AO3400ACT-ND

Datasheet

1
4.7K YAGEO 311-4.70KHRCT-ND

Datasheet

6
100K YAGEO 311-100KHRCT-ND

Datasheet

1
10K YAGEO 311-10.0KHRCT-ND

Datasheet

7
1K YAGEO 311-1KMCT-ND

Datasheet

2
100R YAGEO 311-100HRCT-ND

Datasheet

2
0R Bourns Inc. CR0603AJ/-000EASCT-ND

Datasheet

1
12K YAGEO 311-12.4KHRCT-ND

Datasheet

1
2K/1W Susumu 408-1891-1-ND

Datasheet

1
33R YAGEO 311-33.2HRCT-ND

Datasheet

2
330R YAGEO 311-330GRCT-ND

Datasheet

1
Switch EVQ-P7A01P Panasonic Electronic Components P16763CT-ND

Datasheet

4
FUSB302BMPX onsemi FUSB302BMPXCT-ND

Datasheet

1
ADPL44002AUJZ Analog Devices Inc. 505-ADPL44002AUJZ-3.3-R7CT-ND

Datasheet

1
AS5600-ASOM ams-OSRAM USA INC. AS5600-ASOMCT-ND

Datasheet

1
TMC2240ATJ+T Analog Devices Inc./Maxim Integrated 175-TMC2240ATJ+TCT-ND

Datasheet

1
ADM803SAKSZ Analog Devices Inc. 505-ADM803SAKSZ-REEL7CT-ND

Datasheet

1
ESP32-S3-WROOM-1 Espressif Systems 1965-ESP32-S3-WROOM-1-N16R8CT-ND

Datasheet

1