Skip to the content
4 layers164 × 164 mmMidi controller, the printed circuit board in 3D

Open-source hardware design files for the MIDI Studio controller.

Size
164 × 164 mm
Copper layers
4
Thickness
1.6 mm
Parts
138
Nets
79
Pads
382
Tracks, vias
738, 110
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
15 Nov 2025
Updated
8 Aug 2026

Overview

Midi controller is an open-source printed circuit board by petitechose-midi-studio, from the petitechose-midi-studio/hardware repository on GitHub. It is a 4-layer board of 164 × 164 mm with 138 parts on 79 nets, routed with 738 tracks and 110 vias.

It is built around the CD74HC4067M and PESD5V0L1BA,115-ES. Its parts include 45 capacitors, 37 diodes, 13 resistors, 11 connectors and 6 switches. It belongs with the audio and music boards of this library.

Main components

2

README

README.md

MIDI Studio - Hardware Design

Open-source hardware design files for the MIDI Studio controller.

Teensy 4.1 based MIDI controller with ILI9341 display, 10 rotary encoders, and 15 buttons.


Hardware Specifications

Core Components

  • MCU: Teensy 4.1 (ARM Cortex-M7; hardware rated up to 600 MHz, with MIDI Studio firmware configured at 450 MHz)
  • RAM: 8 MB PSRAM (mandatory - soldered on underside pads)
  • Display: ILI9341 2.8" TFT (320x240, SPI)
  • Encoders:
    • 8x Bourns PEC11R rotary encoders (24 PPR, smooth, with push button)
    • 1x Bourns PEC11R rotary encoder (24 PPR, detented, with push button)
    • 1x E38S6G5 optical encoder (600 PPR, high-resolution)
  • Button inputs: 15 total (6x panel tactile switches + 8x macro-encoder push switches through the multiplexer, plus the NAV encoder push directly on MCU pin 32)
  • Multiplexer: CD74HC4067 (16-channel analog multiplexer; 14 button inputs used)
  • Connectivity: USB MIDI (USB-B connector)

Display Interface (SPI)

  • CS = Pin 28
  • DC = Pin 0
  • RST = Pin 29
  • MOSI = Pin 26
  • SCK = Pin 27
  • MISO = Pin 1
  • Firmware-configured SPI speed: 50 MHz

Power

  • USB-powered (5V)
  • Teensy 4.1 regulates to 3.3V for peripherals

Repository Contents

pcb/

KiCad PCB design files and manufacturing outputs.

text
pcb/kicad/
midi-studio.kicad_pro      # KiCad project
midi-studio.kicad_sch      # Schematic
midi-studio.kicad_pcb      # PCB layout
midi-studio.step           # 3D model
gerbers/                   # Gerber files for PCB fabrication
bom/                       # Bill of Materials + CPL
pdf/                       # Schematic and assembly drawings (PDF)

PCB Specifications:

  • Layers: 2-layer PCB
  • Thickness: 1.6mm
  • Surface finish: HASL or ENIG
  • Compatible: JLCPCB, PCBWay, OSH Park

cnc/

CNC machining files for enclosure fabrication (G-code, DXF).


keyshot/

Photorealistic renders for documentation and marketing.


Software Tools

This project was designed using the following software:

  • KiCad (latest stable version) - PCB schematic and layout design
  • Aspire 12.5 - CNC toolpath generation and G-code export
  • OnShape - 3D mechanical enclosure design
  • KeyShot - Photorealistic rendering

All design files are provided in their native formats as well as exported to common interchange formats (PDF, STEP, DXF, Gerber) for maximum compatibility.


3D Model (OnShape)

Public OnShape CAD Model:

https://cad.onshape.com/documents/a6b73f1c7a20e07680bfab81

Includes:

  • Complete enclosure design
  • Mounting holes for all components
  • Panel cutouts
  • Export-ready for 3D printing or CNC

Bill of Materials (BOM)

Electronic Components

