Skip to the content
PCBKitNew board
2 layers241 × 107.8 mmKiCad - MIDI controller, the printed circuit board in 3D

KiCad - MIDI controller

GLOXIOU/MIDI-controller-DIY2

A DIY project for a MIDI controller designed to control lights, featuring knobs, faders, and buttons.

Size
241 × 107.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
73
Nets
92
Pads
340
Tracks, vias
1,876, 286
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Sep 2026
Updated
3 Nov 2026

Overview

KiCad - MIDI controller is an open-source printed circuit board by GLOXIOU, from the GLOXIOU/MIDI-controller-DIY repository on GitHub. It is a 2-layer board of 241 × 107.8 mm with 73 parts on 92 nets, routed with 1,876 tracks and 286 vias.

Its parts include 23 switches, 20 diodes and 3 ICs. It belongs with the audio and music boards and the ESP32 boards of this library.

README

README.md

MIDI-controller-DIY

A DIY project for a MIDI controller designed to control lights, featuring knobs, faders, and buttons.

The project is designed to manage stage lighting systems with up to 10 faders, including a master one, 20 keyboard keys, 10 potards, and 3 rotary encoders.

The goal is to not pay hundreds of dollars for an already existing product, and learn! MIDI controller DIY is also intended to be a hardware platform for a future open-source lighting-control system.


Features

  • 20 usable keyboard keys
  • 10 faders
  • 10 potards
  • 3 rotary encoders
  • USB-C Output
  • Compatibility with all lighting control systems via MIDI
  • You can also use it as an instrument or anything else
  • Compact and portable design
  • Designed for DIY assembly and reproduction
  • Low-cost hardware

And the design is made to be upgradable/updatable easily if necessary, so it will be able to last over time.


Architecture

The ESP32-S3 is the central processor of the system. It handles USB-C communication and MIDI processing. To connect the ESP32 with all of the 43 components, there are 2 MUX units at the right of the box. 43 buttons, faders, etc., are fully customizable and you can use them as you want.


Hardware and BOM

The current design uses the following main components:

The complete component list is available in BOM.csv.


Processing and memory

I selected the ESP32-S3 because the project requires a bit of processing power for MIDI handling, though not a huge amount. That’s why it’s better suited for the task than a Raspberry Pi.

It is responsible for:

  • MIDI processing
  • USB-C Output
  • 43 component inputs

All the data, saves, and other settings are stored in the internal storage system of the ESP32.


MIDI

The MIDI controller is designed to support lighting control software like grandMA onPC, QLC+, or others via standard MIDI remote commands.

Each hardware input reads multiple analog faders, push buttons, and encoders through multiplexers or direct GPIO pins on the ESP32.

Standard USB-MIDI and serial communication protocols are used, handled by the hardware USB/UART interfaces on the microcontroller.

The MIDI data rate operates at standard MIDI baud rates or high-speed USB-MIDI.

For example, moving a physical fader transmits a Control Change (CC) message to precisely control lighting playback levels in software.


Components and enclosure

There is a PCB in this project because it's required. Here are all the components included:

  • ESP32-S3 x1
  • MUX CD4067BE in DIP-24 x2
  • Kailh Choc V1 1350 x20
  • RV09 B10K 9 mm vertical x10
  • EC11 through-hole with push-button x3
  • faders SC6021N B10K x10

Here's a screenshot of the PCB with some of the components:

image 33

The PCB file is here. And you can modify it using KiCad with this folder.

The case is 283mm x 250mm x 60mm, and is designed to perfectly house all components, be easy to install, not take up much space, and be durable.

Here's a look at it:

Image 52

Image 53

Image 54

Assembly file: assembly-Midi-controller-DIY.step
Print file: to print


Estimated cost

The current estimate is $85.09 of components. This does not include assembly, enclosure parts, future design changes, or the print filament that I already have.


Project journal

The development process is documented in JOURNAL.md.

It includes in-depth design, configuration, part of the code, enclosure design, BOM creation, and the problems encountered during development.


Inspiration and credits

The MIDI Controller DIY project was inspired by the GrandMa Wing.

The MIDI Controller DIY is an independent design developed from this inspiration.

Credits:

  • GrandMa Wing — inspiration for the project concept and overall goal of creating an affordable MIDI interface.
  • GrabCAD community — some 3D component models were used as reference geometry for the CAD assembly. The original authors retain ownership of their respective models:
    • ESP32-S3
    • MUX CD4067BE in DIP-24
    • Kailh Choc V1 1350
    • RV09 B10K 9 mm vertical
    • EC11 through-hole with push-button
    • faders SC1009G B10K

Parts

73
QtyValueFootprintReferences
201N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 +4
20Kailh Choc V1MIDI-controller:SW_Kailh_Choc_V1_1.00uSW1, SW2, SW3, SW4, SW5, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 +4
10RV09 10kPotentiometer_THT:Potentiometer_Bourns_PTV09A-1_Single_VerticalRV11, RV12, RV13, RV14, RV15, RV16, RV17, RV18, RV19, RV20
10SC1009G 10kConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalRV1, RV2, RV3, RV4, RV5, RV6, RV7, RV8, RV9, RV10
7M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4, H5, H6, H7
3EC11 (THT, switch)Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW21, SW22, SW23
2CD4067BEPackage_DIP:DIP-24_W15.24mmU2, U3
1ESP32-S3 DevKit N16R8MIDI-controller:ESP32-S3-DevKitC-1_44P_W25.4mmU1

Questions

How big is the KiCad - MIDI controller PCB?

It measures 241 × 107.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the KiCad - MIDI controller use?

73 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 KiCad - MIDI controller KiCad files?

From the GLOXIOU/MIDI-controller-DIY repository on GitHub, at the commit this page was made from: the board is KiCad - MIDI-controller/KiCad - MIDI-controller.kicad_pcb and its schematic KiCad - MIDI-controller/KiCad - MIDI-controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the KiCad - MIDI controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask GLOXIOU before reusing the design.

Similar boards

  • 2 layers131.2 × 132.5 mmMacropad, the printed circuit board in 3D

    Macropad

    earthtojake/text-to-cad

    Design physical products with AI

    73 parts26kMIT
  • 2 layers76 × 112 mmLaunch heavy, the printed circuit board in 3D

    Launch heavy

    system76/launch

    System76 Launch Configurable Keyboard

    73 parts1.4kGPL-3.0
  • 2 layers152.9 × 58.6 mmMini sequencer, the printed circuit board in 3D

    Mini sequencer

    hackclub/OnBoard

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

    73 parts915
  • 2 layers128.6 × 74.2 mmFUEL PANEL, the printed circuit board in 3D

    FUEL PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    73 parts431
  • 2 layers84 × 75 mmSmu amp 1, the printed circuit board in 3D

    Smu amp 1

    jaromir-sukuba/J-SMU

    DIY source-measure unit

    73 parts244
  • 2 layers62 × 60.5 mmChiller control, the printed circuit board in 3D

    Chiller control

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    73 parts208
  • 2 layers247.7 × 105.6 mmAsfoora, the printed circuit board in 3D

    Asfoora

    AlaaSaadAbdo/battoota

    Keyboards

    73 parts188
  • 2 layers157 × 90 mmErgoTravel, the printed circuit board in 3D

    ErgoTravel

    FIXMBR/ErgoTravelXT

    Portable, low profile keyboard with extra XT60s.

    73 parts130GPL-3.0