Preamp Control - Volume, input, mute, remote

Monday afternoon the new boards were delivered. Monday evening I built up the main board and tested it, and made an adjustment in the program for a slight bit more delay on activating from standby with the rotary encoders push button for better debouce. Still have to build up the new display board and test the standby LED and standby relay activation. I would have finished last night but stripping the parts off the old boards to put on the new takes longer than just building new, but is less expensive. :) With the Metcal soldering station I can remove the nine relays in two minutes but it still takes longer than all new.
Once I finish tonight, and if all is well, I will post the gerbers and new code.

And apoliges to all that wanted the free previous version PCBs, I should have some time tomorrow to check shipping costs. And need to check stock on how many EEPROMs I have and might need to buy and program.
 
  • Like
Reactions: 1 users
Built the display board today and tested it and made a couple tweaks to the code for smoother operations. I did have to update the BOM as well since the Standby LED is not on a PWM pin, I had to change the resistor value or it would be too bright. Here are the gerbers, the BOM, and the code files. The IRcode you place in the same director as the main code and unzip. It has the modifications to use Timer5.
 

Attachments

  • IRremote2zip.zip
    22.3 KB · Views: 133
  • Encoder Boardv1_gerber.zip
    11.7 KB · Views: 118
  • Display Board v2_gerber.zip
    22.8 KB · Views: 119
  • Vol Analog MicroP Board BOTv2_gerber.zip
    72 KB · Views: 133
  • Vol Analog MicroP Board TOPv1_gerber.zip
    31.8 KB · Views: 133
  • VolumeControlBOWv1-2.zip
    23.6 KB · Views: 124
  • VolumeControl-bal-V2.txt
    38.6 KB · Views: 140
  • Like
Reactions: 1 user
Now I need to do a separate input selection card. Design issues are 1. How many Inputs. 2. One button to scroll through the inputs or two buttons to go up or down to the input. 3. Input connectors on the PCB to rear mount or wire from the connectors to the PCB. 4. Balance inputs with the option for single ended. 5. Will probably be digital logic chips as 4 chips is all that is needed to do it. Might be surface mount or though hole chips and resistors. 6. Seven segment display for the input number or just an LED for each input. Relays, still like through hole. Runs off a 5 volt supply, probably .1A or so.
Preferences?
 
All depends more or less on the number of inputs. If you have say up to three, then a direct input button with a LED is more convenient and no segment display is needed. For more inputs a rotary encoder with LEDs is preferable and easy to do with the Arduino as well.

I would always prefer neutrik XLR connectors soldered directly on the board, 90° to the back panel. For RCA I would simply use external Neutrik NA2 MPMF XLR to RCA adapter if needed, or use CMC style panel mount RCA connectors directly below the board (if the respective XLR is on top of board); this saves the external adapter but adds cost to the design.

Relays through hole and 5V, they are small enough. Caps and resistors probably SMD.

 
Finally got a few minutes from work and looked in my box (inventory) of parts and found that I have one EEPROM so I need to buy a few more. Both Mouser and Digikey are backordered on the one listed in the BOM but I found an alternate part in stock. And, of course the price has gone up from $5 to $7. And the Data sheet shows the device package that I used is a SOIC not the TSOP. The SOIC package is much easier to solder to the board, not too bad for a SMD.
 
So my audio business friend doesn't need an input selection setup, and I don't really need one at this point but can do the design work anyways for a project. So the design is open. I have 6 inputs on my preamp, I use two of them right now (turntable and CD player, the Reel to Reel and cassette player aren't use much these days), so maybe four inputs is a good number (like my Pass Aleph P). And a rotary encoder with LEDS around the knob (like my Pass Aleph P), do you get the feeling we are reinventing the wheel? :) The front panel board would have the rotary encoder and LEDs and a Arduino Nano on it, so that is the only chip needed. The back panel board would mount the XLR connectors on one side and relays on the other side. Two relays per input for balanced input and only one relay need be stuffed for each input for single ended and the RCA connectors just wired to the board.
No remote for the input. I have it on my preamp but never use it, my friend suggests it fits on a mid-fi setup. :)

So, any interest?
 
You don't need two relais per XLR input, only + and - to switch, doable with a single Kemet (former NEC Tokin) EC2-12NU or the 5V version EC2-5NU or the respective SMD equivalents.

Still don't see why you need separate inputs for SE. Just use the + only on a XLR input, either with a Neutrik adapter or wire RCA connectors to the board in parallel to the XLR connectors.
RCA cable ground goes to circuit ground and XLR cable ground goes to chassis.

