# The BIG Arduino MIDI controller thread

**URL:** <https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069>\
**Category:** Hardware: Controllers, Mods and Gear\
**Created:** [December 14, 2010, 9:38pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069 "2010-12-14T21:38:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [December 14, 2010, 9:38pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/1 "2010-12-14T21:38:59Z")

</div>

**The BIG Arduino MIDI controller thread**

Seen a lot of people on here talking about setting up a midi controller based on Arduino recently so thought it might be an idea to get all the relevant information collected into one thread.

Here’s some useful links:

> [@](#):
>
> This is the Arduino basic tutorial on how to get midi up and running: [http://arduino.cc/en/Tutorial/Midi](http://arduino.cc/en/Tutorial/Midi)

[quote]This is some Arduino code that will get 8 potentiometers working:

> **[Eight Pots to MIDI CC Data](http://little-scale.blogspot.com/2008/07/eight-pots-to-midi-cc-data.html)**
>
> I have been helping someone out to multiplex eight pots to MIDI CC data. This setup has been tested and found working. Hardware Setup The ha...

video of it in action:

> **[8 midi pots on an arduino](https://www.youtube.com/watch?v=X7wJDpk_yoA%5B%2Fquote%5D)**
>
> It does what it says on the tin. 8 pots being read by a 4051 with an arduino making some sounds.

> [@](#):
>
> This is a thread with Arduino code to get 6 potentiometers working: [http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1165833586](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1165833586)

> [@](#):
>
> Here is someone who built a basic Traktor arcade controller using Arduino (includes code): [http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282913420](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282913420)

> [@](#):
>
> Arduino midi over usb: [shiftmore: Quick and Dirty Arduino Midi Over USB](http://shiftmore.blogspot.com/2010/01/quick-and-dirty-arduino-midi-over-usb.html)

> [@](#):
>
> Quite an insightful thread on getting a midi controller working and discussion of analogue multiplexers: [http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264607305](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1264607305)

> [@](#):
>
> 48 analog inputs/digital inputs/digital outputs (in combination): [http://mayhewlabs.com/arduino-mux-shield](http://mayhewlabs.com/arduino-mux-shield)

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [December 14, 2010, 9:43pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/2 "2010-12-14T21:43:29Z")

</div>

Ideally, what would be perfect, is if someone could write some Arduino code that will allow x number of potentiometers/buttons and that everyone can use on their controllers (without having to go the HID/midi route or hack a joypad to pieces!)

---

<div class="post-metadata">

**Author:** ![extraclassic](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/extraclassic/32/14405_2.png) [@extraclassic](https://forum.djtechtools.com/u/extraclassic)\
**Post date:** [December 14, 2010, 10:54pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/3 "2010-12-14T22:54:45Z")

</div>

Good idea Milo - I’ve been thinking about having a go at an Arduino based project but the programming side puts me off a tad.

> [@](#):
>
> Ideally, what would be perfect, is if someone could write some Arduino code that will allow x number of potentiometers/buttons and that everyone can use on their controllers (without having to go the HID/midi route or hack a joypad to pieces!)

That sounds awesome. Lets hope someone fulfills the request

---

<div class="post-metadata">

**Author:** ![Archies\_bald](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/archies_bald/32/15065_2.png) [@Archies\_bald](https://forum.djtechtools.com/u/Archies_bald)\
**Post date:** [December 15, 2010, 9:04am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/4 "2010-12-15T09:04:05Z")

</div>

> [@extraclassic](#):
>
> Good idea Milo - I’ve been thinking about having a go at an Arduino based project but the programming side puts me off a tad.
> 
> That sounds awesome. Lets hope someone fulfills the request

Me too. I’m not even a novice at programming. As I’ve said before, I don’t think I’m willing to learn a new language just to build a controller, it’s just not time/value efficient for me.

If someone was willing to help out the forum, then that would be pretty awesome.

---

<div class="post-metadata">

**Author:** ![Morpse](https://avatars.discourse-cdn.com/v4/letter/m/b9e5f3/32.png) [@Morpse](https://forum.djtechtools.com/u/Morpse)\
**Post date:** [December 15, 2010, 1:29pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/5 "2010-12-15T13:29:53Z")

</div>

I built a clone of a midi fighter out of an arduino and the usb to midi hack listed above. It wasn’t too hard to pull off. Mine has no LEDs on it though, I ran out of digital pins and didn’t want to mess with a multiplexer. I didn’t think to take pics while I was making it, but I should be able to write something up on the process if anyone is interested. The hardware side of it was pretty straightforward. Programing it wasn’t too bad, but I had to refer to a lot of example code to get it right.

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [December 15, 2010, 2:57pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/6 "2010-12-15T14:57:25Z")

</div>

nice one man 🙂

I think the key for most people is getting the multiplexer working with some decent code that doesn’t introduce too much latency. At least 16 analogues would be nice…

---

<div class="post-metadata">

**Author:** ![chrisw](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/chrisw/32/14968_2.png) [@chrisw](https://forum.djtechtools.com/u/chrisw)\
**Post date:** [December 17, 2010, 7:01am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/7 "2010-12-17T07:01:36Z")

</div>

milo you seen this? [http://www.modk.it/](http://www.modk.it/)

more user friendly?

> **[Lab: MIDI Output using an Arduino – ITP Physical Computing](https://itp.nyu.edu/physcomp/labs/labs-serial-communication/lab-midi-output-using-an-arduino/)**

---

<div class="post-metadata">

**Author:** ![Archies\_bald](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/archies_bald/32/15065_2.png) [@Archies\_bald](https://forum.djtechtools.com/u/Archies_bald)\
**Post date:** [December 17, 2010, 8:28am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/8 "2010-12-17T08:28:18Z")

</div>

That look very interesting Chris, thanks for the heads up. I’m sure a lot of people will like the look of that!

---

<div class="post-metadata">

**Author:** ![chrisw](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/chrisw/32/14968_2.png) [@chrisw](https://forum.djtechtools.com/u/chrisw)\
**Post date:** [December 17, 2010, 8:31am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/9 "2010-12-17T08:31:37Z")

</div>

> [@Archies\_bald](#):
>
> That look very interesting Chris, thanks for the heads up. I’m sure a lot of people will like the look of that!

archies i also just found this site.

lists all the schematics for console controllers [Joystick Controller - PCB and Wiring](http://slagcoin.com/joystick/pcb_wiring.html#PCB_ATTRIBUTES)

also the start button and select button are analog too so 2 analog inputs?

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [December 20, 2010, 1:30pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/10 "2010-12-20T13:30:38Z")

</div>

nice one chrisw - i’m almost certainly gonna pick up an Arduino in the new year… gonna be quite a steep learning curve but it’s worth a shot (considering the price).

---

<div class="post-metadata">

**Author:** ![DjWindzOne](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/djwindzone/32/15115_2.png) [@DjWindzOne](https://forum.djtechtools.com/u/DjWindzOne)\
**Post date:** [December 22, 2010, 7:58pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/11 "2010-12-22T19:58:29Z")

</div>

Invaluable pieces of information that I could have used MONTHS ago!!! Good work Mil0!

Mods. . .Can we get this Stickied?

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [December 28, 2010, 4:03pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/12 "2010-12-28T16:03:26Z")

</div>

Arduino Mux Shield (48 analogue/digital I/O) - [http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248736243/0](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248736243/0)

---

<div class="post-metadata">

**Author:** ![bobsagat666](https://avatars.discourse-cdn.com/v4/letter/b/6a8cbe/32.png) [@bobsagat666](https://forum.djtechtools.com/u/bobsagat666)\
**Post date:** [January 19, 2011, 5:29am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/13 "2011-01-19T05:29:02Z")

</div>

**Direct MIDI over USB**

So I finally got this working in Windows XP (looks to be a workaround for OSX as well). The following steps allow you to pass midi info via USB into your apps utilizing the Roland Serial to MIDI driver. This setup negates the need for an additional app running to convert serial to midi (i was using this program) I pulled the info from here: [http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1161023163](http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1161023163)

1. Uninstall your FTDI driver (look in the Arduino drivers folder for FTDIUNIN.exe and be sure to run it in Windows 2000 compatibility mode).

2. Download this and replace FTDIPORT.INF in your Arduino drivers folder

3. Plug in your Arduino and reinstall the now modified FTDI driver (direct it to your arduino drivers folder)

4. Download the Roland driver and install it. I unchecked the box that said something about “use multiple drivers” and left it set to COM 3

5. IMPORTANT!! Set your serial.baud rate in your sketch to 31250

6. Make sure your sketch is serial.printing in the appropriate MIDI format (many topics over in arduino forums)

7. Now open your app and direct it to the Roland MIDI IN

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [January 19, 2011, 7:15am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/14 "2011-01-19T07:15:59Z")

</div>

nice one! what kind of controller are you designing? how many analogues/buttons/etc?

---

<div class="post-metadata">

**Author:** ![bobsagat666](https://avatars.discourse-cdn.com/v4/letter/b/6a8cbe/32.png) [@bobsagat666](https://forum.djtechtools.com/u/bobsagat666)\
**Post date:** [January 19, 2011, 10:45pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/15 "2011-01-19T22:45:09Z")

</div>

> [@MiL0](#):
>
> nice one! what kind of controller are you designing? how many analogues/buttons/etc?

Its basically a midifighter (4x4 arcade button grid) with to sliders, a fader, and 2 thumbsticks (from an xbox 360 controller). Just have to get the code finished and the LED backlighting for the top 4 buttons. Im using a Arduino mega for the brain.

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [January 20, 2011, 3:34pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/16 "2011-01-20T15:34:31Z")

</div>

ah excellent! your code will serve well as the basis for other peoples controllers (if you’d care to share it?)

are the LED’s going to be midi activated or activated electronically (when a button is pressed, completing a circuit)

---

<div class="post-metadata">

**Author:** ![Fatlimey](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/fatlimey/32/12243_2.png) [@Fatlimey](https://forum.djtechtools.com/u/Fatlimey)\
**Post date:** [January 20, 2011, 7:54pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/17 "2011-01-20T19:54:11Z")

</div>

Here’s 8 analog pots going into a standard Midifighter through a CD4051B multiplexer.  
Better pictures in the Midifighter forum.

---

<div class="post-metadata">

**Author:** ![DjWindzOne](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/djwindzone/32/15115_2.png) [@DjWindzOne](https://forum.djtechtools.com/u/DjWindzOne)\
**Post date:** [January 20, 2011, 8:07pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/18 "2011-01-20T20:07:51Z")

</div>

> [@](#):
>
> Here’s 8 analog pots going into a standard Midifighter through a CD4051B multiplexer.

This is near exactly what I’ve been trying to do. :eek:

. . .I think I just sharted in my pants a lil!

What’s the max of inputs that can be used? Analog? Digital? How many can I add to a MF?

. . .Oh nevermind! . . I’m getting more and more excited and got more and more questions seeing this. . . .

---

<div class="post-metadata">

**Author:** ![MiL0](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/mil0/32/12337_2.png) [@MiL0](https://forum.djtechtools.com/u/MiL0)\
**Post date:** [February 7, 2011, 9:23am UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/19 "2011-02-07T09:23:36Z")

</div>

Ordered my Arduino a week ago but still hasn’t turned up lol (it’s a clone from Hong Kong so delivery is slow).

My ultimate aim is to get some code running that’s flexible enough in terms of inputs (analogues/digital/encoders/etc) that the whole DJTT community can download it and use it without too much tweaking. I’m also considering ordering a bunch of Arduino’s, pre-programming them and then re-selling on here them so anyone who’s scared of programming but good at design/building can get started straight away. (I don’t plan on making a profit, just a few quid to cover postage)

---

<div class="post-metadata">

**Author:** ![extraclassic](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/extraclassic/32/14405_2.png) [@extraclassic](https://forum.djtechtools.com/u/extraclassic)\
**Post date:** [February 7, 2011, 12:42pm UTC](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069/20 "2011-02-07T12:42:46Z")

</div>

Good Idea Milo.

I’m sure you will get a lot of interest.

Let me know when you get that arduino delevered because I’ve been thinking of getting the same one myself.

[Next page](https://forum.djtechtools.com/t/the-big-arduino-midi-controller-thread/17069.md?page=2)
