Analog Mixer Value Recall Project

I have an idea that my business partner wants to incorporate int our D500 unit (Modular analog Mixing Sysytem).

Mixer Value Recall & LCD Value Read out:

  • The Arduino monitors Resistance changes of each of the 10 fader.

  • When the save button is pressed the arduino dumps all values from the faders to an SD Card (Using the joystick shield to change the filename on the LCD shield).

  • When the recall button is pressed all value dumps stored on the card are displayed on the screen (Using the joystick shield to navigate the filename on the LCD shield).

  • When a fader is selected the arduino compares the value of the fader against the value stored in memory.

  • Using a RGB LED The proximity to the desired value will be displayed,

Red if the fader needs to be raised Green if the fader needs to be Lowered Blue when the fader is at the correct position

I have ordered the LCD Shield, The Joystick Shield, An SD Card Reader Module and an Arduino.

Is this physically possible with a single Arduino? How would I connect 10 faders to arduino and still be able to controls the LED?

Thanks In Advance

First off you have no need to use an SD card, you can use the internal EEPROM, that is non volatile storage.

You need and analogue multiplexer (or a Mega) to read in more than 6 analogue inputs. See the playground for examples.

Cheers Mike,

You put me on the right path [smiley=thumbsup.gif]

I found a starting point from a Midi Controller Project i found on another forum:. Post: Download:

It has a PCB Layout and a basic code to read the pots from the 4051.

As this is my first real shot at electronics (And i have fried my first board) I have used Fritzing to Re-Create the Layout on Breadboards:

Here is what I have done:

Have I Re-Created this correctly?

Cheers For the help?

While im waiting for the Multiplexers im moving on to the next step:

Storing the values!

This code is meant to work with the above Breadboard layout:

int MuxPin1=2;
int MuxPin2=3;
int MuxPin3=4;
int AnaInPin1=4;
int AnaInPin2=5;

//Declare variables
int MuxVal1 = 0; 
int MuxVal2 = 0; 
int MuxVal3 = 0; 
int BinVal = 0; 
int N = 0; 

//BinPat is used for figuring out the High / Low (1/0) values of the MUX control pins
int BinPat [] = {000, 1, 10, 11, 100, 101, 110, 111};
//The PotValues array is used for storing the 16 vlues read from the potentiometers
int PotValues [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

void setup()
  //Initialize digital pins and serial communication speed
  pinMode(MuxPin1, OUTPUT);
  pinMode(MuxPin2, OUTPUT);
  pinMode(MuxPin3, OUTPUT); 

void loop() {
  delay (10);

void readPotValues()
for (N=0; N<=7; N++) 
      BinVal = BinPat[N];      
      MuxVal1 = BinVal & 0x01;
      MuxVal2 = (BinVal>>1) & 0x01;
      MuxVal3 = (BinVal>>2) & 0x01;
      digitalWrite(MuxPin1, MuxVal1);
      digitalWrite(MuxPin2, MuxVal2);
      digitalWrite(MuxPin3, MuxVal3);
      PotValues[N]=analogRead(AnaInPin1) / 4 ;
      PotValues[N + 8]=analogRead(AnaInPin2) / 4;   

void sendPotValues()
for (N=0; N<=14; N++) 

And this is what i found to load arrays into the flash memory:
Source: Flash | Arduiniana

I have extracted the parts I think I need to start:

#include <Flash.h>
FLASH_ARRAY(int, Fader_table, 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); // Represents the values that would be read from the faders
void setup()
  // 3.a Print out the array
  Serial.println("Table: "); Fader_table.print(Serial); Serial.println();
void loop()

Would I be corret in saying the this code will put out each of the pot values with a “,” after each vaule?

for (N=0; N<=14; N++) 

If so how can I turn this into an array to in the array called “Fader_table”?

Thanks For all the input & help, it will be much appreciated .

How are you going to read the value of the faders without messing up the existing audio board? Unless the faders have some independent output that the Arduino can connect to, then you may not be able to just read resistance with the analog input pins.

If you were building your own board, you could have dual pots on the faders, with one for the audio and the other for the arduino.

How hard this is to fix depends on how the board is implemented. In simple designs, the audio signal actually is sent through the fader, which decreases the voltage of the analog signal directly. In more complex designs, the pot has dc across it and there is some active audio processing that varies the analog signal in response to the change in the DC voltage across the fader.

If your board works like the latter, you can read the analog dc voltage across the fader, but if it works like the former, you can't.

Even if the fader has DC across it, you have to figure out what max voltage is, and you may have to modify that to use the arduino. If it's bigger than 5V max, you need a voltage divider. If it's smaller than 5V, depending on how small it is, you may have to change the default reference voltage on the arduino's ADC.

You may also have to worry about impedance (between what the board assumes and the arduino assumes. If you measure the fader resistance at max, and it's more than 10K, you may have a problem.


I thought of that as well and was thinking of using Stereo Faders

That way one channel would have the arduino 5v as the curcuit to measure the resistance The other channel will have audio passing through it.

How simple would this make it?

OK, i cant get the 4051 from

But I have found something: It uses the MC14067 (I can et this from mouser)

and have tried to re create it using Fritzing.

I'm hoping i created right as i am planing in buying it from mouser!!

Please can someone look over the board layout please, it would be much appreciated!!

Thanks in advance

Stereo faders would work.

You can get a 4051 from Mouser:

The 4067 is a 16 channel switch, it will probably work fine.

I'd be interested in helping you out with this project. I'm a recording engineer and I'd love to collaborate on something like this. LMK, thanks