ControllerMan S6 - Arduino Midi Programmable Stomp
Introduction: ControllerMan S6 - Arduino Midi Programmable Stomp
The moment you start looking for a midi controller is the same as you start having to study how the midi protocol works. Normal people would look for the midi controller that suits them but the Maker is not satisfied and wants to do more: this is why we are here. Arduino is a great platform to control the midi protocol and you just need few more components to make it working. Then, you have to choose what to do to get the best.
You need to choose the right size to get the best compromise between space and functionality. I can say that more is better but not everything is necessary at the same time so I decided to create the Layouts. In this project you have six buttons but switching trough four layouts you can have 24 virtual buttons! Every layout is identified by a color (red, green, cyan and purple) and the RGB led lets you know anytime where do you are. And this is just the begin because every button can be configured to support Double-tap and Long-tap functions so, in a single layout you can access up to 18 functions as well.
You also need to know what a button does and this is the begin of the problems so becomes necessary to use a display. A large display lets you read everithing when you are standing.
Every component has been purposely choosen to be easily available on the web.
Supplies
* Arduino nano with terminal adapter;
* 1590DD alluminum chassis (187x119x33);
* LCD Display 128x64 ST7920 5v;
* 6 momentary stomp box buttons;
* 1 RGB led common cathode;
* sockets for Midi and power;
* socket for 9v power and a 1N4001 diode for for reverse power protection (any 1n400x series will be fine);
* screws and PCB spacers;
* drill and fretsaw
* The source program: https://github.com/mrandisi/controllerman
Step 1: Let's Get It Started!
Once you've got the components, you need to do a great job to drill the aluminum box. It needs a lot of manuality to do it so I decided to give only the major guidelines.
To begin, sign with a pencil the button positions to make the hole. Make sure that internally you have space for the bolts: the box has the beams for his screws! Afterwards you can choose the right position for the display keeping in mind to left space for the Arduino socket on one side and the RGB led on the other. Make the same for the sockets on the back panel. A new set of drill bits for metals will be you best friend to cross the aluminum without effort.
Step 2: Drilling the Box
To make the holes begin from a small one. Enlarging it will let you keep the center with more precision.
The worst comes with the display's hole. 769
You need a fretsaw and a lot of patience. I suggest to divide the work in two or three days. Make sure to design well the footprint, you will not have a second chance! To begin you must first make a hole with the drill. Then remove the blade from the hacksaw and reassemble it by passing it through the hole.
Installing the display, make sure that is in line with the surface of the box. To protect the display, cut out a phone film large enough to cover the entire hole. Apply some strips of double-sided tape around the display frame, then attach the film - dust will no longer be a problem.
You can download here the graphics: https://bit.ly/CMS6Graph
Print a low quality preview before the final sticker, to make sure it fits well. You can edit it with Gimp to let your printer realize the perfect size. Take the cutter and make a hole for the display. Don't be in a hurry to attach it - make sure all the front screws have been mounted.
Step 3: Install the Source Program on Arduino
To proceed you need the Arduino IDE: go to https://www.arduino.cc/en/software and get the right one for your platform if you haven't done so yet.
You also need the controllerman program. Get it on https://github.com/mrandisi/controllerman . It contains the main program controllerman.ino and two library headers with the implementation inside: DeviceSettings.h and Display.h .
Copy the controllerman folder to your arduino projects folder and open it into the IDE. Some libraries are missing, install them clicking the top menu Tools > Manage Libraries. If no error occurs you will be able to upload the sketch using the top-left arrow. 379