Designing and building a MIDI controller


Create your own design objective and design it following a three step design process consisting of the phases connect, concept and create. The objective’s deliverable and design methods have to be outside your comfort zone


Concepting, Interaction Design, Process, Product Design, Prototyping, Arduino, Ableton Live, MIDI, Vacuum Former, Soldering

The Idea

With this project I wanted to combine interaction design with my other passion: music. Based on my live performance experience with Ableton Live(software) and a MIDI controller soon came the idea to design and build my own controller. This was a great opportunity for me to design a real product and challenge myself both in the area of design and prototyping. In order to do this I had to step outside my comfort zone and learn about product design, electronics and programming.


So, what is MIDI? MIDI stands for “Musical Instrument Digital Interface” and is a protocol used by a variety of devices like synthesizers, drum computers and computer software to communicate with each other.

In the context of this project the controller sends control values or note values to the software on the computer using rotary encoders, buttons and faders. The signals are then interpreted and used to control the parameters or notes of a digital music devices like a synthesizer.

Using a controller is more intuitive than using a mouse and keyboard, giving the musician space to enhance his creativity and workflow.


Bases on the capacity of existing controllers and my own competencies I came up with the idea to design an add-on controller to use next to an APC40 controller by Akai. Adding the controller to a setup with an APC40, the user has more control over his effects.

This concept was realistic and still a challenge. It consists of three rotary encoders with a LED ring. The encoders are used to control specific effects and the LED rings function as value indicators. Using a big push button the user can reset the values to their preset values

Product Design

I started by drawing different perspective sketches. They were rough idea’s on the form and properties of the first controller idea. Because the sketching didn’t trigger my creativity I very soon went to 3D modeling sofware called Cinema 4D. I never worked with the sofware before, but its ease of use and powerful rendering engine were great for generating new idea’s and designs. After digitising the first idea’s and tweaking it over and over again I got to the final design for my controller.


I used the Arduino Uno to develop a functional prototype of my designs. The Arduino Uno prototyping board uses a simple programming interface to create prototypes on the fly. It is capable to communicate with other devices using usb and it has multiple digital and analog I/O’s.

In combination with a push button, a rotary encoder and some additional software my functional prototype came to life.

Final Product

As you can see the final product is a simple version of the initial design. Using just one encoder and a push button was challenging enough and gives a good impression of the core function of the product.

I used the 3D model and a milling machine to create a high density foam version of my design. With this foam model I was able to form a plastic casing using a vacuum forming machine.oller.