Skip to the content
PCBKitNew board
4 layers56 × 56 mmStepper driver, the printed circuit board in 3D

This is the PCB design and firmware for a Trinamic TMC2590-based stepper motor driver with an ESP32 microcontroller.

Size
56 × 56 mm
Copper layers
4
Thickness
1.6 mm
Parts
116
Nets
93
Pads
491
Tracks, vias
1,132, 290
Pours
15
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
30 Oct 2021
Updated
2 Feb 2022

Overview

Stepper driver is an open-source printed circuit board by matthewlai, from the matthewlai/ESP32Stepper repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 56 × 56 mm with 116 parts on 93 nets, routed with 1,132 tracks and 290 vias.

It is built around the CH340B, ESP32-PICO-D4 and TP6841S6-A, with the TMC2160-TA, XC6210B332MR and NCE6005AS among its other parts. Its parts include 40 capacitors, 38 resistors, 6 ICs, 6 diodes and 6 transistors. It belongs with the robots and motor control boards and the ESP32 and RISC-V boards of this library.

Main components

9

README

README.md

ESP32Stepper

This is the PCB design and firmware for a Trinamic TMC2590-based stepper motor driver with an ESP32 microcontroller.

Firmware Instructions

The firmware is Arduino based, using the arduino-esp32 port by Espressif.

  1. Install the official Arduino IDE from https://www.arduino.cc/en/software.
  2. Install the ESP32 core (either stable or development branch, using Board Manager).
  3. Install the required libraries (see below) using Arduino library manager.
  4. Clone this repository, and open ESP32Stepper/firmware/main/main.ino in the Arduino IDE.
  5. In Tools, use the following settings:
    • Board: ESP32 Dev Module
    • Port: serial port for the board
    • All other settings as default (240 MHz CPU, 80 MHz flash, QIO, 4MB flash, default 4MB partition scheme, no PSRAM)

Customisation

  1. Set motor-specific parameters in config.h

Required Libraries

  1. Adafruit Neopixel 1.10.0x

Parts

116
QtyValueFootprintReferences
84.7RResistor_SMD:R_0402_1005MetricR5, R7, R8, R10, R11, R12, R14, R15
70.1uFCapacitor_SMD:C_0402_1005MetricC4, C13, C14, C20, C30, C39, C40
7MountingHoleMountingHole:MountingHole_3.5mmH2, H3, H4, H5, H6, H7, H8
610kRResistor_SMD:R_0402_1005MetricR16, R17, R18, R21, R23, R26
50.47uF/25VCapacitor_SMD:C_0402_1005MetricC5, C10, C17, C19, C32
51RResistor_SMD:R_0402_1005MetricR29, R30, R31, R32, R35
410uF/25VCapacitor_SMD:C_0603_1608MetricC15, C18, C35, C37
41nF/50VCapacitor_SMD:C_0402_1005MetricC24, C25, C26, C27
447RResistor_SMD:R_0402_1005MetricR2, R9, R19, R20
460V/1ADiode_SMD:D_SOD-323FD2, D4, D5, D6
4NCE6005ASPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmQ2, Q3, Q5, Q6
20.1uF/50VCapacitor_SMD:C_0402_1005MetricC34, C36
20.22uFCapacitor_SMD:C_0402_1005MetricC11, C16
2100kRResistor_SMD:R_0402_1005MetricR36, R37
210uFCapacitor_SMD:C_0402_1005MetricC7, C9
210uF/50VCapacitor_SMD:C_1206_3216MetricC12, C33
22.2nFCapacitor_SMD:C_0402_1005MetricC29, C38
2220uF/50VCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC3, C31
222uHInductor_SMD:L_1210_3225MetricL2, L3
24.7uF/50VCapacitor_SMD:C_0805_2012MetricC22, C23
25.1kResistor_SMD:R_0402_1005MetricR3, R13
250mR/2W/NON-INDResistor_SMD:R_2512_6332Metric_Pad1.52x3.35mm_HandSolderR1, R4
2Q_NPN_BECPackage_TO_SOT_SMD:SOT-23Q1, Q4
2SW_PushSwitch:SW_Push_1P1T_NO_5.1x5.1mmSW1, SW2
2TP6841S6-APackage_TO_SOT_SMD:SOT-23-6U3, U5
10.1uF/50VCapacitor_SMD:C_0603_1608MetricC1
10.22uF/50VCapacitor_SMD:C_0805_2012MetricC21
10RResistor_SMD:R_0603_1608MetricR38
10RResistor_SMD:R_0402_1005MetricR24
1120kRResistor_SMD:R_0402_1005MetricR33
1150RResistor_SMD:R_0402_1005MetricR22
11uFCapacitor_SMD:C_0402_1005MetricC8
122kRResistor_SMD:R_0402_1005MetricR34
122nF/100VCapacitor_SMD:C_0603_1608MetricC2
124kRResistor_SMD:R_0402_1005MetricR28
12R2Resistor_SMD:R_0402_1005MetricR6
1330kRResistor_SMD:R_0402_1005MetricR27
14.7uFCapacitor_SMD:C_0402_1005MetricC6
1470RResistor_SMD:R_0402_1005MetricR25
1BARREL_JACKdc_jack:DC-005C-25AJ1
1CH340BPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU1
1CONN_02X07Connector_PinHeader_2.54mm:PinHeader_2x07_P2.54mm_VerticalJ3
1Conn_CoaxialConnector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_VerticalJ5
1DNPCapacitor_SMD:C_0603_1608MetricC28
1ESP32-PICO-D4ESP32-PICO-D4:ESP32-PICO-D4U4
1IFA AntennaAntennas:TI_DN007_2.4GHzAE1
1MountingHoleSymbol:Symbol_Barrel_PolarityH9
1MountingHoleSymbol:OSHW-Logo_5.7x6mm_SilkScreenH10
1OpenResistor_SMD:R_0402_1005MetricJP1
1SMBJ36ADiode_SMD:D_SMBD1
1Screw_Terminal_01x04cixi_kefa_screw_terminals:KF2EDGR-3.81-4PJ2
1TMC2160-TAPackage_QFP:LQFP-48-1EP_7x7mm_P0.5mm_EP3.6x3.6mm_ThermalViasIC1
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11J9
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD3
1XC6210B332MRPackage_TO_SOT_SMD:SOT-23-5U2

