Build this MIDI controller using an Arduino: Fliper Dj
First of all
My idea when I designed this guy was to have a controller that was great to trigger samples, launch clips, etc, but also was good to control a simples mixer, with two channels, containing volumes, crossfader, lows, mids and highs. I also like the idea of having different banks for the buttons, so I programmed one potentiometer, the one in the top, to select between for banks. Although I designed thinking in a mixer, you can map it however you want it. I think that the enclosure ended up quite nice too! And a great thing is that, using the Arduino Pro Micro, it can be a true USB-MIDI device.
Before you start, know that you’ll need some experience with soldering, and you should know how to use a multimeter to troubleshoot. I highly recommend you that you watch my free course the DIY MIDI Controller Workshop, where I teach the basics about the components, Arduinos, and how to use the Arduino IDE (the software we use to program our Arduino. And take a look also at our complete course, the Making Music with Arduino, the course where I teach about everything I know about making MIDI controllers, teaching you how to program, about all the electronics stuff and much more!
Here you can see it on Ableton Live!
Here you can see it on Ableton Live!
You should follow
Something really important: All the components are placed like you were seeing them upside down, with the exception of the breadboard. Wire your breadboard normally, but keep in mind that all the rest is upside-down. For example, your rotary potentiometers are upside down, so you should put the red wires in the left! Pay attention to the pictures.
That being said, watch this cool video about the creation process, and let’s get started!
1 The board
I found that the best way, for me, was using a solderable breadboard. A solderable breadboard is a pcb that comes configured exactly like a breadboard, but you can solder on it!
I chose the Arduino Pro Micro, because, as the Arduino Micro and Leonardo, it comes with the ATmega32U4 uC, which can be transformed into a real USB-Midi class compliant device. So, no other softwares or drivers are needed.
The cd4067 is an analog multiplexer, which means that we can multiplex the number of analog inputs in the Arduino. This way, we have all the inputs we need for this project.
1.1 Solder the Arduino to the male-male pin headers
1.2 Solder male-female headers into the solderable breadboard
1. Connect the male-female headers into the headers of the Arduino.
2. Snap in the solderable breadboard.
1.3 Solder the cd4067
1.4 Connect the jumpers
2 Rotary potentiometers
2.1 Solder the wires to the rotary potentiometers
2.2 Connect the potentiometers to the top of the enclosure
3 Slider potentiometers
4.1 Connecting the buttons
4.2 Soldering the wires
5 Soldering all the wires to the solderable breadboard
6 Mounting the controller
6.1 Mounting the pcb
6.2 Mount the spacers
6.3 Put everything together
6.4 Put the knobs into place
6.5 Put some rubber feet!
7 Program your Arduino
7.1 Download the necessary libraries
7.2 Install the right Arduino's IDE
7.3 Upload the code
With a micro usb cable, connect your Arduino to the computer.
Open the Arduino’s IDE.
Open the code that you downloaded.
Go to tools > board and select Arduino Micro.
Go to tools > port and select cu.usbmodem, or tty.usbmodem (Mac), or COM4 (Windows).
Upload the code, click in the right arrow, in the upper left corner.
8 Make some noise!
9.1 Your code doesn't compile
If it doesn’t compile, or it takes forever, try changing the port, from tty.usbmodem, to cu.usbmodem.
Make sure that you installed the right Arduino’s IDE and installed the USB-MIDI and Threads libraries correctly.
Take your USB cable off and put again.
9.2 Components not working
if you have just one button that’s not working, or just one potentiometer not working, probably it’s not well soldered in the pcb, it’s in the wrong place, or it’s a bad component.
If you have several components not working, like all the buttons from the 10th to the last one, the reason is probably because one of the common ground connections is bad. Use the multimeter to find the problem.
If you think that this controller is a little bit hardcore for you, I totally advise you to start with our free course, the DIY MIDI controller Workshop, where I start with a simpler prototype.
And if you want to get deeper and really learn how to create your own codes, or to understand how I create mine; how to design enclosures, and much more; check our complete course, the Making Music with Arduino!
That’s it guys, see you in the comments bellow!