A preamp without remote for the volume at least is good for a headphone amp only where you (might) sit in front of it. Never used to get friend with a preamp/speaker setup where I need to get up in order to adjust the volume, regardless how expensive the amp was. An absolute no go.

I would put a USB connector on the control board (for the Arduino) in order for people without a programmer to load the software. You might even consider daughter board'ing a standard Arduino Nano v3.
 
It's not 2 relays per XLR, it is 2 relays per input, one for left XLR and one for the right XLR, the RCA connector is wired to the + and GND inputs if you use both XLR and RCA connectors. If you only use single ended then one relay per input and wire the RCAs to the + and - inputs of the single relay.
The XLR to RCA adapters are expensive at $10 each so $20 per input, where as a good Gold plated RCA connector is less than half that. And if you have the RCA connector on the chassis you can lose track of it. :)
I use a standard Arduino Nano v3 soldered to the encoder card which has the USB input built in so you can lift the lid of the preamp, plug in the cable, and reprogram the system anytime.

My current preamp uses the Nano and I have reprogrammed it once for minor improved operations. It has been great since then. Had a group friends over for a BBQ yesterday then we moved into the sound room and proceeded to go through a bunch of tracks. Great fun, great sound.
 
Here is the Input card and rotary encoder as input selector. 4 Inputs, XLR and RCA, Balanced. Runs on 5 volts and uses an Arduino Nano as the controller.
Attached are the schematics, PCB pics and Gerbers, BOM, Code.
 

Attachments

  • Input-NanoV1.txt
    4.7 KB · Views: 149
  • ImputRelayBoardBack.pdf
    10.7 KB · Views: 153
  • EncoderBoardv1_gerber.zip
    12.9 KB · Views: 117
  • EncoderBoardv1.pdf
    15.8 KB · Views: 158
  • EncoderBoardfront.pdf
    8.5 KB · Views: 134
  • EncoderBoardback.pdf
    5.4 KB · Views: 140
  • ImputRelayBoardtop.pdf
    17.3 KB · Views: 147
  • ImputRelayBoardv1.pdf
    27.5 KB · Views: 159
  • Input-Nano-Bom.zip
    11.3 KB · Views: 132
  • InputRelayBoardv1_gerber.zip
    21 KB · Views: 107
  • Like
Reactions: 2 users
Hi Intojazz,
I do not have a website. You can see that the Preamp control has gone through several iterations. When I learn new things, or get requests for changes I evaluate the ideas and if they will result in better control or better sound I implement them. I was a digital electrical engineer and a programmer in my past so this is fun stuff. I try to make everything as commercial and audiophile quality since I hate glitchy stuff. Sometimes things don't work perfectly but then it is a challenge to figure out why and fix it. So, if there is anything you want to know you can post here, it is as good as a website, and everyone in the community can use the information. :)
 
  • Like
Reactions: 1 users
Had a user of the volume control that wanted the push button on the rotary encoder action to change slightly. Currently if you hold the button down it would mute the preamp, then unmute, then mute, then unmute, etc. Holding it down isn't a normal action but wanted to change this so that if would not change state a second time unless the button was released then pushed again. Did this by creating a variable, MuteButtonActive, and set it true when the button is pushed, then at the beginning of the software Loop checked the button again and if it is not pushed, input is low, then reset the variable to false which allow the button to be checked for active further done in the loop. Added the same check code to the coming out of standby mode which looks for that button push when in standby. Attached is the code in .txt file, remember to rename as a .ino file and place in the software folder for the Arduino IDE to recognize. Enjoy. :)
 

Attachments

  • VolumeControl-bal-V2.txt
    38.6 KB · Views: 112
  • Like
Reactions: 1 user
Had a user of the volume control that wanted the push button on the rotary encoder action to change slightly. Currently if you hold the button down it would mute the preamp, then unmute, then mute, then unmute, etc. Holding it down isn't a normal action but wanted to change this so that if would not change state a second time unless the button was released then pushed again. Did this by creating a variable, MuteButtonActive, and set it true when the button is pushed, then at the beginning of the software Loop checked the button again and if it is not pushed, input is low, then reset the variable to false which allow the button to be checked for active further done in the loop. Added the same check code to the coming out of standby mode which looks for that button push when in standby. Attached is the code in .txt file, remember to rename as a .ino file and place in the software folder for the Arduino IDE to recognize. Enjoy. :)
Very nice change. Continuous switching state when holding the button doesn't make sense.
 
I received a report back from an audiophile using the new, current, version of the volume control using the Arduino Mega vs the one it replaced with the Nano was impressed by all the new features but more so of the transparent nature of the volume control. So score one for sound quality. Nice to hear when the effort pays off for others to enjoy.