We wanted to create a functional MIDI keyboard that we could play during the pandemic, and sought to make it work in sync with a DAW-we both have a love for music and creation, which made the project that much more rewarding to do.

What it does

MIDUINO plays sounds in a functional octave on a keyboard. Four of the keys work perfectly, and the others tend to glitch. The keys go through a switch matrix onto an Arduino, which then transmits information to a computer with a DAW, which then emits sound.

How we built it

We custom designed, routed, and soldered our own PCB, then placed that within pre-bought housing and wired the board to the Arduino, which then fed information into a USB cable to the computer.

Challenges we ran into

The membrane switches had a lot of mechanical issues, as they would debounce often and the way they bent made it ridiculously difficult to consistently control the detection. We also forgot to order components, so we had to solder 64 through-hole diodes into 0603 pads on our PCB over the course of one day, which took quite a bit of time!

Accomplishments that we're proud of

We are quite proud of our custom designed PCB and the switch matrix we created. We are also quite proud of our minimum viable product, which was a fully velocity sensitive prototype using push-buttons on a breadboard that worked perfectly as intended.

What we learned

This project was a tremendous learning experience, and we had a lot of fun throughout the process. We learned about switch matrices, hex flashing, programming with Atmel Ice, PCB Design, membrane switches, pad design, and integration between mechanical, electrical, and software parts.

What's next for MIDUINO

As a next step, we of course could continue to refine the keyboard and try to implement all of the keys in the 3-octaves we wanted. We could also try to fix the faulty keys in our functional octave before moving on to the rest. Additionally, we could try the new software capturing implementation, and also move it from an Arduino to a more commercial and professional microcontroller. Finally, we could also order components and solder the correct surface mount pieces onto the board.

Built With

Share this project: