Skip to the content
PCBKitNew board
2 layers90 × 135.4 mmStepper sc, the printed circuit board in 3D

Stepper sc

smooker/cspcb

claude@smooker pcb creation

Size
90 × 135.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
42
Pads
91
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 9.0 (file 20241229)
Created
7 Mar 2026
Updated
18 Mar 2026

Overview

Stepper sc is an open-source printed circuit board by smooker, from the smooker/cspcb repository on GitHub. It is a 2-layer board of 90 × 135.4 mm with 24 parts on 42 nets.

It is built around the BC547. Its parts include 12 connectors, 5 capacitors, 4 resistors, 2 transistors and 1 IC. It belongs with the robots and motor control boards of this library.

Main components

1

README

README.md

stepper_sc — STM32F411 Stepper Controller PCB

Single-axis stepper motor controller board built around the WeAct STM32F411CEU6 Black Pill v3.1.

Drives a CWD556 opto-isolated stepper driver (PUL/DIR interface) from MCU outputs via NPN buffer stage.

Block Diagram

text
24V ──── 78M05 ──── +5V ──── Black Pill (3.3V regulator on-board)
                              │
                    PB10 ─── R1/R2/Q1 ─── J2 (PUL → CWD556)
                    PB14 ─── R3/R4/Q2 ─── J3 (DIR → CWD556)
                    PA3  ─── J4 (Endstop L)
                    PA4  ─── J5 (Endstop R)
                    PA6  ─── J6 (Jog L)
                    PA7  ─── J7 (Jog R)
                    PB0  ─── J8 (Step L)
                    PB1  ─── J9 (Step R)
                    PB15 ─── J10 (Buzzer)

Hardware

RefValueFunction
U178M0524V → 5V regulator
Q1, Q2BC547NPN buffer (PUL, DIR)
R1, R31kΩBase resistor
R2, R410kΩBase pull-down
C147µFRegulator input bulk
C2, C4100nFRegulator decoupling
C3100µFRegulator output bulk
C5100nFBlack Pill VIN decoupling
J12-pin screw24V power input
J22-pin screwPUL output to CWD556
J32-pin screwDIR output to CWD556
J4–J102-pin screwSignal terminals
J11A, J11B1×20 headerBlack Pill socket

Pipeline

Schematic and netlist are generated from firmware source — main.h is the single source of truth for MCU pin assignments.

text
firmware/Core/Inc/main.h
        │
        ▼ fw_to_net.py
howto_sch_and_then_api/stepper_sc.net
        │
        ▼ howto_sch_and_then_api/stepper_sc_gen.py
stepper_sc/stepper_sc.kicad_sch

Re-generating after pin changes

bash
# Activate venv (needs kicad-sch-api)
source venv/bin/activate

# Step 1: netlist from firmware
python3 fw_to_net.py

# Step 2: schematic from netlist
python3 howto_sch_and_then_api/stepper_sc_gen.py

Setup

bash
python3 -m venv venv
venv/bin/pip install kicad-sch-api

# KiCad symbol libraries — set path to your KiCad install
# e.g. /usr/share/kicad/symbols
ln -s /path/to/kicad/symbols kicad_sym

Firmware

See firmware/ for STM32 application source (Core/).

Requires ST HAL (Drivers/) — generate via STM32CubeMX or download from st.com.

Build:

bash
cd firmware && make

Flash via Black Magic Probe:

bash
arm-none-eabi-gdb -x script2.gdb build/stepper.elf

See doc/build-and-debug.md for full build, flash and debug instructions.

Parts

24
QtyValueFootprintReferences
3100nFCapacitor_SMD:C_0805_2012MetricC2, C4, C5
210kResistor_SMD:R_0805_2012MetricR2, R4
21kResistor_SMD:R_0805_2012MetricR1, R3
2BC547Package_TO_SOT_SMD:SOT-23Q1, Q2
1100uFCapacitor_SMD:CP_Elec_8x6.2C3
147uFCapacitor_SMD:CP_Elec_8x6.2C1
178M05Package_TO_SOT_SMD:TO-252-2U1
1BUZZTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ10
1Black_Pill_backConnector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalJ12
1Black_Pill_frontConnector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalJ11
1DIRTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ3
1ES_LTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ4
1ES_RTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ5
1JOGLTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ6
1JOGRTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ7
1PULTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ2
1PWR_24VTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ1
1STEPLTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ8
1STEPRTerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ9

Questions

How big is the Stepper sc PCB?

It measures 90 × 135.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Stepper sc use?

24 parts, built around the BC547. 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 sc KiCad files?

From the smooker/cspcb repository on GitHub, at the commit this page was made from: the board is stepper_sc/stepper_sc.kicad_pcb and its schematic stepper_sc/stepper_sc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

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

Its repository states no licence, so its author keeps all rights: ask smooker before reusing the design.

Similar boards

  • 2 layers83.3 × 65.3 mmSimonShield, the printed circuit board in 3D

    SimonShield

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    46 parts14kMIT
  • 2 layers56 × 65 mmSeaTalk1, the printed circuit board in 3D

    SeaTalk1

    dotnet/iot

    This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

    24 parts2.4kMIT
  • 2 layers132.1 × 45.7 mmIPoS, the printed circuit board in 3D

    IPoS

    peterheinrich/InternetOverSpaghetti

    Transmitting IP packages over a pair of spaghetti thus demonstrating how media independent IP really is.

    42 parts342
  • 2 layers99.1 × 99.7 mmRC6502 General Video Adapter, the printed circuit board in 3D

    RC6502 General Video Adapter

    tebl/RC6502-Apple-1-Replica

    An expandable SBC-version of the Apple 1 computer, easy to get started with and lot of cool stuff that can be added to it!

    80 parts193GPL-3.0
  • 2 layers55.9 × 38.6 mmMega Amp, the printed circuit board in 3D

    Mega Amp

    theacodes/genesynth

    A Sega Genesis inspired synthesizer

    40 parts178Apache-2.0
  • 2 layers40 × 100 mmBack pcb, the printed circuit board in 3D

    Back pcb

    ZeroPhone/ZeroPhone-PCBs

    PCB files for ZeroPhone - for gerbers and schematics, go to "Releases" tab!

    118 parts148GPL-3.0
  • 2 layers100 × 100 mmCANBuster, the printed circuit board in 3D

    CANBuster

    GBert/misc

    miscellaneous stuff / unsorted

    182 parts99