Hi B.rock, welcome!
I recently asked the same question, here is my topic: How to prepare a signal for an ADC?
I actually managed to do this yesterday evening and I verified that the voltages would stay inbetween 0 and 3.3V no matter what kind of input you give. I used the following schematic (Opamp = MCP600x):
The thing that makes this a bit complicated is that you need a few different voltages. 12V and -12V are not enough.
I used an L7805 voltage regulator to step 12V down to 5V. I’m not using the 5V line provided by my frequency central power supply because it only supplies 100mA and a teensy needs about 100mA (its not very efficient unfortunately ). So I rather take some power from the 12V line instead.
I use this 5V to power my teensy.
Secondly, you need 3.3V. You can either take this from the voltage regulator on the teensy or you can use an LM1117 voltage regulator to take your 5V line and turn it into 3.3V. I did this becuase the power lines of the teensy are probably quite noisy and I wanted some stable power for my opamps.
As you can see, I also use -5V to bias my opamp properly. I created this voltage from -12V using an LM4040. You can find more details in my topic.
here is the breadboard I’ve built so far. Doesn’t have a teensy yet:
I used a breadboard with interrupted powerlines. This allowed me to have one half of my breadboard have 3.3 power on the sides while the other half has 12 and -12 I am using an MCP6004 to create 4 distinct CV / Audio inputs. I’m still working on this so will share more findings as they come in.