Test video + project update

A project log for DIY USB MIDI controller MPC style

An MPC style MIDI controller featuring a 4x4 FSR matrix and based on Teensy 3.0, fully compatible with the Teensy Audio Adaptor Board

Michele PerlaMichele Perla 08/16/2014 at 07:480 Comments

Hello there,

In this log I'd like to share with you a few more photos of the construction process of the first revision of this MIDI controller as well as a video which shows the very basic functionality of it. In the video you can see me mashing on a few pads with Reason opened on my PC and interpreting MIDI signals into actual samples. Sorry for my lack of my abilities, but playing with one hand and with a phone in the other is no easy task :)

Here's the link:

In between the photos you shall find two photos of the new pads I've ordered, which are took from an used Akai MPC and which will be used in the second revision of the controller; this is due to a few issues I have found in the construction:

- The pads are not reliable; the mouse pad is not a very good pad surface, not very playable, and the copper stripes that compose the sensors are too big and spaced, so if you move the finger on a pad while holding it pressed it gives false triggers

- The sensor sensitivity is somewhat bad, because cardboard is too light and gives zero support to the sensors; therefore most of the pressure applied on the sensor is consumed in flexing the cardboard rather than transferred to the sensor

- The electronics are faulty, mainly because I messed up some pad wiring, the mux board does not plug very well on the breadboard which hosts the Teensy and keeps disconnecting when playing, and the cheap oscilloscope probe I'm using adds up to this mess

So I am thinking of some major mods, which are the following:

- Printing the pads on PCB(s), to have more dense copper stripes which means increased sensitivity

- Fixing the pads on a somewhat thick wooden surface, to give it the necessary support so that most of the pressure applied will transfer to the pads

- Using rubber molded pads to further increase reliability; these pads will be provided with velostat pieces under each pad so to provide ffunctionality as it is now with the mouse pad

- Using another PCB to host the mux, the Teensy and other complementary stuff, which will of course connect in some fancy way to the separate sensor board(s)

- Leaving some space for some control goodness like potentiometers which are mandatory in every respectable MIDI controller

On the software side, right now there is not much happening, MIDI notes are sent for each pad starting from C1 which is note 24 and adding the index of the pad, which are logically organized as a row, so adding up from 0 (upper leftmost corner pad) to 15(lower rightmost corner pad). The thing that I found frustrating is to have to reprogram the pads each time I want to change notes, moreover having to write conditional code if I wanted one specific pad to send a note which is not the standard one; also, I'd like to have more advanced functionality like auto retrigger of a note while holding it; so there are the mods I will implement on the software side:

- Setting notes on the run using a PC software which will use serial communication, probably written in Java and using javarxtx-lib; this will also be used to set other parameters, such as selecting digital or analog behaviour for each pad.

- Implementing the above stuff in firmware, of course! That is to say, implementing a serial based communication protocol with a command set, and implementing the various controllable functions

- Adding an internal metronome

- Adding retrigger functionality which will rely on the above metronome

 Right now the code is still not available as it is quite bugged because I tried with little success to implement the serial comm with the PC. I will clean it up and pass it on to the masses ;)

Stay tuned!