Skip to the content
PCBKitNew board
2 layers50 × 130 mmMupi, the printed circuit board in 3D

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

Size
50 × 130 mm
Copper layers
2
Thickness
1.6 mm
Parts
84
Nets
61
Pads
273
Tracks, vias
497, 68
Pours
6
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
30 Apr 2022
Updated
30 Apr 2022

Overview

Mupi 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 50 × 130 mm with 84 parts on 61 nets, routed with 497 tracks and 68 vias.

It is built around the GZ2012D101TF. Its parts include 37 resistors, 16 capacitors, 15 switches, 8 diodes and 1 IC. It belongs with the robots and motor control boards and the STM32 and AVR (ATmega, ATtiny) boards of this library.

Main components

1

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

84
QtyValueFootprintReferences
16100nCapacitor_SMD:C_0805_2012Metric_Pad1.15x1.40mm_HandSolderC101, C102, C103, C104, C105, C201, C202, C203, C204, C205, C206, C207, C208, C209, C210, C211
131kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR201, R203, R204, R205, R206, R211, R214, R215, R216, R217, R218, R219, R224
11100kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR202, R207, R208, R209, R210, R212, R220, R221, R222, R223, R225
10ButtonButton_Switch_SMD:SW_SPST_TL3342SW201, SW203, SW204, SW205, SW209, SW210, SW211, SW212, SW213, SW214
81.5kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR301, R302, R303, R304, R305, R306, R307, R308
7LEDLED_THT:LED_D3.0mmD302, D303, D304, D305, D306, D307, D308
410kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR101, R102, R103, R104
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_Pad_ViaH101, H102, H103, H104
12kResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR213
174HCS595Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU301
1Arduino_Nano_v3.xModule:Arduino_NanoA101
1GZ2012D101TFResistor_SMD:R_0805_2012MetricFB101
1HandButton_Switch_SMD:SW_SPST_TL3342SW202
1LEDLED_SMD:LED_0603_1608MetricD301
1Rotary_EncoderRotary_Encoder:RotaryEncoder_Alps_EC12E_Vertical_H20mmSW101
1Screw_Terminal_01x06TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-6-2.54_1x06_P2.54mm_HorizontalJ101
1XButton_Switch_SMD:SW_SPST_TL3342SW206
1YButton_Switch_SMD:SW_SPST_TL3342SW207
1ZButton_Switch_SMD:SW_SPST_TL3342SW208

Questions

How big is the Mupi PCB?

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

What parts does the Mupi use?

84 parts, built around the GZ2012D101TF. 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 Mupi 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_Handheld/Mupi.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mupi 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).

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

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

    3D Printer Mainboard STM32

    m47812/Custom-3D-Printer-Controller

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

    191 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 layers50 × 59 mmKapula, the printed circuit board in 3D

    Kapula

    tejeez/geckokapula

    EFR32-based handheld transceiver

    166 parts65
  • 4 layers85 × 54 mmManila ice, the printed circuit board in 3D

    Manila ice

    joshtyler/manila-ice

    Lattice iCE HX4K Development Board

    158 parts10
  • 6 layers80 × 70 mmIMX6 Demo Board from REF, the printed circuit board in 3D

    IMX6 Demo Board from REF

    ts-manuel/iMX6-Demo-Board

    Demo board for the i.MX6ULL Single-Core Processor with Arm Cortex-A7 Core

    504 parts10GPL-3.0
  • 4 layers99.1 × 99.1 mmTACNPR, the printed circuit board in 3D

    TACNPR

    partio-scout/scoms-tacnpr

    TACNPR by Scoms -- Open hardware high-speed Ethernet/IP data radio for the 433 MHz HAM band, binary-compatible with the original NPR by F4HDK.

    310 parts9
  • 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
  • 2 layers34.3 × 16 mmUsb uart, the printed circuit board in 3D

    Usb uart

    florolf/usb-uart-shift

    USB->UART adapter with level shifting

    40 parts7
  • 4 layers243.8 × 243.8 mmTangenta, the printed circuit board in 3D

    Tangenta

    vmetodiev/tangenta

    Micro ATX motherboard for Toradex Verdin iMX8M Mini

    577 parts5
  • 2 layers95 × 50 mmGw v41-plus, the printed circuit board in 3D

    Gw v41-plus

    shachi-lab/greaseweazle-v41-plus

    Greaseweazle V4.1 based compatible board design for 3.5/5.25-inch FDDs

    87 parts4