Skip to the content
PCBKitNew board
2 layersMM01, 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.

Copper layers
2
Thickness
1.6 mm
Parts
93
Nets
111
Pads
369
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 8.0 (file 20240108)
Created
19 Oct 2026
Updated
19 Oct 2026

Overview

MM01 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 with 93 parts on 111 nets.

It is built around the 74HC14, 74HC165D and WS2813C, with the AO3400A among its other parts. Its parts include 37 resistors, 16 capacitors, 16 diodes, 16 switches and 5 ICs.

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

93
QtyValueFootprintReferences
2110kResistor_SMD:R_0603_1608MetricR1, R2, R3, R11, R12, R15, R17, R19, R21, R23, R25, R27, R28, R29, R30, R35 +5
16470nCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
165.1kResistor_SMD:R_0603_1608MetricR7, R8, R9, R10, R13, R14, R16, R18, R20, R22, R24, R26, R31, R32, R33, R34
16SW_PushSW-Eswitch:TL1105SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16
16WS2813LED_SMD:LED_WS2812_PLCC6_5.0x5.0mm_P1.6mmD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
374HC14Package_DIP:DIP-14_W7.62mm_SMDSocket_SmallPadsU3, U4, U5
201x13Connector_PinSocket_2.54mm:PinSocket_1x13_P2.54mm_VerticalJ1, J2
274HC165Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU1, U2
1AO3400APackage_TO_SOT_SMD:SOT-23Q1

Questions

What parts does the MM01 use?

93 parts, built around the 74HC14, 74HC165D, WS2813C and AO3400A. 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 MM01 KiCad files?

From the adampisula/modmidi repository on GitHub, at the commit this page was made from: the board is boards/MM01/hardware/MM01.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 MM01 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 layers58.4 × 38.1 mmMM00, the printed circuit board in 3D

    MM00

    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.

    55 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 layers120 × 100 mmBsc, the printed circuit board in 3D

    Bsc

    shining-man/bsc_hw

    Hardware battery safety controller (BSC)

    286 parts31MIT
  • 4 layers219 × 108.5 mmZ80DevBoard, the printed circuit board in 3D

    Z80DevBoard

    gianluca-rainis/Z80DevBoard

    An advanced development board for the Z80 microprocessor, powered by an RP2040.

    182 parts7CERN-OHL-S-2.0
  • 2 layers234 × 100 mmV2b, the printed circuit board in 3D

    V2b

    KITTY-6502/hardware

    the KITTY is a 65c02 homebrew kit microcomputer designed around text mode graphics and cartridge media. It is fully open source, and uses exclusively in-production parts.

    147 parts
  • 2 layers120 × 90 mmTimer, the printed circuit board in 3D

    Timer

    koki0423/ew-timer

    サムロータリースイッチを使ったタイマー

    79 parts
  • 4 layers99.1 × 99.1 mmSchematics, the printed circuit board in 3D

    Schematics

    GeraKuznetsov/M68K-MBC

    A M68k Multi-Board Computer design. The design basics is as follows: 1) A backplane PCB contains the majority of the bus, such as the address and data lines. 2) Cards slot into the backplane.

    56 parts10
  • 4 layers99.1 × 99.1 mmMaslab, the printed circuit board in 3D

    Maslab

    maslab-5/maslab

    MIT Mobile Autonomous Systems Laboratory Robot

    324 parts4
  • 2 layers75 × 55.4 mmGaiaBeronia, the printed circuit board in 3D

    GaiaBeronia

    dihermos/GaiaBeronia

    Gaia Beronia is an inspired on Flipper Zero embeeded system. It uses a system based on Python running on Linux in a Raspberry Pi Zero 2W.

    31 parts1Apache-2.0