Skip to the content
2 layers130 × 110 mm3D Printer Mainboard STM32, the printed circuit board in 3D

3D Printer Mainboard STM32

m47812/Custom-3D-Printer-Controller10

A fully custom 3D Printer controller board based on an stm32f7 controller with TMC2209 stepper drivers

Size
130 × 110 mm
Copper layers
2
Thickness
1.6 mm
Parts
191
Nets
185
Pads
684
Tracks, vias
1,355, 233
Pours
56
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
30 Apr 2022
Updated
30 Apr 2022

Overview

3D Printer Mainboard STM32 is an open-source printed circuit board by m47812, from the m47812/Custom-3D-Printer-Controller repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 130 × 110 mm with 191 parts on 185 nets, routed with 1,355 tracks and 233 vias.

It is built around the ATWINC1500-MR210PB1954, TPS54331D and EL357N(C)(TA)-G, with the 2920L260/24DR, GZ2012D101TF and AO3400A among its other parts. Its parts include 55 capacitors, 48 resistors, 29 connectors, 15 diodes and 10 ICs. It belongs with the robots and motor control and computers and single-board computers boards and the STM32 boards of this library.

Main components

12

README

README.md

Custom-3D-Printer-Controller

A fully custom 3D Printer controller board based on a stm32f7 controller with TMC2209 stepper drivers

Summary

Software License

This Repo contains the design files for a fully custom 3D printer controller board. It is equipped with an STM32F7 Controller and uses custom-made TMC2209 Driver PCBs (also included in the Repo). The PCB was designed for using JLCPCBs Assembly service, so most of the SMD parts can directly be assembled by them. The Controller PCB is a two layer board, which makes production for hobby projects more affordable.

Repo Content

The Project contains 3 Folders with KiCad design files.

  • Main board: The main board PCB containing the STM32 Main Board
  • Motor Driver: The TMC2209 Motor Driver Plug-In Board Stepper Driver
  • Handheld: A Handheld device that can be connected via SPI to manually drive the stepper motors. Handheld

Key Points

  • STM32F7 Controller
  • TMC2209 Stepper Driver
  • 24V Power Supply
  • USB-B Micro
  • Micro SD-Card Slot
  • Z Stepper Drivers Allow for simple parallel and serial motor connection
  • 3 End stops
  • 4 Fan Ports
    • 1 Individually PWM controllable
    • 2 PWM Controllable together
    • 1 Always On
  • Support of two Extruders
  • SWD Programming Interface
  • SPI Connector
  • UART Connector
  • Buffer Battery
  • WLAN Module

Background

I designed this 3D printer controller as a hobby project, for my own 3D printer. The original plan was to build a custom hardware and custom firmware. Throughout the project my colleague and I have moved to a different printer design which resulted in the stop of the firmware project. The PCB was produced at JLCPCB and I did some tests with it. I've decided to make the project open source for anyone who would like to build their own 3D printer electronics. The project may serve as a starting point or something to enhance, modify and customize.

State of the project

Real Board Since the project was not continued on the firmware side, I did not have the possibility of testing all features to a full degree. My tests manly focused on using the the motor drivers together with the STM32. I haven't found any problems so far with the PCB, but I would advise looking over it yourself before you order it.

Functions I used

  • Use of Motor Drivers with STM32 Controller (Configuration via UART & and Control via Step Dir interface)
  • Communication via USB
  • Power supply from 24V and USB (controller only without motors for USB power)
  • Programming with ST-Link

Untested Functions

  • Temperature Measurements
  • Temperature control of Bed and Extruders
  • SD Card Slot
  • WLAN Module
  • Buffer Battery

Firmware

I would recommend using the board with Marlin firmware. It will require some manual adaptations to be able to use Marlin. Since I haven't used Marlin in my own project, I can not provide these adaptations here.

Parts

191
QtyValueFootprintReferences
18100nCapacitor_SMD:C_0603_1608MetricC203, C210, C214, C601, C602, C603, C701, C702, C703, C704, C706, C707, C708, C711, C713, C714 +2
140OhmResistor_SMD:R_0603_1608MetricR505, R506, R701, R702, R703, R704, R705, R706, R707, R708, R709, R710, R711, R712
14100nCapacitor_SMD:C_0402_1005MetricC208, C209, C301, C302, C303, C401, C402, C501, C504, C505, C506, C508, C510, C511
121kResistor_SMD:R_0402_1005MetricR301, R303, R304, R305, R306, R307, R308, R501, R503, R508, R509, R510
11220uCapacitor_SMD:CP_Elec_8x10C201, C211, C212, C213, C604, C705, C709, C710, C712, C717, C718
10Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-2-2.54_1x02_P2.54mm_HorizontalJ301, J303, J304, J305, J306, J307, J308, J309, J310, J601
8Conn_01x04Connector_Molex:Molex_KK-254_AE-6410-04A_1x04_P2.54mm_VerticalJ701, J702, J703, J704, J705, J706, J707, J708
62920L260/24DRFuse:Fuse_2920_7451MetricF301, F303, F304, F305, F306, F307
6GZ2012D101TFResistor_SMD:R_0805_2012MetricFB501, FB502, FB503, FB504, FB601, FB602
6TMC2209_DriverBoardLibLoader:TMC2209_DriverBoardU701, U702, U703, U704, U705, U706
547kResistor_SMD:R_0402_1005MetricR404, R405, R406, R407, R408
5AO3400APackage_TO_SOT_SMD:SOT-23Q301, Q303, Q304, Q305, Q306
410kResistor_SMD:R_0402_1005MetricR205, R402, R502, R507
4MountingHole_PadMountingHole:MountingHole_4.3mm_M4_Pad_ViaH101, H102, H103, H104
4SMAZ27-13-FDiode_SMD:D_SMAD301, D302, D303, D304
4SS34Diode_SMD:D_SMAD202, D203, D205, D206
4TestPoint_2PoleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalTP401, TP402, TP501, TP502
3Conn_01x02Connector_Molex:Molex_KK-254_AE-6410-02A_1x02_P2.54mm_VerticalJ501, J503, J504
3GZ2012D601TFCapacitor_SMD:C_0805_2012MetricFB201, FB202, FB203
3P6SMB33ADiode_SMD:D_SMBD201, D204, D601
2100kResistor_SMD:R_0402_1005MetricR309, R511
21MResistor_SMD:R_0402_1005MetricR401, R403
222pCapacitor_SMD:C_0402_1005MetricC502, C503
222uCapacitor_SMD:C_0603_1608MetricC206, C207
24.7uCapacitor_SMD:C_0603_1608MetricC507, C509
2B5819WDiode_SMD:D_SOD-123D501, D502
10RResistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolderR504
1100kResistor_SMD:R_0603_1608MetricR203
110kResistor_SMD:R_0603_1608MetricR202
110nCapacitor_SMD:C_0603_1608MetricC205
110nCapacitor_SMD:C_0402_1005MetricC403
110uCapacitor_SMD:C_0402_1005MetricC405
112D2200EFuse:Fuse_1206_3216MetricF302
12.2uCapacitor_SMD:C_0603_1608MetricC404
1220Resistor_SMD:R_0603_1608MetricR207
1220pCapacitor_SMD:C_0603_1608MetricC204
13.3kResistor_SMD:R_0402_1005MetricR206
1330Resistor_SMD:R_0402_1005MetricR302
1470Resistor_SMD:R_0603_1608MetricR101
147kResistor_SMD:R_0603_1608MetricR204
16.8uInductor_SMD:L_Sunlord_MWSA0518_5.4x5.2mmL201
168Resistor_SMD:R_0603_1608MetricR201
182pCapacitor_SMD:C_0603_1608MetricC202
18MHzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY501
1ATWINC1500-MR210PB1954LibLoader:ATWINC1500MR210UB1954IC401
1Battery_CellBattery:BatteryHolder_Keystone_1058_1x2032BT501
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ502
1EL357N(C)(TA)-GPackage_SO:SOP-4_3.8x4.1mm_P2.54mmU201
1HUF76639S3STPackage_TO_SOT_SMD:TO-263-2Q302
1LEDLED_SMD:LED_0603_1608MetricD207
1Micro_SD_Card_Det_Hirose_DM3ATConnector_Card:microSD_HC_Hirose_DM3D-SFJ401
1STM32F722RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU501
1Screw_Terminal_01x02LibLoader:1756993J202
1Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-3.5-H_1x02_P3.50mm_HorizontalJ302
1Screw_Terminal_01x03TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-3-2.54_1x03_P2.54mm_HorizontalJ203
1Screw_Terminal_01x04TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-4-2.54_1x04_P2.54mm_HorizontalJ603
1Screw_Terminal_01x06TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-6-2.54_1x06_P2.54mm_HorizontalJ602
1TPS54331Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU202
1TestPoint_2PoleTestPoint:TestPoint_2Pads_Pitch5.08mm_Drill1.3mmTP201
1USB_B_MicroConnector_USB:USB_Micro-B_Wuerth_629105150521_CircularHolesJ201
1greenLED_SMD:LED_0603_1608MetricD101

