Skip to the content
PCBKitNew board
2 layers58.4 × 38.1 mmMM00, the printed circuit board in 3D

ModMIDI is a modular MIDI hardware and software project. This repository brings the base board, pad shield, extension board, and shared Arduino library together in one monorepo.

Size
58.4 × 38.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
55
Nets
60
Pads
209
Tracks, vias
928, 98
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
19 Oct 2026
Updated
19 Oct 2026

Overview

MM00 is an open-source printed circuit board by adampisula, from the adampisula/modmidi repository on GitHub, published under the MIT licence. It is a 2-layer board of 58.4 × 38.1 mm with 55 parts on 60 nets, routed with 928 tracks and 98 vias.

It is built around the USBLC6-4SC6, AMS1117-3.3 and LM66100DCK, with the MMBT2222A among its other parts. Its parts include 17 resistors, 15 capacitors, 9 connectors, 5 ICs and 4 transistors. It belongs with the STM32 boards of this library.

Main components

4

README

README.md

ModMIDI

ModMIDI is a modular MIDI hardware and software project. This repository brings the base board, pad shield, extension board, and shared Arduino library together in one monorepo.

Current state: the KiCad source projects and PlatformIO configuration are present, but there is no board firmware or generated hardware PDF yet. Firmware and PDFs will be added/generated later; the current projects are not yet ready for a firmware build or hardware release.

Repository map

PathContents
boards/MM00/Base/controller board; KiCad source, PlatformIO configuration, and board instructions
boards/MM01/4×4 pad shield; KiCad source, local footprint/model assets, PlatformIO configuration, and board instructions
boards/EX08/Passive 8-port extension board; KiCad source and board instructions, no firmware project
modmidi-arduino/Shared Arduino library used by the board firmware

The MIDIUSB fork is maintained as a separate repository and is not nested in this monorepo. PlatformIO obtains it through the library dependency declaration; users do not need to clone the sibling repository separately.

Prerequisites

  • KiCad 9.x to open all hardware projects. MM00 uses KiCad 9-format files; MM01 and EX08 use KiCad 8-format files.
  • PlatformIO Core for future firmware builds. Install PlatformIO yourself; this repository does not provide CI builds.
  • Network access on the first PlatformIO dependency resolution to retrieve external libraries.

MM01's project includes its custom TL1105 footprint and the referenced STEP model using project-relative paths. A standard KiCad installation is still required for standard libraries and models. The included E-Switch asset did not come with license/provenance information; confirm its redistribution terms before publishing the repository publicly.

Open the hardware

Open each KiCad project file:

The editable KiCad projects are the hardware source of truth. PDFs, Gerbers, and BOMs are generated manually and are not produced by a script in this repository.

Board PDFs

No PDFs are included yet. Adam will generate and add them manually under each board's hardware/output/ directory. These links show the planned locations and will become available once the files are generated:

Gerbers and BOMs may also be added manually under the same hardware/output/ directories. Intended output files are not ignored by the repository rules.

Firmware

MM00 is the base board with the STM32F103C8 controller. MM01 is a shield driven by the MM00 controller; EX08 is passive and has no firmware. The per-board PlatformIO configurations select the STM32 Arduino target and link the local modmidi-arduino/ library. USB support flags are included for USBLibrarySTM32/MIDIUSB.

For example, the MM00 configuration is in boards/MM00/software/platformio.ini:

sh
cd boards/MM00/software
pio run

MM01 has a corresponding configuration under boards/MM01/software/. These commands cannot build firmware yet: neither software directory contains source files. Adam plans to add firmware later. No upload protocol is configured; confirm the actual programmer/bootloader and MM00's 16 MHz HSE clock/USB setup before attempting to flash. EX08 has no software/ directory.

The board projects reference the library locally with symlink://../../../modmidi-arduino. Do not install the repository root as a PlatformIO library URL; the library's library.json is inside the modmidi-arduino/ subdirectory. PlatformIO fetches the declared USB dependencies, including the adampisula/MIDIUSB branch 1.0.5 and levi--g/USBLibrarySTM32 ~1.0.1.

See the modmidi-arduino README for API details and current implementation notes.

Licensing

First-party ModMIDI code, documentation, and hardware are provided under the MIT License; see LICENSE. Third-party dependencies and assets retain their own licenses and are not relicensed by the root MIT license. In particular, MIDIUSB is LGPL-2.1 and USBLibrarySTM32 is LGPL-3.0-or-later. Redistribution terms for the bundled E-Switch footprint/model still need confirmation before a public push.

Parts

