Switching/Controller Project - To DIY Or Not

swipesy:
What made my head spin, though, was the different types of communication between units - I2C, serial, etc. - and some of that code was way over my head. I don't know which would be the best way to go, I can't seem to follow the different RX/TX codes ... I just don't, well, "get it."

You'll probably need Serial but it all depends on what communicates to what over what distance and at what minimum required speed.

  1. Communication (probably) needs to be a continuous 2-way (synchronous?) setup and as fast as possible, with controlling functions on both ends (the preamp and the foot controller/footswitch).

"As fast as possible" is too ambiguous: what is the maximum acceptable delay? Is it in the tune of microseconds or are several milliseconds acceptable?

  1. The two units will be wired at a distance of no more than 50 feet.

That's important: that distance excludes most of the very fast protocols. Maybe a wireless link is suitable as well here. 50 ft of wire is a bit of a handful to deal with, but no problem for a 433MHz wireless link. It depends on the allowed delay and amount of data to be sent.

  1. There are 8 channels on the preamp (only one on at a time) with four "options" per channel.
  2. The footswitch will be laid out in an 8x4 matrix so each channel and its four options are directly accessible with a single footswitch. (Again, only one switch in the matrix can be on at any one time.)

Those foot switches: this are basic on/off switches? How do they connect to the pre-amp? I assume the Arduino will have to read your foot switches, and then somehow relay the signal to the pre-amp.

  1. There are six other momentary switches for other purposes, i.e., setting delay times, mute, etc.
  2. Besides the 4x8 + 6 footswitch, the preamp itself will have switches to choose channel, channel option (separately - no matrix), delay time, etc.

What kind of switches? Rotary with many stops? What kind of outputs for the Arduino to read on those switches?

  1. Current settings must be indicated on the footswitch, whether controlled at the footswitch or on the preamp.

How?

  1. It will be "wired" using a computer-style DB cable.

The type of wire doesn't matter much for digital signals - unless you go for very high speeds (MHz range) and I don't see that here yet.

[quote[
9. I would prefer it include PWM for voltage controlled volume and blend. (I'm guessing it could be something like 2 to 4 PWM lines.)
[/quote]
Why PWM? That's a block wave. You're probably better off using a DAC for this part, then you actually get a voltage out of it, rather than a lot of noise which is likely going to mess up your volume control (with it trying to go from maximum to zero 1000 times a second).

Doing a rough count of the inputs and outputs you mention, a Mega indeed looks like it will fit the bill. But you'll have to provide more information - best would be a rough schematic of the whole digital part, as I have problems visualising most of it.

As I understand it you want two Arduinos.
One at your foot switch array, reading the switches and setting some indicator (LED?) in the switch to show its state.
This connects through a longish wire (up to 50 ft) to the other Arduino, which operates the pre-amp: setting volume, setting switches.