ComponentQuantityPart NumberNotes
Teensy 4.11TEENSY41Must have 8MB PSRAM
ILI9341 Display12.8" 320x240SPI interface
Rotary Encoder (smooth)8Bourns PEC11R-4220F-S002424 PPR + button
Rotary Encoder (detented)1Bourns PEC11R-4220K-S002424 PPR + button
Optical Encoder1E38S6G5600 PPR
Tactile Buttons (panel)66mm tactile switchPanel-mounted
Encoder push switches (integrated)9Included with PEC11R encoders8 macro pushes via multiplexer; NAV push direct on MCU pin 32
CD74HC40671CD74HC4067Multiplexer IC
USB-B Connector1Standard USB-BChassis-mounted

Estimated Cost: ~€80-100 (excluding enclosure)


Manufacturing

PCB Fabrication

Recommended: JLCPCB

Gerber Files: pcb/kicad/gerbers/


CNC Machining

Materials:

  • Front panel: Plywood 5mm + 2 thin wood layers 0.6mm
  • Bottom panel: Plywood 5mm
  • Enclosure: Birch plywood 12mm

Assembly Guide

  1. PCB Assembly - Solder components, install Teensy 4.1 (verify PSRAM!)
  2. Enclosure Prep - CNC mill or 3D print parts
  3. Final Assembly - Mount display, encoders, buttons, PCB
  4. Testing - Flash firmware, test all inputs

Detailed assembly instructions: See wiki (coming soon)


Related Repositories


License

Licensed under CERN Open Hardware Licence Version 2 - Strongly Reciprocal (CERN-OHL-S-2.0).

What This Means

✓ You MAY:

  • Manufacture for personal use
  • Modify and improve the design
  • Share modifications (same license)

⚠ You MUST (if commercial):

  • Publish all modifications
  • Keep the same license
  • Provide attribution

✗ You MAY NOT:

  • Sell without publishing design files

See LICENSE for full terms.


Important Notes

PSRAM is Mandatory

⚠ Teensy 4.1 MUST have 8MB PSRAM soldered on underside pads.

Without PSRAM, firmware will NOT run.

Purchase: https://www.pjrc.com/store/psram.html


Support

Issues: GitHub Issues

Commercial Licensing: contact@petitechose.audio


Built by petitechose.audio

Parts

138
QtyValueFootprintReferences
37PESD5V0L1BA,115KiCad:SOD2512X110ND1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +21
28100nFPCM_JLCPCB:C_0603C1, C2, C3, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C38 +12
9MIDI_Encoder_PEC11Rmidi_controller:PEC11R4220FS0024ENC_MECH1, ENC_MECH2, ENC_MECH3, ENC_MECH4, ENC_MECH5, ENC_MECH6, ENC_MECH7, ENC_MECH8, ENC_MECH9
7100nFPCM_JLCPCB:C_0805C25, C26, C28, C30, C32, C34, C36
6Conn_01x02_Socketmidi_controller:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical_JLC_ConstraintsJ4, J5, J7, J9, J10, J11
6TestPointmidi_controller:TestPoint_Pad_1.0x1.0mmTP1, TP2, TP3, TP4, TP5, TP6
6~midi_controller:PV0H24011_PushbuttonSW1, SW2, SW3, SW4, SW5, SW6
4100Resistor_SMD:R_0603_1608MetricR2, R3, R4, R5
433ΩPCM_JLCPCB:R_0603R1, R6, R7, R8
4~PCM_JLCPCB:FB_0805FB1, FB2, FB3, FB4
310uFPCM_JLCPCB:C_0805C4, C31, C35
3220Resistor_SMD:R_0805_2012MetricR9, R11, R12
21nFPCM_JLCPCB:C_0603C24, C37
247uFPCM_JLCPCB:C_0805C27, C33
2Conn_01x24_Socketmidi_controller:PinSocket_1x24_P2.54mm_VerticalJ3, J6
1100pFPCM_JLCPCB:C_0603C22
1100uFPCM_JLCPCB:C_1206C23
110nFPCM_JLCPCB:C_0603C29
11kResistor_SMD:R_0805_2012MetricR10
1220Resistor_SMD:R_0603_1608MetricR13
16N137Package_SO:SOP-8_6.605x9.655mm_P2.54mmU2
174HC14D,653PCM_JLCPCB:SOIC-14_L8.7-W3.9-P1.27-LS6.0-BLU3
1CD74HC4067MPackage_SO:SOIC-24W_7.5x15.4mm_P1.27mmU1
1Conn_01x05midi_controller:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ8
1Fusemidi_controller:Fuse_0805_2012MetricF1
1MIDI Inmidi_controller:Jack_3.5mm_CUI_SJ1-3533NG_HorizontalJ1
1MIDI Outmidi_controller:Jack_3.5mm_CUI_SJ1-3533NG_HorizontalJ2
1MIDI_Display_MSP2807midi_controller:MSP2807_ILI9341_DisplayDISP1
1MIDI_Encoder_E38S6G5_Opticalmidi_controller:E38S6G5_Optical_EncoderENC_OPT1
1MIDI_Teensy4.1midi_controller:Teensy41_MechanicalMCU1