55
QtyValueFootprintReferences
6100nCapacitor_SMD:C_0603_1608MetricC2, C3, C4, C5, C6, C14
401x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ2, J3, J5, J6
410KResistor_SMD:R_0603_1608MetricR1, R2, R10, R16
44.7KResistor_SMD:R_0603_1608MetricR6, R13, R14, R15
4MMBT2222APackage_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4
31KResistor_SMD:R_0603_1608MetricR4, R7, R9
201x13Connector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_VerticalJ8, J9
20RResistor_SMD:R_0603_1608MetricR5, R8
210pCapacitor_SMD:C_0603_1608MetricC8, C10
210uCapacitor_SMD:C_1206_3216MetricC1, C15
215pCapacitor_SMD:C_0603_1608MetricC12, C13
21uCapacitor_SMD:C_1206_3216MetricC9, C11
2USBLC6-4SC6Package_TO_SOT_SMD:SOT-23-6U2, U4
101x04Connector_JST:JST_XH_S4B-XH-A_1x04_P2.50mm_HorizontalJ1
101x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ4
101x05Connector_JST:JST_XH_S5B-XH-A_1x05_P2.50mm_HorizontalJ7
11.9V 20mA (R)LED_SMD:LED_0603_1608MetricD2
1100KResistor_SMD:R_0603_1608MetricR17
1100RInductor_SMD:L_0805_2012MetricFB1
110nCapacitor_SMD:C_0603_1608MetricC7
1150RResistor_SMD:R_0603_1608MetricR11
116M 9pCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11K5Resistor_SMD:R_0603_1608MetricR3
12.6V 20mA (W)LED_SMD:LED_0603_1608MetricD1
1270RResistor_SMD:R_0603_1608MetricR12
132K 12.5pCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY2
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U5
1LM66100DCKPackage_TO_SOT_SMD:SOT-363_SC-70-6U3
1STM32F103C_8-B_TxPackage_QFP:LQFP-48_7x7mm_P0.5mmU1

Questions

How big is the MM00 PCB?

It measures 58.4 × 38.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MM00 use?

55 parts, built around the USBLC6-4SC6, AMS1117-3.3, LM66100DCK and MMBT2222A. 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 MM00 KiCad files?

From the adampisula/modmidi repository on GitHub, at the commit this page was made from: the board is boards/MM00/hardware/MM00.kicad_pcb and its schematic boards/EX08/hardware/EX08.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

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

More from adampisula/modmidi

2
  • 2 layersMM01, the printed circuit board in 3D

    MM01

    adampisula/modmidi

    ModMIDI is a modular MIDI hardware and software project. This repository brings the base board, pad shield, extension board, and shared Arduino library together in one monorepo.

    93 partsMIT
  • 2 layers41.3 × 14 mmEX08, the printed circuit board in 3D

    EX08

    adampisula/modmidi

    ModMIDI is a modular MIDI hardware and software project. This repository brings the base board, pad shield, extension board, and shared Arduino library together in one monorepo.

    12 partsMIT

Similar boards

  • 4 layers35 × 35 mmElo 112, the printed circuit board in 3D

    Elo 112

    irocobble/LED_Matrix

    design of custom PCB that drives an 8×8 LED matrix (64 LEDs) using an STM32F103C8T6

    137 parts
  • 4 layers48.9 × 49.8 mmFC REV2, the printed circuit board in 3D

    FC REV2

    xXsenseiXx/KHATAF-F411

    Open-hardware 4-layer STM32F411 drone flight controller designed in KiCad for INAV and Betaflight.

    73 parts2
  • 4 layers68.6 × 56 mmCartridge, the printed circuit board in 3D

    Cartridge

    coco-chameleon/chameleon-hardware

    TRS-80 Color Computer cartridge emulator

    95 partsCERN-OHL-W-2.0
  • 4 layers80 × 80 mmObc, the printed circuit board in 3D

    Obc

    OSUSat/cubesat

    Open Source Earth Imaging Satellite Hardware + Firmware

    151 parts8MIT
  • 4 layers70 × 80 mmACC BMSmaster, the printed circuit board in 3D

    ACC BMSmaster

    NTURacingTeam/nturt_kicad

    kicad files

    137 parts4
  • 4 layers59.7 × 22.4 mmBuzzrito, the printed circuit board in 3D

    Buzzrito

    plinkysynth/buddies_public

    open source release for bib, blueberry and buzzrito 1U eurorack modules by plinky synth and crey emporium

    141 parts9
  • 2 layers111 × 113.8 mmObs studio controller, the printed circuit board in 3D

    Obs studio controller

    CommanderRedYT/obs-studio-controller

    DIY hardware + software to control obs studio

    64 parts2GPL-3.0