Hi everyone! This is an instruct-able for a 4 X 4 button midi pad controller with 3 functional side buttons, one rotary pot, and LED effects. Using the teensy 2.0 ++, we can send MIDI through USB. This allows your controller to work on Ableton and other music software

I used the dj tech tools teensy instructions for the soldering part but I added different features and buttons on my controller. My midipad is sending notes instead of CC values and the code is cleaned up to map to ableton. I recommend watching that tutorial while reading this one. Also side note, Pins 5, 6, and 7 do not work properly on my teensy so I skipped those pins and so buttons 5, 6, and 7, are attached to pin 20, 21, and 22.

I'll also include the python and configuration scripts to automatically map your controller.


19 30mmsawha arcade buttons

1 Teensy 2.0 ++ micro controllers

1 10k volume potentiometer

2 mini breadboards with ground and power rail.

1 Large pack of male to male jumper wires

1 Large pack of female to female jumper wires

9 adafruit flora 2.0 neopixels

1 6X6X2 inch box

I mostly did my shopping online and everything came out to be around 90 dollars. Ill get the full cost later. The most expensive parts were the arcade buttons believe it or not. Make sure to have your Teensy Bootloader installed on your arduino IDE. To do that just go to the PJRC website and under their download section, install Teensy Bootloader. This will allow your arduino IDE to run Teensy products and also change the output of your Teensy from serial to USB MIDI.

Step 1: Step 1: Soldering and Testing Sanwa Buttons

I soldered my sanwa buttons and tested my teensy on a breadboard first. The Sanwa buttons are pretty easy to solder. You have one pin for ground and one pin for the input. It does not matter which one is the ground and which one is the input. Then I soldered pin headers onto my teensy so that it can be used on a breadboard. You can also buy teensy that already have soldered pin headers for 2 to 3 dollars more.

I then tested the button inputs on my teensy on the arduino IDE and then on Ableton. If you are not modifying this project any way then, ignore the testing. You can just pull up my full code later in the instructable. Make sure to have your bootloader installed and change the board to your Teensy and the USB output to MIDI. This can be found under the tools section of your Arduino IDE.

Simple one button test arduino script:



int c6_note = 60;

Bounce test_button = Bounce(0,3);

void setup() {



void loop(){



usbMIDI.sendNoteOn(c6_note, 99, 3);



usbMIDI.sendNoteOff(c6_note, 99, 3); }



Run the code and load it to your teensy. Then attatch your arcade button input pin to the teensy digital pin 0 which is pin D0 on the teensy 2.0++. Ground the other wire. If everything is working properly, when you load ableton, when you press the button, ableton will let you know there is an input next to the MIDI field on the upper right hand corner.

Congrats you successfully sent a midi note to Ableton! You pretty much do this 19 times changing the Bounce parameters, pinMode, and note for each button.

<p>Very nicely done, thanks for sharing this!</p>

About This Instructable




More by JohnJ80:Custom MidiController 
Add instructable to: