Result

SLIDE

IMAGE

IMAGE

IMAGE

IMAGE

IMAGE

IMAGE

IMAGE

Evaluation

I would consider the first spiral as successful, I may need to increase the tolerance a bit more because, as you can see in the video some keys rub onto each other.
Unfortunately I didn’t manage to build more modules but I’m trying to build some more in the next weeks and try to communicate with those.
Also I underestimated the needed work for my initial goal but I try to work on the project in the future and build a module for it implementing the initial functionality.

Goals for the future

  • Multiple Keyboard Modules controlled via I2C

  • Different modules on the back of the keyboard with e.g. rotary encoder, slider, buttons etc.

  • Display (LED, LCD) on the back to show notes or other things/games

  • Add the old-school MIDI port to the keyboard

Also currently there is always a XIAO needed or the modules, which is pretty inefficient material/recourse wise when you only want to use multiple modules as a keyboard.
So for a future 2.0 version it whould be nice to add the connection interface independent to the XIAO so you only need one of them for the actual MIDI-part.

BOM

Component

Product

Amount

Price

Vendor

PCBs

XIAO ESP32

1

9€

Reichelt

ATtiny412

1

0.8€

Reichelt

ATtiny1624

1

1€

Reichelt

Condensator 100nF

2

0.7€

Reichelt

Resistor 0 Ohm

1

0.06€

Reichelt

Resistor 4 kOhm

2

0.02€

Reichelt

PinHeader 3W

2

0.6€/10

Reichelt

PinHeader 5W

2

0.6€/10

Reichelt

PinSocket 3W

4

0.14€

Reichelt

PinSocket 5W

2

0.5€

Reichel

Housing

Magnets
6.36mm diameter
3mm height

12

0.33€

DigiKey

Screws M3 12mm

6

7.8€/100

Reichelt

Screws M2.5

7

2.35€/20

Reichelt

Screws M2

4

0.6€

DigiKey

Rubber bands

12

1€

Your local Supermarket

USB-C Cable

1

3.6€

Reichelt

Not Build Side Connectors

Connector FFC FPC 4W

4

4.75€

Reichelt

PinHeader 3W

1

0.6€/10

Reichelt

PinSocket 3W

1

0.14€

Reichelt

Screws M2.5

4

2.35€/20

Reichelt

Note

BOM is for one key board module.

Licence

Open Source MIDI Keyboard Copyright © 2025 Niclas Starost

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Git Repo: OSMK

Design Files