Posts Tagged ‘ hardware hacking

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.

This is the original, very minimal prototype on a Radioshack experiment board.

This is the original, very minimal prototype on a Radioshack experiment board.

Setting up the Teensy 2.0 for breadboarding.

Setting up the Teensy 2.0 for breadboarding.

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 program below, which converts the received integers into binary data required by the DAC ICs.

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.

Here's the PCB layout as sent in for fabrication. There are a few small errors...

Here's the PCB layout as sent in for fabrication. There are a few small errors...

This is the silk-screened front of the PCB prototype.

This is the silk-screened front of the PCB prototype.

The back side, ground plane and all.

The back side, ground plane and all.

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″.

The board with a hand to show scale.