Arduino for making MIDI Control Surface

Hello. Please can someone help.

Q1: I have designed a MIDI control Surface to be used to control Logic Pro / Pro Tools / Cubase etc. And was wondering if the Arduino platform (chip and programming environment) is the most suitable platform for this. I have also heard of the MidiBox platform (chip and programming environment).

Can anyone advise as to which platform is the best for achieving my objectives. The control surface that I am designing will contain the following:

LED rings Rotary encoders motorized faders toggle push Buttons push buttons LED Bar graphs simple LED indicators motorised faders LCD displays

All controls used to give and receive data. Giving out data when a physical control is sent to the computer. and receive data when the control surface settings receive information from the sequencer.

Q2: Also, just out of interest (as I am very new to electronics) I presume that if such a device was contructed using one platform, that it would be possible to convert the project to an alternative platform if I were to replace the chip and programming.

My humble thanks to all that help.

I think your project might be a bit ambitious for a single Arduino. Your control surface objects represent a large number of I/O pins, so at the very least begin by looking at the Arduino Mega series. I then see a lot of tying together different modules and worrying about pin conflicts and such. You might be able to prototype each of the individual components of your control surface but putting the whole thing together into a cohesive whole will be tough.

You should probably begin with a big system block diagram of all the components you want and sketch how they will interconnect with each other, what protocols they will use (SPI? I2C?) how many I/O pins each one takes up, what kind of hardware resources are required for each (interrupts, timers, etc.)

As for converting from one platform to another, of course anything is possible if you replace the chip and replace the "programming", as you say. But it could be a fair amount of re-programming, as each microcontroller platform comes with its own set of peripherals and resource limitations.

Maybe start small and add things one at a time, then grow to a bigger system if necessary.

-- The Arduino Drum Machine: MIDI development system with 14-track MIDI drum machine sequencer / groove-box software

Thanks very much for the reply, I appreciate your help.
I shall take your advice and shall start small and gradually get more sophisticated / complex.

This was kind of my intention any way, as splitting the whole control surface up into modules
that each have their own independant USB connections to a computer would also allow me to develop
one module while putting into use the working module/s.

I partially understand that what you are saying with regards to conflicting pins, although, after looking at a number of MIDIbox projects, I know that larger projects are eventually possible.

Also, I have some experience in programming. Have some experience in Graphic Design. Have lots of experience in Sound Engineering. And a fair amount of experience in making/producing my own music.

I am also well focussed and good at self study. So, although my project is very ambitious, I think that great things are possible if one puts their mind to it.

Also, fundamentally, the majority of my project is of the same nature in that all aspects of the design are MIDI based. Whether the surface controls the computer, or the computer controls the surface.
So, I guess that from the outside the surface may look complex, within the design their is a great deal of repetition.

Still, I thank you again for your help as nothing beats the words of experience.
I have now brought several books on electronic / Pic microcontrollers / Arduino etc.
Would have brought a book on MIDIbox, but there are no dedicated books on the market, which forces new people to read their website, which, for some such as myself (I am dyslexic) is difficult to navigate, as the structure of the site is very non linear and isnt that logical.

Again, thanks.

I think that the arduino is actually pretty good for basic midi controllers, I've created several projects including a MIDI LFO and MIDI Sequencer. I'd recommend the mega, it's easier to get the MIDI working with the additional serial ports and also I find that serial displays work better with a real serial line. The mega has loads of I/0 so you could probably get a bunch of knobs and switches going without too much work:

I don't have any experience w/motorized faders.

There is very little work to get MIDI working with Arduino, to me the most work was getting the cable wired correctly.

Rather than use a mega I would add port expanders to a normal arduino, then as you add extra modules you can add more port expanders. This is one to set you off:-