13Keys
A compact MIDI input device based on mechanical keyboard architecture, designed for use with desktop music notation software.
The Problem
Using music notation software is a lot easier with a piano-style keyboard input—being able to “type” musical notes directly into the software saves a lot of clicks. But typical piano-style keyboards are overkill for this task, both in size and features. Even with the smallest keyboard I had around, it was still ergonomically terrible to use in combination with my computer keyboard and hard to fit on my desk.
What if I had an extremely compact, one-octave midi input device that was more like a typing keyboard than a piano keyboard?
Design Iteration
Starting with a simple 3D model, I used Vizcom, a generative AI tool, to create quick CMF variations before building out detailed CAD.
Electronics and Architecture
I learned KiCad for this project and designed my first custom PCB. I was able to fit a tiny Seeed Studio Xiao microcontroller in between the black keys to avoid increasing the footprint beyond the key layout. The keys are wired in a 5x3 matrix with diodes to reduce the number of input pins. I also included a rotary encoder knob to allow quick octave shifting.
V1 Build
The first working prototype!
Testing live playing. The code supports octave shifting and simultaneous key presses.
V2 Redesign: Scaling Up
I came away from the first build with a wishlist of features and improvements. In the V2 redesign, I added hot-swappable keys, simplified the architecture and assembly strategy, and optimized both the PCB and the housing for a small-scale production run. I also started exploring new CMF directions, including translucent plastic