The revolution in modular and semi-modular synths has produced a beautiful variety of new mono-synth options for electronic music and noise use, but one issue with mono-synths (and most Eurorack modules and/or signal flows) is that the not only are the synthesizers monophonic, meaning (roughly) they can only produce one note at a time, but also monaural, meaning that one note the synth produces is in no particular place in the stereo field. Of course most of the time the mono signal can be placed using the pan control on a mixer (or in a DAW when recording) but chances are that if you're using a synth rig for live performance (or not) there will often be some benefit to distributing or placing the signal in the stereo-audio field automatically, freeing your hands up for other tweaks and triggers, and that's what this project will provide for you.
This is an intermediate level project that will let you do just that. We'll assume you have some basic shop, electronics, soldering and Arduino experience in this Instructable.
Bill of Materials:
C1 Ceramic Capacitor package 100 mil [THT, multilayer]; capacitance 0.1µF; voltage 6.3V
C2 Electrolytic Capacitor package 100 mil [THT, electrolytic]; capacitance 1µF; voltage 6.3V
D1/D2 Schottky Diode package Melf DO-213 AB [SMD]; type Schottky; part # 1N5817
R1 1k Ω Resistor package THT; tolerance ±5%; bands 4; resistance 1kΩ;
R2 Potentiometer track Linear; type Rotary Shaft Potentiometer; maximum resistance 10kΩ
U1 ATtiny 45 or 85 package dip; version Attiny85-20PU; type Atmel AVR; variant dip08 THT
U2 LM386 package dip08; chip lm386
U3 MCP4131DIP - Digital Potentiometer package DIP (Dual Inline) [THT]; (Labeled "IC" in diagram in step 2)
J1 3.5mm TS socket, PCB or Panel Mount
J2-J4 either 3.5mm (Eurorack Signal) or 6.3mm (Line Out) TS socket, PCB or Panel Mount
Arduino board or compatible AVR programmer
Breadboard or perma-proto board/strip board and soldering tools
Step 1: Program the ATTiny
Download and unzip the attached file ATTiny85_CV_Panner.Zip and place the unzipped folder in your Arduino directory, then open the Arduino IDE and load the ATTiny85_CV_Panner.ino sketch.
As previously stated this is an intermediate level instructable, so it's beyond scope to include directions for loading an Arduino sketch onto an ATTiny AVR. If you feel comfortable with the Arduino IDE and have never done this before, you can find a fantastic tutorial at MIT's HighLowTech.com. I used the TinyProgrammer to compile and write the sketch to mine.
Program the chip using the 1 MHZ internal clock setting for the chip variant you use. I tested the sketch on both a 45 and an 85, and the sketch is so small that it at least compiles for a 25 if you have one. (Leave a note in the comments if you try it and it works or doesn't.)
This sketch was one that I found on the Arduino.cc boards-I don't think I ended up changing anything but the input pin (if that.) Thanks to whoever posted that!
Step 2: Electronics
I've both laid the circuit out on a breadboard and included a photograph of my unit's innards. The SparkFun breakouts make for a convenient way to drop the sockets into place but aren't really necessary as you can see in the photo. My permanent unit is built on strip board but the variety of potentiometer and possible jack sockets you might use are so great (and mine turned out to be such a klunge sausage) that I didn't even try to include a layout that way. You might use something like this for a permanent version if you don't want to go through the drilling/routing/bridging headaches I've gone through the last few days.
The unlabeled "IC" here is the MCP4131 Digital Potentiometer. I tested several digipots and this was the only one I found (either SPI or I2C) that doesn't cause an audible click whenever a Zero-crossing intersects a change in the pot value.
The voltage clamp between the CV in and ATTiny should keep positive voltages down at the 5v input limit, but mind that you don't inadvertently apply a negative rail signal. I haven't tried it but I'd assume it would not leave you happy.
The input and output sockets can be either 3.5mm or 6.3mm-it doesn't really matter, choose them based on what's most convenient for you. If you plan to use it in a rack, you probably want 3.5mm, but if you want to use it as a semi-modular accessory it may make sense to use either, but it doesn't make a functional difference.
I built mine so that it is powered by USB but if I choose I can pull it out of the project enclosure and put it into my Eurorack rig pretty easily. If you want to power it using Eurorack you can use the scheme I detailed in my PacificCV Controller Instructable. Also, as you can see, I found a source for the busboard style headers to use in my Eurorack modules here. (I bought them out though.)
If you build a permanent model, mount it depending on how you choose to build it up and want to use it. If you choose the Eurorack version, you can use my Useful, Easy DIY EuroRack Module Instructable as a guide for creating a panel. If you use PCB mounted jacks and trimpot, I'd recommend making a cutting guide, using a piece of cardboard the same size as the face onto which you plan to mount the unit. Starting with the piece that projects the farthest out from that face, trace and cut holes to fit each component (eg, draw the outline of the potentiometer, then punch the hole out and trace the outlines of the jacks with the pot sticking through its hole, cutting those, and so on.)
One final option if you want to extend the idea would be to add a "detent" voltage to the normalization pin (the CV jack's internal connection to the tip output which which can provide a signal when there's nothing plugged in) by adding another potentiometer with the wiper going to the normalization pin and the other two pins going to ground and +5v respectively. This can form a voltage divider which would let you center (or otherwise place) the signal of the digipot while not plugged in. I didn't do this though because if I wanted that effect I could simply go straight into a mixer.
Step 3: Use
It should be pretty obvious how to use this if you have the technical ability and need to build this. Any positive modulated signal from a Eurorack form synth should work well for the control voltage in. I've used LFOs, pitch sequences, function generators and ADSRs so far and each is useful. (See the demo video, and wear headphones or space your stereo speakers out enough to distinguish the channels.)
The gain/attenuator functionally makes up for the signal drop across the digital potentiometer, but can also add a little "heat" to the signals. In a cartesian system you could think of it as diameter.
I did build this to use, but I also wanted to use it as a proof-of-concept for a 4 to 4 quadraphonic (surround sound) sequence-mixer I've been dreaming of building. Stay tuned!