More from m47812/Custom-3D-Printer-Controller

2
  • 2 layers50 × 130 mmMupi, the printed circuit board in 3D

    Mupi

    m47812/Custom-3D-Printer-Controller

    A fully custom 3D Printer controller board based on an stm32f7 controller with TMC2209 stepper drivers

    84 parts10GPL-3.0
  • 2 layers21 × 24 mm3D Printer Stepper TMC2209, the printed circuit board in 3D

    3D Printer Stepper TMC2209

    m47812/Custom-3D-Printer-Controller

    A fully custom 3D Printer controller board based on an stm32f7 controller with TMC2209 stepper drivers

    21 parts10GPL-3.0

Similar boards

  • 4 layers185 × 110 mmBd845-pwb, the printed circuit board in 3D

    Bd845-pwb

    bluedot-arcade/bd845-pwb-board

    A clone of the original Konami GN845-PWB(B) Stage I/O board for DDR machines.

    186 parts4CERN-OHL-S-2.0
  • 6 layers160 × 120 mmPic32main, the printed circuit board in 3D

    Pic32main

    JuanPoueriet/automatic-spork

    Máquina de ruleta física de casino. 6 PCBs: pic32main (cerebro), wheel (rueda de LEDs), displaysa/b/c (paneles de 7 segmentos en cascada) y buttons (botonera).

    256 parts
  • 2 layers100 × 95 mmController, the printed circuit board in 3D

    Controller

    Doc-Raptor/dragon_controller

    32bit 3d-printer controller board for 3d printers from china with the anet-stlye controller-board

    88 parts3
  • 4 layers89 × 58 mmHALMET, the printed circuit board in 3D

    HALMET

    hatlabs/HALMET-hardware

    Hat Labs Marine Engine & Tank interface hardware design files

    227 parts8CC-BY-4.0
  • 4 layers90.8 × 58.8 mmHALSER, the printed circuit board in 3D

    HALSER

    hatlabs/HALSER-hardware

    Hat Labs Serial Interface Device hardware design files

    199 partsCC-BY-4.0
  • 4 layers89 × 58 mmSH ESP32, the printed circuit board in 3D

    SH ESP32

    hatlabs/SH-ESP32-hardware

    Sailor Hat for ESP32 hardware

    321 parts49
  • 4 layers89 × 58 mmSH ESP32, the printed circuit board in 3D

    SH ESP32

    kitspace-test-repos/kicad6-file-collection

    308 partsMIT

Questions

How big is the 3D Printer Mainboard STM32 PCB?

It measures 130 × 110 mm and has 2 copper layers, 1.6 mm thick.

What parts does the 3D Printer Mainboard STM32 use?

191 parts, built around the ATWINC1500-MR210PB1954, TPS54331D, EL357N(C)(TA)-G and 2920L260/24DR. 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 3D Printer Mainboard STM32 KiCad files?

From the m47812/Custom-3D-Printer-Controller repository on GitHub, at the commit this page was made from: the board is 3D_Printer_Mainboard_STM32/3D_Printer_Mainboard_STM32.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the 3D Printer Mainboard STM32 design in my own project?

Its repository publishes it under the GPL-3.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).