Hey guys! I Hope you already enjoyed my previous project "Arduino CNC Plotter (mini drawing machine)" and you are ready for a new one, as usual I made this tutorial to guide you step by step while making this kind of super amazing low cost electronic projects which is the "Midi Controller".

During the making of this project, we tried to make sure that this instructable will be the best guide for you in order to help you if you want to make your own MIDI controller, so we hope that this instructable contain the needed documents.

This project is so handy to make specially after getting the customized PCB that we’ve ordered from JLCPCB to improve the appearance of our machine and also there is enough documents and codes in this guide to allow you create your midi controller easily.

We've made this project in just 3 days only, just three days to get all the needed parts and finish the hardware making and the assemble, then we have prepared the code to suit our project. Before starting let’s see first

What you will learn from this instructable:

  • Making the right hardware selection for your project depending on its functionalities.
  • Prepare the circuit diagram to connect all the choosen components.
  • Assemble all the project parts (mechanical and electronic assembly).
  • Setup the appropriate software for the midi controller.
  • start your own MIDI display.

Step 1: What Is a MIDI Controller

Picture of What Is a MIDI Controller

Picture of What Is a MIDI Controller

I was searching for this kind of instruments or a music related devices and I found some details about it across the internet regarding the description in Wikipedia "is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and related audio devices for playing, editing and recording music."

In addition, this kind of music device is based on two main parts which are the controller as a hardware and the music instruments player as a software and these parts should be connected somehow so each press on the hardware part should display a specific or a configured musical instrument note.

Step 2: The Hardware Part

Picture of The Hardware Part

Picture of The Hardware Part

Picture of The Hardware Part

Picture of The Hardware Part

Picture of The Hardware Part

In this tutorial we will take in charge the hardware part and we will create a Controller keyboard which has 12 push buttons for digital control and 6 potentiometers for an analog control so it is obvious that all the buttons will be used to display the notes and the potentiometers will control things like sound volume tone etc.

We have all these controllers connected to an Arduino Nano board which has all the necessary I/O pins to hold these inputs together, and through its USB connector it will be easy to send instructions from the controller to the software side, by the way I’ve picked my own Arduino nano from seeedstudio.com webstore where you can get this Arduino and more other electronic devices with some special offers, and I recommend this webstore as a supplier, so go there and check it there is lots of cool stuff out there.

For sure in order to make a better appearance for our MIDI controller, I have designed this box considering the size for the push buttons and the potentiometers and through a CNC laser cutting process I can produced the designed parts for my project.

Step 3: Circuit Diagram

Picture of Circuit Diagram

The heart of our Controller is an arduino Nano Dev board that will control the software part through some MIDI instructions, these isnstructions will be sent depending on the Inputs press. As I wrote in the project description section, we will use 12 arcade push buttons and 6 potentiometers, all these will be connected to Arduino considering the fuctionality of each controller.

The above circuit diagram show how to connect each controller to the board and there is a needed 1KOhm resistor out there for pull up so do not forget to use one, and I advice you to get back to this schematic while soldering all these components together...

Read more »