Skip to the content
PCBKitNew board
2 layers97 × 71 mmMidi, the printed circuit board in 3D

Making a midi keyboard for half life week 3 following the guide

Size
97 × 71 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
20
Pads
70
Tracks, vias
108, 10
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
19 Oct 2026
Updated
7 Nov 2026

Overview

Midi is an open-source printed circuit board by emdcomputer-crypto, from the emdcomputer-crypto/Midi_Keyboard repository on GitHub. It is a 2-layer board of 97 × 71 mm with 26 parts on 20 nets, routed with 108 tracks and 10 vias.

Its parts include 5 switches, 1 IC and 1 connector. It belongs with the audio and music and keyboards and input boards and the ESP32 boards of this library.

README

README.md

7-Key Custom MIDI Keypad

This is my 7-key MIDI keypad project for Hack Club Half Life Week 3 It features custom capacitive touch pads mx switches, a rotary encoder, slide potentiometers. I used Kai Pereira's MIDI Keypad tutorial as a loose guide, but I customized the layout to make my own capacitive touch pads with a mix of rectangular and hexagonal shapes.

What I Learned & How I Built It

  1. Making the Capacitive Touch Pads: I designed the 7-key touch pads directly in KiCad's Footprint Editor. I made sure to uncheck F.Paste so solder paste won't be applied to the pads, leaving the copper exposed so it detects your finger. I also set a 0.5mm clearance gap between every key so they don't trigger each other.
  2. Routing the PCB: I routed all the signal traces by hand, sticking to smooth 45-degree bends instead of sharp 90-degree corners to avoid acid traps or whatever that is.
  3. Fixing DRC Errors & Ground Pour: I poured ground zones on both the top and bottom layers (F.Cu and B.Cu). I had a few "starved thermal" warnings where ground pads weren't getting enough copper spokes, so I ran short bridge traces from those pads to nearby ground areas. After that, DRC passed with 0 unconnected pads
  4. 3D Models: I set up the HACKCLUB_3DMODEL_DIR path variable in KiCad preferences so all the components show up properly in the 3D viewer.
  5. lack of gpio due to the lack of gpio pins i had to sacrifice the leds for an extra button wich i wanted.

Bill of Materials (BOM)

ItemCategoryPart DescriptionQtyPrice (USD)SupplierLink
1MicrocontrollerWaveshare ESP32-S3-Zero Dev Board1$9.88AliExpressLink
2KeycapsRelegendable Transparent Keycaps (10 Pcs)1 pack$4.66AliExpressLink
3SwitchesTactile Mechanical Switches (3-Pin MX)1 pack$4.70AliExpressLink
4EncodersEC11 Rotary Encoders w/ Push Button (5 Pcs)1 pack$3.53AliExpressLink
5Potentiometers30mm Single Slide Potentiometer B5K (3 Pcs)1 pack$1.94AliExpressLink
6PCBCustom PCB Fabrication5 pcs$4.00JLCPCBLink

Cost

  • Components Subtotal (AliExpress): $24.71
  • AliExpress Shipping & Import Fees: $25.40
  • JLCPCB (5 PCBs + Shipping): $17.48
  • --------------------------------------------------
  • Total Project Cost: $67.59 USD

Project Files

  • Hardware/Midi.kicad_sch — KiCad schematic
  • Hardware/Midi.kicad_pcb — KiCad PCB layout
  • Hardware/Midi.kicad_pro — KiCad project file
  • FabricationFiles/ — Gerber zip and fabrication files for JLCPCB also includes a .step file
  • Firmware/ — Firmware

Credits

  • Based on Kai Pereira's MIDI Keypad tutorial for Hack Club Half Life Week 3.
  • Built using footprints and symbols from the Hack Club KiCad Library.
1 15 14 13 12

Parts

26
QtyValueFootprintReferences
11LOGOlogos:starG***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G***
5LOGOlogos:boltG***, G***, G***, G***, G***
4SW_PushHackclubFoot:Kailh Choc Low-Profile SwitchesSW1, SW2, SW3, SW5
1LOGOlogos:brain2G***
1RotaryEncoder_Switch_MPRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW4
1SLIDER1Potentiometer_THT:Potentiometer_Bourns_PTA1543_Single_SlideRV1
1SLIDER2Potentiometer_THT:Potentiometer_Bourns_PTA1543_Single_SlideRV2
1TouchButtonsLibrary:KeysJ1
1Waveshare ESP32-S3-ZEROHackclubFoot:Waveshare ESP32-S3-ZeroU1

Questions

How big is the Midi PCB?

It measures 97 × 71 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Midi use?

26 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 Midi KiCad files?

From the emdcomputer-crypto/Midi_Keyboard repository on GitHub, at the commit this page was made from: the board is Hardware/Midi.kicad_pcb and its schematic Hardware/Midi.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Midi design in my own project?

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

Similar boards

  • 2 layers57.3 × 19 mm11ua, the printed circuit board in 3D

    11ua

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    26 parts990GPL-3.0
  • 2 layers98 × 59.5 mmMCP23017 PCB, the printed circuit board in 3D

    MCP23017 PCB

    hackclub/OnBoard

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

    26 parts915
  • 2 layers142.9 × 98.5 mmCantor MX, the printed circuit board in 3D

    Cantor MX

    diepala/cantor

    Cantor keyboard, a 42 key diodeless split keyboard.

    26 parts756GPL-3.0
  • 2 layers103.8 × 50 mmGalagino pcb set, the printed circuit board in 3D

    Galagino pcb set

    harbaum/galagino

    A Galaga, Pac-Man and Donkey Kong arcade emulator for the ESP32

    26 parts558
  • 2 layers20.3 × 34.8 mmL0 ESP32, the printed circuit board in 3D

    L0 ESP32

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    26 parts546MIT
  • 2 layers40.6 × 50.8 mmWALTsm, the printed circuit board in 3D

    WALTsm

    google/walt

    A device for measuring latency of physical sensors and outputs on phones and computers

    26 parts474Apache-2.0
  • 2 layers158.5 × 75 mmDoj v2, the printed circuit board in 3D

    Doj v2

    kelu124/echomods

    Open source ultrasound processing modules and building blocks

    26 parts463