

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.md7-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
- Making the Capacitive Touch Pads: I designed the 7-key touch pads directly in KiCad's Footprint Editor. I made sure to uncheck
F.Pasteso 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. - 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.
- Fixing DRC Errors & Ground Pour: I poured ground zones on both the top and bottom layers (
F.CuandB.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 - 3D Models: I set up the
HACKCLUB_3DMODEL_DIRpath variable in KiCad preferences so all the components show up properly in the 3D viewer. - 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)
| Item | Category | Part Description | Qty | Price (USD) | Supplier | Link |
|---|---|---|---|---|---|---|
| 1 | Microcontroller | Waveshare ESP32-S3-Zero Dev Board | 1 | $9.88 | AliExpress | Link |
| 2 | Keycaps | Relegendable Transparent Keycaps (10 Pcs) | 1 pack | $4.66 | AliExpress | Link |
| 3 | Switches | Tactile Mechanical Switches (3-Pin MX) | 1 pack | $4.70 | AliExpress | Link |
| 4 | Encoders | EC11 Rotary Encoders w/ Push Button (5 Pcs) | 1 pack | $3.53 | AliExpress | Link |
| 5 | Potentiometers | 30mm Single Slide Potentiometer B5K (3 Pcs) | 1 pack | $1.94 | AliExpress | Link |
| 6 | PCB | Custom PCB Fabrication | 5 pcs | $4.00 | JLCPCB | Link |
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 schematicHardware/Midi.kicad_pcb— KiCad PCB layoutHardware/Midi.kicad_pro— KiCad project fileFabricationFiles/— Gerber zip and fabrication files for JLCPCB also includes a .step fileFirmware/— 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.
Parts
26| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | LOGO | logos:star | G***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G*** |
| 5 | LOGO | logos:bolt | G***, G***, G***, G***, G*** |
| 4 | SW_Push | HackclubFoot:Kailh Choc Low-Profile Switches | SW1, SW2, SW3, SW5 |
| 1 | LOGO | logos:brain2 | G*** |
| 1 | RotaryEncoder_Switch_MP | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW4 |
| 1 | SLIDER1 | Potentiometer_THT:Potentiometer_Bourns_PTA1543_Single_Slide | RV1 |
| 1 | SLIDER2 | Potentiometer_THT:Potentiometer_Bourns_PTA1543_Single_Slide | RV2 |
| 1 | TouchButtons | Library:Keys | J1 |
| 1 | Waveshare ESP32-S3-ZERO | HackclubFoot:Waveshare ESP32-S3-Zero | U1 |
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 mm

- 2 layers98 × 59.5 mm

MCP23017 PCB
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
26 parts915 - 2 layers142.9 × 98.5 mm

- 2 layers86.1 × 86.1 mm

- 2 layers103.8 × 50 mm

Galagino pcb set
harbaum/galagino
A Galaga, Pac-Man and Donkey Kong arcade emulator for the ESP32
26 parts558 - 2 layers20.3 × 34.8 mm

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 mm

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 mm
