Skip to the content
2 layers48 × 40.9 mmPicoMMUBoard, the printed circuit board in 3D

A Klipper expansion board intended to run a MMU unit to control a stepper motor and servo.

Size
48 × 40.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
35
Nets
44
Pads
145
Tracks, vias
246, 40
Pours
18
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
24 Jan 2025
Updated
24 Jan 2025

Overview

PicoMMUBoard is an open-source printed circuit board by AdamTuraj, from the AdamTuraj/PicoMMU repository on GitHub, published under the MIT licence. It is a 2-layer board of 48 × 40.9 mm with 35 parts on 44 nets, routed with 246 tracks and 40 vias.

It is built around the AMS1117-3.3, USBLC6-2SC6 and TMC2209. Its parts include 9 capacitors, 7 resistors, 6 connectors, 3 ICs and 2 switches. It belongs with the robots and motor control boards and the STM32 boards of this library.

Main components

3

README

README.md

PicoMMU

PicoMMU is a PCB designed to control a stepper motor and servo for a multi-material unit. It is compatible with Klipper firmware. A 3D render of the PCB

Requirements

  • A USB C cable to connect to your RPI / Printer
  • A 12-24V power supply
  • A TMC2209 (BTT Recommended)
  • A stepper motor crimped with a 4 pin JST XH B4

Flashing Klipper

  1. Follow this Klipper guide on how to build the firmware. The first image shows the configuration settings and the second shows the "Optional Features" section. The configuration for Klipper. Select STMF042 as the chip, change "Bootloader Offset" to "No Bootloader" and under extra low-level configuration options change "Clock Reference" to "Internal Clock". The optional features section, should be all off as there is not enough flash memory to support all features.
  2. Once the firmware is build, put the chip into DFU mode by clicking the reset button while holding the boot button.
  3. Run lsusb and take not of the numbers in this format: xxxx:xxxx.
  4. Now use the following command to flash the firmware (replacing xxxx:xxxx with your MCU's ID): make flash FLASH_DEVICE=xxxx:xxxx.
  5. Unplug and replug in the USB cord and your MCU should pop up in ls /dev/serial/by-id/*.

License

This project is licensed under the MIT License.

Parts

35
QtyValueFootprintReferences
50.1uFCapacitor_SMD:C_0603_1608MetricC3, C7, C9, C10, C11
210kResistor_SMD:R_0603_1608MetricR5, R9
25k1Resistor_SMD:R_0603_1608MetricR2, R3
1100uFCapacitor_SMD:C_Elec_6.3x7.7C13
110nFCapacitor_SMD:C_0603_1608MetricC1
110uFCapacitor_SMD:C_0603_1608MetricC2
11MResistor_SMD:R_0603_1608MetricR1
11kResistor_SMD:R_0603_1608MetricR8
1220RResistor_SMD:R_0603_1608MetricR4
122uFCapacitor_SMD:C_0603_1608MetricC6
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1BOOTButton_Switch_SMD:SW4_KMS-PSW2
1Conn_StepperConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ6
1GREENLED_SMD:LED_0805_2012MetricD1
1LOGOSymbol:LogoG***
1PWRTerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type073_RT02602HBLU_1x02_P5.08mm_HorizontalJ2
1RESETButton_Switch_SMD:SW4_KMS-PSW1
1STLinkConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1STM32F042K6TxPackage_QFP:LQFP-32_7x7mm_P0.8mmU4
1Servo ConnConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5
1TMC2209PicoMMU:TMC2209J4
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U1
1USB_CConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1

The 29 most common of 35 parts.

Similar boards

  • 4 layers50 × 60 mmEPICS Connect4, the printed circuit board in 3D

    EPICS Connect4

    williamlin108/Klondike-Connect-4---2026

    Electronics Repo for Purdue EPICs Klondike Team, DL: William Lin

    84 parts1
  • 4 layers150 × 120 mmKicad project, the printed circuit board in 3D

    Kicad project

    emlab-fi/cube_electronics

    Cube electronics - Main Board and Interface Board

    244 parts
  • 4 layers123 × 113 mmPantiltslide full pwr, the printed circuit board in 3D

    Pantiltslide full pwr

    AMOVFC/PanTilt

    Three projects live in this folder. They share NewLibrary.kicadsym, TMC2209.pretty and the same philosophy: nothing on the board needs precision placement, every active part is a module in a socket.

    53 parts
  • 2 layers67 × 113 mmShield Brazo, the printed circuit board in 3D

    Shield Brazo

    EmersonEE/My_KiCad

    34 parts
  • 4 layers38 × 39 mmCLN17-V1.5, the printed circuit board in 3D

    CLN17-V1.5

    creapunk/CLN-ClosedLoopNemaDriver

    Compact closed-loop stepper motor driver designed for NEMA motors

    103 parts1.1k
  • 2 layers155 × 80 mmESP32Controller, the printed circuit board in 3D

    ESP32Controller

    simon-jouet/ESP32Controller

    ESP32-based 3D printer controller

    171 parts134
  • 4 layers80 × 70 mmJellyfish, the printed circuit board in 3D

    Jellyfish

    wntrblm/jellyfish-and-starfish

    Jellyfish and Starfish are control boards designed for use with the LumenPnP. Starfish controls the base of the machine including X & Y axes and pneumatics.

    172 parts112

Questions

How big is the PicoMMUBoard PCB?

It measures 48 × 40.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PicoMMUBoard use?

35 parts, built around the AMS1117-3.3, USBLC6-2SC6 and TMC2209. 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 PicoMMUBoard KiCad files?

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

Can I use the PicoMMUBoard design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).