Stepper motor controller
abdallah-yasser·stepper-motor-controller-pcb·hardware/stepper_controller.kicad_pcb
About the Stepper motor controller PCB
Stepper motor controller is an open source AVR/Arduino PCB design by abdallah-yasser, published on GitHub under the MIT license. It is a 4-layer board measuring 60 × 47 mm, with 63 components from 31 distinct parts.
Its main chip is the ATmega328P-A, from the AVR/Arduino family. Other key parts include the NCP1117-5.0_SOT223, DRV8825 and CH340G. By type, the board carries 24 capacitors, 18 resistors, 8 connectors, 4 ICs, 4 diodes and 2 crystals.
It belongs with the robotics & motion and usb & debug tools designs in this gallery.
From the project
4-layer KiCad PCB: Arduino-compatible stepper motor controller (ATmega328P + DRV8825)
An Arduino-compatible stepper motor controller board: ATmega328P + DRV8825 on a compact 4-layer PCB
The design is organized into clearly separated functional blocks:
Layout notes: - The 4-layer stack-up has copper pour zones on the inner layers (In1.Cu / In2.Cu), with signal routing mainly on the top layer. - Most components are SMD on the top side, which keeps assembly single-sided. - The power input, motor terminal, USB and sensor headers are placed along the board edges for easy cabling.

Main components on the Stepper motor controller
Stepper motor controller bill of materials (BOM)
63 components, 31 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | NCP1117-5.0_SOT223 | SOT-223-3_TabPin2 | U2 |
| 1 | DRV8825 | HTSSOP-28-1EP_4.4x9.7mm_P0.65mm_EP3.4x9.5mm_ThermalVias | U3 |
| 1 | CH340G | SOIC-16_3.9x9.9mm_P1.27mm | U4 |
| 1 | ATmega328P-A | TQFP-32_7x7mm_P0.8mm | U6 |
| 1 | 12MHz | Crystal_SMD_HC49-SD | Y1 |
| 1 | 16MHz | Crystal_SMD_HC49-SD | Y2 |
| 4 | Conn_01x03_Pin | PinHeader_1x03_P2.54mm_Vertical | J1, J3, J5, J7 |
| 1 | Power_input | TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_Horizontal | J2 |
| 1 | ISP port | PinHeader_2x03_P2.54mm_Vertical | J6 |
| 1 | Conn_01x04_Socket | PinHeader_1x04_P2.54mm_Vertical | J8 |
| 1 | USB_B_Micro | USB_Micro-B_Molex_47346-0001 | J9 |
| 1 | Polyfuse_Small | Fuse_1206_3216Metric | F1 |
| 1 | ~ | SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP1 |
| 1 | Reset_button | SW_PUSH_6mm | SW1 |
| 1 | SS34 | D_SMA | D1 |
| 3 | LED | LED_1206_3216Metric | D2, D3, D4 |
| 4 | 22pF | C_0805_2012Metric | C1, C2, C10, C11 |
| 1 | 10nF | C_0805_2012Metric | C3 |
| 15 | 100nF | C_0805_2012Metric | C4, C6, C7, C8, C9, C12, C13, C14 +7 |
| 1 | 10uF | CP_EIA-3216-12_Kemet-S | C5 |
Show 11 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | 4.7uF | CP_EIA-3216-18_Kemet-A | C23, C24 |
| 1 | 470nF | C_0805_2012Metric | C30 |
| 4 | 1.6kΩ | R_0805_2012Metric | R1, R2, R3, R4 |
| 3 | 1KΩ | R_0805_2012Metric | R5, R6, R14 |
| 1 | Potentiometer | Potentiometer_Bourns_TC33X_Vertical | R7 |
| 2 | 510Ω | R_0805_2012Metric | R13, R16 |
| 2 | 1MΩ | R_0805_2012Metric | R15, R20 |
| 2 | 0.1Ω | R_0805_2012Metric | R17, R21 |
| 2 | 100Ω | R_0805_2012Metric | R18, R19 |
| 1 | 2.2KΩ | R_0805_2012Metric | R24 |
| 1 | 10KΩ | R_0805_2012Metric | R25 |
Stepper motor controller design files
The KiCad project lives in the abdallah-yasser/stepper-motor-controller-pcb repository on GitHub; these links point at the commit this page was built from.
Stepper motor controller: common questions
What microcontroller does the Stepper motor controller use?
The Stepper motor controller is built around the ATmega328P-A, from the AVR/Arduino family.
How big is the Stepper motor controller PCB?
The Stepper motor controller measures 60 × 47 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Stepper motor controller?
63 components, from 31 distinct parts. The full bill of materials is listed on this page.
Where can I download the Stepper motor controller design files?
From the abdallah-yasser/stepper-motor-controller-pcb repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Stepper motor controller design in my own project?
Yes, under the terms of its MIT license, which abdallah-yasser chose for the repository.
Can I test firmware for the Stepper motor controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
Similar boards
AVR/Arduino
Magspoof
samyk
35 × 29 mm11 parts2LNo license4.2kAVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
Labrador
espotek-org
36.8 × 34.7 mm75 parts2LNo license1.2kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Discipline
coseyfannitutti
304.9 × 122.8 mm170 parts2LCC-BY-NC-4.01.0k