More from petitechose-midi-studio/hardware

1
  • 2 layers22.2 × 66.3 mmTeensy 4.1 Male Headers, the printed circuit board in 3D

    Teensy 4.1 Male Headers

    petitechose-midi-studio/hardware

    Open-source hardware design files for the MIDI Studio controller.

    3 parts1

Similar boards

  • 2 layers31.5 × 46.3 mmAirspeed SensorBoard, the printed circuit board in 3D

    Airspeed SensorBoard

    pms67/Airspeed_SensorBoard

    Differential pressure sensor breakout board with STM32 (I2C-to-SPI) interface.

    43 parts17MIT
  • 2 layers52 × 18.5 mmMfi, the printed circuit board in 3D

    Mfi

    signalius/MFI_Chip_Rpi_Hat

    Raspberry pi HAT for MFI chips MFI343S00177 and MFI337S3959

    17 parts13
  • 2 layers113.5 × 35 mmPanthera stm32, the printed circuit board in 3D

    Panthera stm32

    passinglink/pcb

    PCB designs for use with Passing Link

    47 parts4MIT
  • 2 layers51 × 46 mmRFAmp, the printed circuit board in 3D

    RFAmp

    signalius/RFAmplifier_GALI-84

    RF Amplifier based on GALI-84 powered from USBC

    35 partsGPL-3.0
  • 2 layers185 × 60 mmPI keys, the printed circuit board in 3D

    PI keys

    MonkeyCodeMen/ULC-Pico-C-Code

    ULC - Pico universal light controller with Rasperry Pico

    33 parts1MIT
  • 2 layers312 × 140 mmTsynth2 Rev1.3, the printed circuit board in 3D

    Tsynth2 Rev1.3

    Electrotechnique/TSynth-Teensy4.1

    TSynth for Teensy 4.1

    108 parts182
  • 2 layers422.4 × 118.2 mmMidiMood (tht), the printed circuit board in 3D

    MidiMood (tht)

    silveirago/MidiMood

    This repository contains the code for a custom MIDI controller project called MidiMood, built using an ATmega32U4 microcontroller (or similar).

    53 parts82
  • 2 layers248.9 × 120.7 mm16nx, the printed circuit board in 3D

    16nx

    16n-faderbank/16nx

    16nx is a controller for musical instruments. Sixteen faders,MIDI over USB and jack, CV out, and I2C out. Based around RP2040.

    171 parts76

Questions

How big is the Midi controller PCB?

It measures 164 × 164 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Midi controller use?

138 parts, built around the CD74HC4067M and PESD5V0L1BA,115-ES. 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 Midi controller KiCad files?

From the petitechose-midi-studio/hardware repository on GitHub, at the commit this page was made from: the board is pcb/kicad/midi_controller.kicad_pcb and its schematic pcb/kicad/buttons_momentary.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Midi controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask petitechose-midi-studio before reusing the design.