Skip to the content
PCBKitNew board
2 layers41.3 × 14 mmEX08, 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
41.3 × 14 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
5
Pads
60
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 8.0 (file 20240108)
Created
19 Oct 2026
Updated
19 Oct 2026

Overview

EX08 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 41.3 × 14 mm with 12 parts on 5 nets.

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

12
QtyValueFootprintReferences
901x05Connector_JST:JST_XH_S5B-XH-A_1x05_P2.50mm_HorizontalJ_IN1, J_POGO_F1, J_POGO_F2, J_POGO_F3, J_POGO_F4, J_POGO_M1, J_POGO_M2, J_POGO_M3, J_POGO_M4
101x05Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ_IN2
101x05Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_HorizontalJ_OUT1
101x05Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ_OUT2

Questions

How big is the EX08 PCB?

It measures 41.3 × 14 mm and has 2 copper layers, 1.6 mm thick.

What parts does the EX08 use?

12 parts. 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 EX08 KiCad files?

From the adampisula/modmidi repository on GitHub, at the commit this page was made from: the board is boards/EX08/hardware/EX08.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 EX08 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 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

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696