Questions

How big is the Stepper driver PCB?

It measures 56 × 56 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Stepper driver use?

116 parts, built around the CH340B, ESP32-PICO-D4, TP6841S6-A and TMC2160-TA. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Stepper driver KiCad files?

From the matthewlai/ESP32Stepper repository on GitHub, at the commit this page was made from: the board is stepper_driver.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Stepper driver design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers58.4 × 58.4 mmVacuum pickup tool, the printed circuit board in 3D

    Vacuum pickup tool

    CoolNamesAllTaken/vacuum-pickup-tool

    Vacuum pickup tool for building SMT boards.

    21 parts2
  • 2 layers36.8 × 64.5 mmRelay tester, the printed circuit board in 3D

    Relay tester

    brainsmoke/leddriver3d

    Renamed from esp32leddriver because it also contains code and PCBs for other MCUs

    36 parts11
  • 4 layers135 × 84 mmStepper with TMC2209 controller board V1, the printed circuit board in 3D

    Stepper with TMC2209 controller board V1

    JasonHEngineering/DIY-Robot-Arm-V3

    1) Along with using with TMC2209 motor drivers, I have removed R8, R15, R16, R17, R18, R19 because the R value was accidentally too high. I have shorted R8, R16, R17, and left open R15, R18, R19.

    95 parts2
  • 2 layers140 × 30 mmFumeExtractorBoard v1, the printed circuit board in 3D

    FumeExtractorBoard v1

    lizard-electronics/Soldering_Fume_Extractor

    Portable soldering fume extractor based on an ATmega328P MCU.

    82 parts
  • 4 layers134 × 140 mmDuet3 MB 6HC, the printed circuit board in 3D

    Duet3 MB 6HC

    Duet3D/Duet3-Mainboard-6HC

    Hardware information for the Duet 3 Mainboard 6HC

    723 parts53
  • 4 layers200 × 100 mmHeteromycin, the printed circuit board in 3D

    Heteromycin

    hasenbanck/heteromycin

    A 3D printer board using a powerfull STM32 MCU, TMC5160/TMC2160 driver and a Raspberry Pi or compatible SBC

    373 parts40