8-Belt CNC Router — Controller Board Schematic Netlist
Board revision: 1.0
Controller: ESP32-S3-WROOM-1 (16 MB Flash / 8 MB PSRAM)
Drivers: 8× TMC2209 (UART mode, 2 buses × 4 addresses)
Form factor: 4-layer PCB, 100×80 mm, 1.6 mm thickness
Power: 24 VDC (motor), 5 VDC (logic), 3.3 VDC (ESP32)
Connections are listed as REF_DES ── PIN ── SIGNAL ── DESTINATION.
Signals with ~ prefix are active low.
1 — Microcontroller: ESP32-S3-WROOM-1 (U1)
| Pin |
Signal |
Destination |
Notes |
| 1 |
GND |
GND plane |
|
| 2 |
GPIO1 / TX0 |
USB-UART bridge (RX) |
Console UART |
| 3 |
GPIO2 / RX0 |
USB-UART bridge (TX) |
Console UART |
| 4 |
GPIO3 / ADC1_CH3 |
J1-8 (A0_DIR) → U10 (DIR) |
A-axis motor1 direction |
| 5 |
GPIO4 |
J2-5 (SD_CS) → microSD (CS) |
SD card chip-select |
| 6 |
GPIO5 |
J3 (SPINDLE_PWM) → spindle MOSFET |
Spindle speed PWM out |
| 7 |
GPIO6 |
J3 (SPINDLE_DIR) → spindle MOSFET |
Spindle direction |
| 8 |
GPIO7 |
J7-1 (COOLANT_FLOOD) → MOSFET |
Coolant flood relay |
| 9 |
GPIO8 |
J1-7 (A0_STEP) → U11 (STEP) |
A-axis motor0 step |
| 10 |
GPIO9 |
J1-9 (A1_STEP) → U12 (STEP) |
A-axis motor1 step |
| 11 |
GPIO10 |
J1-10 (A1_DIR) → U12 (DIR) |
A-axis motor1 direction |
| 12 |
GPIO11 |
J1-6 (Z1_DIR) → U9 (DIR) |
Z-axis motor1 direction |
| 13 |
GPIO12 |
J1-5 (Z1_STEP) → U9 (STEP) |
Z-axis motor1 step |
| 14 |
GPIO13 |
J1-3 (Z0_DIR) → U8 (DIR) |
Z-axis motor0 direction |
| 15 |
GPIO14 |
J1-2 (Z0_STEP) → U8 (STEP) |
Z-axis motor0 step |
| 16 |
GPIO15 |
J1-1 (X0_STEP) → U5 (STEP) |
X-axis motor0 step |
| 17 |
GPIO16 |
J1-4 (X0_DIR) → U5 (DIR) |
X-axis motor0 direction |
| 18 |
GPIO17 |
UART TX1 → TMC2209 (PDN_UART) bus |
UART1 single-wire (4 drivers: X0, Y0, Z0, A0) |
| 19 |
GPIO18 |
UART TX2 → TMC2209 (PDN_UART) bus |
UART2 single-wire (4 drivers: X1, Y1, Z1, A1) |
| 20 |
GND |
GND plane |
|
| 21 |
GPIO21 |
J1-12 (Y0_STEP) → U6 (STEP) |
Y-axis motor0 step |
| 22 |
GPIO35 |
J4-1 (X_LIMIT) → limit switch |
X-axis limit/home |
| 23 |
GPIO36 |
J4-2 (Y_LIMIT) → limit switch |
Y-axis limit/home |
| 24 |
GPIO37 |
J4-3 (Z_LIMIT) → limit switch |
Z-axis limit/home |
| 25 |
GPIO38 |
J2-9 (X1_DIR) → U7 (DIR) |
X-axis motor1 direction |
| 26 |
GPIO39 |
J4-4 (A_LIMIT) → limit switch |
A-axis limit/home |
| 27 |
GPIO40 |
J4-5 (PROBE) → probe input |
Probe input |
| 28 |
GPIO41 |
SPI_MISO → microSD card (DO) |
SD card data-out |
| 29 |
GPIO42 |
SPI_MOSI → microSD card (DI) |
SD card data-in |
| 30 |
GPIO43 |
SPI_SCLK → microSD card (SCLK) |
SD card clock |
| 31 |
GPIO44 |
(reserved) |
NC — available for user I/O |
| 32 |
GPIO45 |
J2-10 (Y1_DIR) → U8 (DIR) |
Y-axis motor1 direction |
| 33 |
GPIO46 |
J2-7 (X1_STEP) → U7 (STEP) |
X-axis motor1 step |
| 34 |
GPIO47 |
J2-11 (Y0_DIR) → U6 (DIR) |
Y-axis motor0 direction |
| 35 |
GPIO48 |
J2-8 (Y1_STEP) → U8 (STEP) |
Y-axis motor1 step |
| 36 |
GND |
GND plane |
|
| 37~49 |
NC (space) |
— |
Module-internal flash pins |
| 50 |
GND |
GND plane |
|
| 51~52 |
NC |
— |
Internal flash |
| 53~54 |
VBAT / CHIP_PU |
3.3V + 10 kΩ pullup + 0.1 µF to GND |
Enable pin |
| 55 |
3V3 |
3.3V rail |
Core supply |
| 56~61 |
NC |
— |
Internal flash/PSRAM |
| 62 |
GND |
GND plane |
|
| 63 |
USB_DP |
USB-UART bridge (D+) |
Also accessible via USB-C |
| 64 |
USB_DN |
USB-UART bridge (D−) |
Also accessible via USB-C |
| 65 |
VDD_USB |
5V rail (USB VBUS) |
USB power detect |
| 66 |
NC |
— |
|
| 67~68 |
NC |
— |
|
| 69 |
GND |
GND plane |
|
Module-internal connections (ESP32-S3-WROOM-1):
| Pin |
Signal |
Notes |
| Module pins 37–49, 51–52, 56–61 |
Flash/PSRAM interface |
Internal — NC on PCB |
|
3.3V supply |
LDO (U2) output to module pin 55 |
|
EN / CHIP_PU |
RC delay (10 kΩ + 1 µF) for power sequencing |
2 — Power Regulation
2.1 — 24V Input Connector (J6)
| Pin |
Signal |
Destination |
Notes |
| 1 |
VIN_24V |
F1 (5A fuse) → C1 (100 µF/35V) → motor supply rail |
Motor/bus power |
| 2 |
GND |
GND plane |
Power ground |
Protection: TVS diode (SMBJ30A) from VIN_24V to GND, reverse-polarity protection (P-MOSFET or Schottky).
2.2 — 5V Buck Regulator (U3) — MP9942 or TPS54360
| Component |
Pin |
Signal |
Destination |
| U3-1 |
BOOT |
Cboot (0.1 µF) → U3-8 (SW) |
Bootstrap cap |
| U3-2 |
VIN |
VIN_24V → C2 (10 µF/50V) → GND |
Input |
| U3-3 |
EN |
24V via 100 kΩ pullup |
Enable |
| U3-4 |
SS |
Css (10 nF) → GND |
Soft-start |
| U3-5 |
RT |
Rrt (51 kΩ) → GND |
Switching frequency (~500 kHz) |
| U3-6 |
COMP |
Rc (10 kΩ) + Cc (4.7 nF) → GND |
Compensation |
| U3-7 |
FB |
R1 (10 kΩ) → 5V rail; R2 (2.32 kΩ) → GND |
Feedback divider |
| U3-8 |
SW |
L1 (10 µH) → C3 (47 µF/16V) → 5V rail |
Inductor + output cap |
| — |
PGND |
GND plane |
Power ground |
| — |
— |
5V rail → TMC2209 VM + 3.3V LDO input |
5V distribution |
2.3 — 3.3V LDO Regulator (U4) — AMS1117-3.3
| Component |
Pin |
Signal |
Destination |
| U4-1 |
GND |
GND plane |
|
| U4-2 |
VOUT |
3.3V rail → C4 (10 µF) + C5 (0.1 µF) → ESP32-S3 module, TMC2209 VIO |
3.3V logic supply |
| U4-3 |
VIN |
5V rail → C6 (10 µF) |
Input from 5V buck |
3 — TMC2209 Stepper Drivers (U5–U12)
3.1 — TMC2209 Pinout (common to all 8 drivers)
| Pin # |
Name |
Function |
Connection |
| 1 |
EN |
Enable (active low) |
10 kΩ pullup to VIO (3.3V); optional ESP32 GPIO44 |
| 2 |
MS1 / ADDR_CFG |
UART address select |
Resistor to GND (see §3.3) |
| 3 |
MS2 / VREF |
Current reference / UART addr |
Resistor to GND if UART addressing; else VREF divider |
| 4 |
VCC_IO |
Logic supply |
3.3V rail + C7 (0.1 µF) to GND near each driver |
| 5 |
GND |
Ground |
GND plane |
| 6 |
V3_1 |
Internal regulator cap |
100 nF cap to GND |
| 7 |
V3_2 |
Internal regulator cap |
100 nF cap to GND |
| 8 |
V3_3 |
Internal regulator cap |
100 nF cap to GND |
| 9 |
CAP |
Internal charge pump |
22 nF cap to V3_3 |
| 10 |
VCC |
Motor supply |
5V rail (or 24V, see §3.4) |
| 11 |
A2 |
Motor coil A2 |
Motor connector |
| 12 |
A1 |
Motor coil A1 |
Motor connector |
| 13 |
B1 |
Motor coil B1 |
Motor connector |
| 14 |
B2 |
Motor coil B2 |
Motor connector |
| 15 |
VCC |
Motor supply |
5V rail (or 24V, see §3.4) |
| 16 |
GND |
Ground |
GND plane |
| 17 |
VREF |
Analog reference / Select |
Resistor to GND (UART addressing) or voltage divider |
| 18 |
PDN_UART |
UART data / Power-down |
UART TX line (single-wire half-duplex) |
| 19 |
CLK |
Internal clock |
10 nF to GND; or external clock if precision needed |
| 20 |
NC |
Not connected |
— |
| 21 |
DIAG |
Diagnostic output |
10 kΩ pullup to 3.3V; optional to ESP32 GPIO |
| 22 |
DRV_EN |
Driver enable |
Pull high via 10 kΩ to VIO for active; pull low to disable |
| 23 |
STEP |
Step input |
From ESP32 GPIO via 100 Ω series resistor (see table below) |
| 24 |
DIR |
Direction input |
From ESP32 GPIO via 100 Ω series resistor (see table below) |
3.2 — TMC2209 Address Selection (VREF resistor to GND)
| ADDR |
R_VREF to GND |
Driver |
Axis |
UART Bus |
| 0 |
0 Ω (short) |
U5 |
X motor0 |
UART1 (gpio.17) |
| 1 |
2.2 kΩ |
U6 |
Y motor0 |
UART1 (gpio.17) |
| 2 |
4.7 kΩ |
U7 |
Z motor0 |
UART1 (gpio.17) |
| 3 |
8.2 kΩ |
U8 |
A motor0 |
UART1 (gpio.17) |
| 0 |
0 Ω (short) |
U9 |
X motor1 |
UART2 (gpio.18) |
| 1 |
2.2 kΩ |
U10 |
Y motor1 |
UART2 (gpio.18) |
| 2 |
4.7 kΩ |
U11 |
Z motor1 |
UART2 (gpio.18) |
| 3 |
8.2 kΩ |
U12 |
A motor1 |
UART2 (gpio.18) |
3.3 — Step/Dir Pin Mapping (ESP32-S3 → TMC2209)
| Ref |
Axis |
Motor |
ADDR |
STEP GPIO |
DIR GPIO |
UART Bus |
| U5 |
X |
motor0 |
0 |
GPIO15 |
GPIO16 |
UART1 |
| U6 |
Y |
motor0 |
1 |
GPIO21 |
GPIO47 |
UART1 |
| U7 |
Z |
motor0 |
2 |
GPIO14 |
GPIO13 |
UART1 |
| U8 |
A |
motor0 |
3 |
GPIO8 |
GPIO3 |
UART1 |
| U9 |
X |
motor1 |
0 |
GPIO46 |
GPIO38 |
UART2 |
| U10 |
Y |
motor1 |
1 |
GPIO48 |
GPIO45 |
UART2 |
| U11 |
Z |
motor1 |
2 |
GPIO12 |
GPIO11 |
UART2 |
| U12 |
A |
motor1 |
3 |
GPIO9 |
GPIO10 |
UART2 |
3.4 — TMC2209 Motor Supply (VCC)
All TMC2209s powered by 5V rail from buck regulator (U3).
For high-torque applications, VCC can be fed from 24V rail (remove LDO jumper).
Each motor output (coils A1/A2/B1/B2) connects to J1/J2 XH-8 motor connectors via 100 nF + 47 µF electrolytic per driver pair.
4 — Motor Output Connectors
4.1 — JST XH-8 Pinout (J1, J2) — Motor Connector Blocks
J1 — Motors A0, A1, B0, B1 (top row, nearer UART1 drivers):
| J1 Pin |
Signal |
Driver |
Driver Pin |
Wire Color (typ) |
| 1 |
X0_STEP |
U5 |
STEP (23) |
— (test point) |
| 2 |
Z0_STEP |
U8 |
STEP (23) |
— (test point) |
| 3 |
Z0_DIR |
U8 |
DIR (24) |
— (test point) |
| 4 |
X0_DIR |
U5 |
DIR (24) |
— (test point) |
| 5 |
Z1_STEP |
U11 |
STEP (23) |
— (test point) |
| 6 |
Z1_DIR |
U11 |
DIR (24) |
— (test point) |
| 7 |
A0_STEP |
U7 |
STEP (23) |
— (test point) |
| 8 |
A0_DIR |
U7 |
DIR (24) |
— (test point) |
| 9 |
A1_STEP |
U12 |
STEP (23) |
— (test point) |
| 10 |
A1_DIR |
U12 |
DIR (24) |
— (test point) |
| 11 |
GND |
GND |
— |
Black |
| 12 |
Y0_STEP |
U6 |
STEP (23) |
— (test point) |
J2 — Motors A2, A3, B2, B3 (bottom row, nearer UART2 drivers):
| J2 Pin |
Signal |
Driver |
Driver Pin |
Wire Color (typ) |
| 1 |
VCC_5V |
5V rail |
— |
Red |
| 2 |
GND |
GND |
— |
Black |
| 3 |
VIN_24V |
24V rail |
— |
Red/Thick |
| 4 |
GND |
GND |
— |
Black |
| 5 |
SD_CS |
U1 (GPIO4) |
— |
— |
| 6 |
GND |
GND |
— |
Black |
| 7 |
X1_STEP |
U9 |
STEP (23) |
— (test point) |
| 8 |
Y1_STEP |
U10 |
STEP (23) |
— (test point) |
| 9 |
X1_DIR |
U9 |
DIR (24) |
— (test point) |
| 10 |
Y1_DIR |
U10 |
DIR (24) |
— (test point) |
| 11 |
Y0_DIR |
U6 |
DIR (24) |
— (test point) |
4.2 — Motor Coil Connectors (J8–J15, 4-pin JST XH)
| Connector |
Driver |
Axis |
Pin 1 (A1) |
Pin 2 (A2) |
Pin 3 (B1) |
Pin 4 (B2) |
| J8 |
U5 |
X motor0 |
U5-12 |
U5-11 |
U5-13 |
U5-14 |
| J9 |
U6 |
Y motor0 |
U6-12 |
U6-11 |
U6-13 |
U6-14 |
| J10 |
U7 |
Z motor0 |
U7-12 |
U7-11 |
U7-13 |
U7-14 |
| J11 |
U8 |
A motor0 |
U8-12 |
U8-11 |
U8-13 |
U8-14 |
| J12 |
U9 |
X motor1 |
U9-12 |
U9-11 |
U9-13 |
U9-14 |
| J13 |
U10 |
Y motor1 |
U10-12 |
U10-11 |
U10-13 |
U10-14 |
| J14 |
U11 |
Z motor1 |
U11-12 |
U11-11 |
U11-13 |
U11-14 |
| J15 |
U12 |
A motor1 |
U12-12 |
U12-11 |
U12-13 |
U12-14 |
5 — Limit Switches & Probe (J4)
| J4 Pin |
Signal |
ESP32 GPIO |
Pull |
Notes |
| 1 |
X_LIMIT |
GPIO35 |
10 kΩ to 3.3V (internal :pu) |
NC, active low |
| 2 |
Y_LIMIT |
GPIO36 |
10 kΩ to 3.3V (internal :pu) |
NC, active low |
| 3 |
Z_LIMIT |
GPIO37 |
10 kΩ to 3.3V (internal :pu) |
NC, active low |
| 4 |
A_LIMIT |
GPIO39 |
10 kΩ to 3.3V (internal :pu) |
NC, active low |
| 5 |
PROBE |
GPIO40 |
10 kΩ to 3.3V (internal :pu) |
NC, active low |
| 6 |
GND |
GND |
— |
Ground reference |
6 — Spindle / Coolant Outputs (J3, J7)
| Connector |
Pin |
Signal |
ESP32 GPIO |
Driver |
Notes |
| J3-1 |
SPINDLE_ENA |
GPIO5 |
Gate of N-MOSFET (IRLZ44N) |
PWM 0–100%, 5 kHz |
|
| J3-2 |
SPINDLE_DIR |
GPIO6 |
Gate of N-MOSFET (IRLZ44N) |
CW/CCW |
|
| J3-3 |
GND |
— |
GND |
|
|
| J7-1 |
COOLANT_FLOOD |
GPIO7 |
Gate of N-MOSFET + relay |
12V/1A rated |
|
| J7-2 |
GND |
— |
GND |
|
|
7 — SD Card Socket (mSD, J5)
| J5 Pin |
Signal |
Destination |
Notes |
| 1 |
DAT2 |
NC (1-bit SD mode) |
|
| 2 |
CD/DAT3 |
10 kΩ pullup to 3.3V |
Card detect not used |
| 3 |
CMD |
SPI_MOSI (GPIO42) |
Data in |
| 4 |
VDD |
3.3V + C8 (0.1 µF) to GND |
Supply |
| 5 |
CLK |
SPI_SCLK (GPIO43) |
Clock |
| 6 |
VSS |
GND |
Ground |
| 7 |
DAT0 |
SPI_MISO (GPIO41) |
Data out |
| 8 |
DAT1 |
NC (1-bit SD mode) |
|
| CD |
CARD_DETECT |
GPIO44 (optional) |
Use if 4-bit SD mode |
8 — USB / Serial Console (J16)
| J16 Pin |
Signal |
ESP32 GPIO |
Connects to |
| 1 (D+) |
USB_DP |
U1-63 |
CP2102N or CH343 D+ |
| 2 (D−) |
USB_DN |
U1-64 |
CP2102N or CH343 D− |
| 3 |
VUSB |
5V from USB |
5V rail (OR-ing with 24V buck) |
| 4 |
GND |
GND |
GND |
USB-UART bridge (CP2102N or CH343):
| Bridge Pin |
Signal |
ESP32 GPIO |
| TXD |
TX0 |
GPIO1 (RX0) |
| RXD |
RX0 |
GPIO2 (TX0) |
9 — UART Bus Topology
Note: Each TMC2209 PDN_UART pin gets a 1 kΩ series resistor to prevent contention during multi-drop operation.
The ESP32's TXD pin is configured as open-drain and re-connected to its RXD for half-duplex operation (rxd_pin: gpio.17 in config for a shared pin, or a discrete 1 kΩ feedback from TX to RX).
10 — UART Address Resistor Matrix (VREF → GND)
| Driver |
Axis |
ADDR |
R_VREF (1% tolerance) |
Resistor Ref |
| U5 |
X motor0 |
0 |
0 Ω (jumper) |
R5 |
| U6 |
Y motor0 |
1 |
2.2 kΩ |
R6 |
| U7 |
Z motor0 |
2 |
4.7 kΩ |
R7 |
| U8 |
A motor0 |
3 |
8.2 kΩ |
R8 |
| U9 |
X motor1 |
0 |
0 Ω (jumper) |
R9 |
| U10 |
Y motor1 |
1 |
2.2 kΩ |
R10 |
| U11 |
Z motor1 |
2 |
4.7 kΩ |
R11 |
| U12 |
A motor1 |
3 |
8.2 kΩ |
R12 |
11 — Netlist Summary by Net Name
| Net Name |
Type |
ESP32 Pin |
Driver Pins |
Connector |
Other |
| X0_STEP |
Output |
GPIO15 |
U5-23 |
J1-1 |
100 Ω series R |
| X0_DIR |
Output |
GPIO16 |
U5-24 |
J1-4 |
100 Ω series R |
| X1_STEP |
Output |
GPIO46 |
U9-23 |
J2-7 |
100 Ω series R |
| X1_DIR |
Output |
GPIO38 |
U9-24 |
J2-9 |
100 Ω series R |
| Y0_STEP |
Output |
GPIO21 |
U6-23 |
J1-12 |
100 Ω series R |
| Y0_DIR |
Output |
GPIO47 |
U6-24 |
J2-11 |
100 Ω series R |
| Y1_STEP |
Output |
GPIO48 |
U10-23 |
J2-8 |
100 Ω series R |
| Y1_DIR |
Output |
GPIO45 |
U10-24 |
J2-10 |
100 Ω series R |
| Z0_STEP |
Output |
GPIO14 |
U7-23 |
J1-2 |
100 Ω series R |
| Z0_DIR |
Output |
GPIO13 |
U7-24 |
J1-3 |
100 Ω series R |
| Z1_STEP |
Output |
GPIO12 |
U11-23 |
J1-5 |
100 Ω series R |
| Z1_DIR |
Output |
GPIO11 |
U11-24 |
J1-6 |
100 Ω series R |
| A0_STEP |
Output |
GPIO8 |
U8-23 |
J1-7 |
100 Ω series R |
| A0_DIR |
Output |
GPIO3 |
U8-24 |
J1-8 |
100 Ω series R |
| A1_STEP |
Output |
GPIO9 |
U12-23 |
J1-9 |
100 Ω series R |
| A1_DIR |
Output |
GPIO10 |
U12-24 |
J1-10 |
100 Ω series R |
| UART1_TX |
Bidir |
GPIO17 |
U5-18, U6-18, U7-18, U8-18 |
— |
1 kΩ R per driver |
| UART2_TX |
Bidir |
GPIO18 |
U9-18, U10-18, U11-18, U12-18 |
— |
1 kΩ R per driver |
| X_LIMIT |
Input |
GPIO35 |
— |
J4-1 |
10 kΩ pullup |
| Y_LIMIT |
Input |
GPIO36 |
— |
J4-2 |
10 kΩ pullup |
| Z_LIMIT |
Input |
GPIO37 |
— |
J4-3 |
10 kΩ pullup |
| A_LIMIT |
Input |
GPIO39 |
— |
J4-4 |
10 kΩ pullup |
| PROBE |
Input |
GPIO40 |
— |
J4-5 |
10 kΩ pullup |
| SPINDLE_PWM |
Output |
GPIO5 |
— |
J3-1 |
MOSFET gate |
| SPINDLE_DIR |
Output |
GPIO6 |
— |
J3-2 |
MOSFET gate |
| COOLANT |
Output |
GPIO7 |
— |
J7-1 |
Relay driver |
| SD_CS |
Output |
GPIO4 |
— |
J2-5, J5-3 |
|
| SD_MISO |
Input |
GPIO41 |
— |
J5-7 |
|
| SD_MOSI |
Output |
GPIO42 |
— |
J5-3 |
|
| SD_SCLK |
Output |
GPIO43 |
— |
J5-5 |
|
| VIN_24V |
Power |
— |
— |
J6-1, J2-3 |
Fused 5A, TVS |
| VCC_5V |
Power |
U1-65 |
U5-10,15 through U12-10,15 |
J2-1 |
From U3 buck |
| VCC_3V3 |
Power |
U1-55 |
U5-4 through U12-4 |
— |
From U4 LDO |
| GND |
Ground |
U1-1,20,36,50,62,69 |
U5-5,16 through U12-5,16 |
J1-11, J2-2,4,6, J4-6, J3-3, J6-2 |
Ground plane |
12 — Bill of Materials (Key Components)
| Ref |
Part |
Package |
Qty |
Notes |
| U1 |
ESP32-S3-WROOM-1-N16R8 |
36-pin castellation |
1 |
16 MB flash, 8 MB PSRAM |
| U2 |
CP2102N / CH343G |
QFN-28 / MSOP-10 |
1 |
USB-UART bridge |
| U3 |
MP9942 / TPS54360 |
SOP-8 |
1 |
5V buck regulator |
| U4 |
AMS1117-3.3 |
SOT-223 |
1 |
3.3V LDO |
| U5–U12 |
TMC2209-LA |
QFN-24 |
8 |
Stepper driver |
| J1, J2 |
JST XH-12 |
12-pin header |
2 |
Signal breakout |
| J3 |
JST XH-3 |
3-pin header |
1 |
Spindle |
| J4 |
JST XH-6 |
6-pin header |
1 |
Limits + probe |
| J5 |
microSD socket |
SMT |
1 |
SD card |
| J6 |
2-pin terminal block |
5.08 mm |
1 |
24V power input |
| J7 |
JST XH-2 |
2-pin header |
1 |
Coolant |
| J8–J15 |
JST XH-4 |
4-pin header |
8 |
Motor coils |
| J16 |
USB-C receptacle |
SMT |
1 |
Programming |
| C1 |
100 µF/35V |
SMD electrolytic |
1 |
24V input bulk cap |
| C2 |
10 µF/50V |
1206 |
1 |
Buck input cap |
| C3 |
47 µF/16V |
SMD electrolytic |
1 |
5V output cap |
| C4 |
10 µF/10V |
0805 |
1 |
3.3V output cap |
| C5–C8 |
0.1 µF |
0805 |
10 |
Bypass caps |
| C9–C16 |
100 nF |
0603 |
8 |
TMC2209 VCC_IO bypass |
| C17–C24 |
47 µF/16V |
1206 |
8 |
TMC2209 motor supply |
| F1 |
5A resettable fuse |
1812 |
1 |
24V input protection |
| L1 |
10 µH shielded |
SMD |
1 |
Buck inductor |
| R5–R12 |
ADDR resistors |
0805 |
8 |
See ADDR resistor matrix |
| RxD-xS |
100 Ω |
0603 |
16 |
Step/Dir line termination |
| RxU-xS |
1 kΩ |
0603 |
8 |
UART bus series resistors |
| — |
10 kΩ |
0603 |
5 |
Limit pullups |
| — |
TVS (SMBJ30A) |
DO-214AA |
1 |
24V input protection |
13 — Board Stackup (4-Layer)
| Layer |
Type |
Notes |
| L1 (Top) |
Signal + Ground pour |
ESP32-S3, TMC2209s, signal routing |
| L2 (Inner 1) |
Ground plane |
Solid GND, no splits |
| L3 (Inner 2) |
Power plane |
3.3V, 5V split |
| L4 (Bottom) |
Signal + Ground pour |
Connectors, bulk caps, routing |
14 — References
| Source |
URL |
| Maslow 4 firmware maslow.yaml |
github.com/MaslowCNC/Maslow_4/blob/Maslow-Main/firmware/FluidNC/data/maslow.yaml |
| Maslow 4 Hardware (Boards repo) |
github.com/MaslowCNC/Boards |
| Maslow 4 Electronics (old Arduino) |
github.com/MaslowCNC/Electronics |
| Maslow 4 PCB files (OSHWLabs) |
oshwlab.com/BarbourSmith/maslow4 |
| FluidNC 4-axis TMC2209 board |
wiki.fluidnc.com/en/hardware/official/TMC2209_4_Axis |
| FluidNC config IO docs |
wiki.fluidnc.com/en/config/config_IO |
| FluidNC kinematics docs |
wiki.fluidnc.com/en/config/kinematics |
| FluidNC dual-motor/homing |
wiki.fluidnc.com/en/config/homing_and_limit_switches |
| FluidNC official config examples |
github.com/bdring/fluidnc-config-files |
| TMC2209 datasheet |
trinamic.com/products/integrated-circuits/tmc2209/ |
| ESP32-S3 datasheet |
espressif.com/en/products/socs/esp32-s3 |