Custom MIDI Controller Project

When four knobs just ain't enough.




This page will be a documentation for a project I'm working on: a custom MIDI controller. My goal in making this controller is to better mix music for DJ sets I'm working on.
Currently, I am using a Launchpad S and an Akai V49. Now, the launchpad is great for loading clips, but having to lug around a giant keyboard just to use four of the knobs is a bit unwieldly. So, seeing that I already had some motivation to learn about basic electronics and MIDI technology, it seemed like the solution to all these things.


Before even considering buying anything, I first had to know what I was going to do, and know it well at that. I'm usually a bit scrapped for coin so I wanted to make sure I would be prepared. After some time researching, the single most helpful resource was an article written by Gustavo Silveira.
Now, Silveira had some useful information in that article alone, but the largest contributor to my elevation in this field was a course he offered at the bottom of the page. Once you sign up for it, you have free access to a few videos that go into the basis of MIDI and arduinos and all that, but also showcases the nitty-gritty minutia that demonstrates just how much he had to scrape together from the corners of the web to create a proper functioning MIDI controller. I was fully expecting to have to do the same myself, but it looks like I could just ride Silveira's back and focus on the more fun aspects of a project like this. So, shoutout to him!


To construct a design for what I wanted in this controller, I used a program called Fritzing. It has all the proper arduino hardware loaded into its database as well as a number of other miscellaneous hardwre bits like potentiometers and switches and all that. Here's a photo of my original design.

Now, here is the list of parts I ordered:

When the Parts Arrived

After waiting a few weeks, I finally got all my parts in the mail. But, after an inevitable period of fussing around with the physical nature of the parts, I adjusted my original plan to its current form: