Choosing arduino hardware.

Hi all,
I'm new here and I'm making a little 8 channel controller for audio software.

I've got the software side done in max/msp, and i'm shopping for an arduino setup that will provide the following.

29 digital inputs (switches for on/off)
24 digital outputs (leds for on/off status)
8 analog inputs (read motorised faders)
8 analog outputs (control motorised faders)

So that's 53 digital IO and 16 analog IO.

Can anyone offer a reasonably simple solution here.
Might go without saying, I'm an arduino noob.

Thanks in advance.

The Mega is the largest Arduino and it has 54 IO pins so it will fit the digital requirements at least. There are ways to reduce the pin count for the same # of out/inputs though.

No Arduinos have analogue out as such, you can however fudge it by using PWM and a low-pass filter.

It seems though that you will have to use at least one shield to get the extra IO, have a look at http://shieldlist.org

Getting extra analogue inputs is easy depending on the speed you need to sample, however if you are talking about sampling 8 audio channels, think again :slight_smile:

What exactly is this "8 channel controller" going to do? Maybe you can just MUX the signals.


Rob

Thanks for the reply.

I had looked at the mega. It does have enough digital IO for my requirements, but annoyingly adding any shield for analog, it will bring the digital io down below what i need again.

There's no audio sampling going on. It's just a hardware control surface for recording software. Like a mackie control/euphonix mc mix/similar.

I've kept it simpler than those though.
The 8 motorised faders will send a position signal (0-1023), and also receive the same from my software.

If i move a hardware fader, the one in my software moves, and vice versa.

I've assumed that digital IO is suited for on/off information, and analog is suited for ranges of values; Perhaps this isn't even the case?

Like a mackie control/euphonix mc mix/similar.

Sorry, that means nothing to me.

send a position signal (0-1023), and also receive the same from my software.

0-1023 whats? In what format? That's the important thing, you may not need analogue out at all.

I've assumed that digital IO is suited for on/off information,

That's true, there are limitations though.

analog is suited for ranges of values;

True as well but so can digital, it depends on the format these faders need.

Do you have a data sheet for them?


Rob

Whoa. I'm glad I asked Rob, thanks for this.

Maybe i've jumped the gun a little then.

I haven't chosen specific motorised faders yet, but AFAIK in terms of output, they're just a variable resistor.
I figure i put 5v through the fader and return it to my arduino input.

0-1023 is the resolution of my onscreen fader (what i'm planning to control).

I don't need to match is exactly or anything; As long as arduino can observe a reasonably high resolution (127 increments or more?) then i can scale it in my software and have a usable controller.

they're just a variable resistor.

In that case then just wire them between GND and 5V and use analogRead() to get your 0-1023 value. This can be mapped to a smaller range if you like.

The faders should not be too high a value, maybe 10k.

The only other thing then is how do you control them? Before you buy run the specs past us here.


Rob

Hi,
OK I understand what you are working on.

First thing is you have to really decide what motorized faders you will use. There are 3 or more generations of those out there, from the $$ Rupert Neve desks of 20 years ago, to small stuff today.

The only ones I was familiar with had a potentiometer (like another channel with the audio) which was feedback on position. Then "The Electronics" switched the motor on to drive the fader to the desired position. The big consoles I saw then moved the faders all at the same speed.
But that was 15+ years ago.

I bet there are totally digital networked faders now. You need to figure that out first..

So, to be clear, this is a "Control Surface" human interface that then connects into a desktop/whatever computer and controls the Audio Mixing and Control software running there, like Adobe Audition, xxxworks, N-Track, etc???

Graynomad:

they're just a variable resistor.

In that case then just wire them between GND and 5V and use analogRead() to get your 0-1023 value.

This has to be an analog input then yeah?

terryking228:
First thing is you have to really decide what motorized faders you will use.

The only ones I was familiar with had a potentiometer (like another channel with the audio) which was feedback on position. Then "The Electronics" switched the motor on to drive the fader to the desired position.

Hi Terry, thanks for joining in.

You're exactly right about what i'm making.

I'm looking at mid priced alps faders.

Not sure if links are allowed, but ebay item number 260720821692 is a fair example.

Your description of how they work sounds about right to me.

I just don't know what range of values the faders want to 'see' though.

I'm looking at mid priced alps faders.

Not sure if links are allowed, but ebay item number 260720821692 is a fair example.

Looking at the datasheet for that 'fader' ( http://avpg2.homepage.t-online.de/PDF/RSAON11M9_Spec.PDF ) it doesn't look like that is a complete fader solution for an arduino controlled fader application, as it only has one variable resistance element. You require two independent variable resistance elements that both change as the motor moves the physical position of the device. One element is needed to control the audio signal that you are trying to control and it's usually desirable for it to be a audio taper (log) type. The second element is required so that there is a variable feedback signal for the arduino to determine where the pot's position is and should be of a linear taper as that one is.

So I think you need to continue searching for a proper fader device for your application.

OK on the Alps faders. I have not used the motorized ones, but the similar manual ones went into this mixing console that I helped design:

The motor is nominally 10V and maximum of 400 to 800 ma at start. I Assume that the direction is controlled by polarity applied to the motor. So you need an H-bridge to drive it, like:
http://arduino-info.wikispaces.com/MotorDrivers

You don't HAVE to do PWM unless you want to want to control the speed of the fader movement. So you COULD control each motor with 1 bit for direction and one bit for ON/OFF. If you had enough PWM pins (like with a Mega) the On/OFF becomes the PWM speed control.

Do you have a good copy of the Spec. for the fader??

Horace Williams, Jr. who built the console shown in the link may have a suggestion for a source of Alps stuff. I know he had trouble getting them at a decent cost back in that day... like 15+ years ago.. I can ask him...

Make any sense??

@ retrolefty.
Thanks for the reply.
I think we're at cross purposes though.
There'll be no audio through my fader. It's purely being used as a control device.

@Terryking228
I'm looking at your second link, and what you say makes sense.

I guess i thought motor control was built into the faders already.
I thought the were capable of driving the motor based on a difference between input and output data.

It seems i need to research the faders themselves a bit more before choosing arduino hardware, but does what i'm describing exist do you know?

I'm 15+ years behind on Faders. I would suggest a zero-base search on motorized faders and maybe ask on the Google/Usenet Forums for Pro Audio.

Also you maybe be able to get schematics online for Mackie and Behringer and maybe other gear. See what they do.

As my friend Dr. Pricer at IBM, who had 100+ patents, used to say "It's dumb not to use a good idea, just because it wasn't YOURS!"..

@ retrolefty.
Thanks for the reply.
I think we're at cross purposes though.
There'll be no audio through my fader. It's purely being used as a control device.

It's quite possible I don't understand your usage of the 'fader'. My point is that the fader you linked to is just a motorized pot and the pot would have to wire just to the arduino if you wish the arduino to be able to move the fader by powering the motor to a desired position and stop. I guess the $10,000 question is what is the purpose of the fader in your application? What is it trying to 'control'? What role is the arduino going to perform?

Lefty

OK, thanks for the reply.

To clear up my intended use,

I do digital recording and use software that has an onscreen mixer with several faders etc.

I can buy and wire up eight hardware faders with an arduino, and program them to control the faders in my recording software no problem.

That's fine, but say i use the mouse to move my software faders? The hardware ones will stay where it is and everything will be out of sync.

If i used motorised faders and programmed it correctly, the two would always be in sync, regardless of which one i move.

That's my goal.

It may sound pointless, but often, audio volume will be automated in the software, and you'd expect your hardware faders to follow that automation.
Here's a video of a guy demonstrating hardware control.

Are you saying the arduino can directly control a modern motorised fader without the need for extra hardware; A motor shield for example?

This sounds simple enough, you just need to find the motorized faders and they should ideally be linear which given where they are normally used might be a problem. Still if you have to get log pots that's not the end of the world.

Are you saying the arduino can directly control a modern motorised fader without the need for extra hardware;

Probably not, an Arduino can safely supply 20-odd mA, very few motors would work at that. As Terry said you will need an H-bridge of some sort. There are plenty of chips and shields to do this.


Rob

Alright, thanks.

I may have to abandon this idea then.

For it to work it sounds like I'd have to write a patch that compares hardware and software fader positions, and then controls the motor accordingly.
I think that's out of my capability to be honest.

Ah well, thanks for all the help guys.

I wouldn't give up that quick, with the right faders this doesn't seem like a very difficult job.

But hey, it's your life :slight_smile:


Rob