USB Control Voltage Interface – Progress So Far
With the arrival of the first prototype PCB today, I thought I would post a bit about the the design process thus far.
Moving from the very first Arduino-based prototype (breadboarded on a Radioshack experiment lab), I decided that a Teensy 2.0 would be a better solution. Cheaper, faster, breadboard capable, and a true serial peripheral, the chip works great and can be programmed using a slightly-modified version of the Arduino environment. You can also use the usual AVR toolchain if you prefer.
The next thing to do was to work on the software side of things. Originally, I developed a Max/MSP patch which directly translated integers into the proper binary string, as required by the MAX5250 DAC ICs. I wanted to make the project completely open source, so I decided to create a stand-alone program using Processing. The program essentially listens for specific OSC messages (which can be sent from any program or process the user chooses), and then translates those messages into 5250-compatible binary data. I think the solution works well, and removes any necessity for the user to own specific software.

Above, a Max/MSP patch transmits data over OSC, to the host program (below), which converts the received integers into binary data required by the DAC ICs.
After some final touches to the layout, (applying low-pass filters to smooth the output voltages, converting the unipolar output of the DAC to a bipolar voltage) I laid the circuit out in Eagle.
I’d say the board looks pretty good. I got it from BatchPCB.com, part of Sparkfun. Not exactly the cheapest or the fastest, but good for a one-off. (They gave me two…?)
Here’s the front again, with my hand for scale. The board is 2.9″ x 3.05″.






Musician/hacker living in San Diego, CA. Studying computer music at UCSD. 
No comments yet.