Posts Tagged ‘ Modular Synth

pucktronix.pwm_dac software

pucktronix.pwm_dac screenshot

Here’s a demo of some software I developed for Tom Erbe’s music software development course at UCSD. The program allows you to generate modular synth control voltages using a standard AC-coupled audio interface. A diode and capacitor are the only required external hardware. The program is written in C++ using the Qt framework. Download the source, documentation and OS X binary here.

Tips for a Successful Open-source Hardware Project – Design Considerations

Here are some things I’ve observed while developing the tabulaRasa and the USB-Octomod. Both projects are open-source hardware/software packages for use in modular synthesizers.

For me, the process divides up into three stages: design, funding, and production. I’ll cover each stage in a separate post.

Design


Make sure to spend plenty of time brainstorming, prototyping, scrapping, and remaking your project.

You want to explore as many angles as possible. Often a redesign or code rewrite will make implementing new features easier, or allow you to optimize some aspect of the design. Both the Octomod and the tabulaRasa went through multiple stages of sketching, prototyping, pcb design (and fabrication) before I decided they were done.

Aim to use common, versatile components.

You don’t want to use a single-supplier component in a design, unless there is no other option. The Octomod uses a Teensy 2.0 microcontroller unit which is available from only one source. Within a few days of announcing the availability of PCBs, the Teensy 2.0 went out of stock, and stayed that way for months. Besides limiting the usefulness of the PCBs, this left me fielding questions about the availability of a product over which I had no control. Some people are experiencing a similar issue with the SD card socket used in the tabulaRasa. Since the part is available from Sparkfun, I assumed it would be relatively simple for people to get. However, I didn’t consider that shipping to European countries from Sparkfun is either expensive or impossible. (Not sure which it is, I just know I got some questions about alternate sources.)

Using a minimal amount of components is also an advantage.

My initial designs for the tabulaRasa used a separate DAC chip, interfaced to the mcu through SPI. Although this theoretically provides for much higher bit resolution, most DACs require 16 or more bits to be transmitted per sample. The additional chip also added significant cost to the project. I instead used a simple PWM DAC, using an RC lowpass filter to smooth out the built-in PWM output of the ATmega. Simple, cheap, and still of a high-enough quality for my needs.

Open-source is an asset.

Many of the technical questions I received (usually related to compilation or misunderstanding of OSC) were easily solved because users could send me the exact error messages or line numbers they received. (On the other hand, asking users to compile their own code also led to confusion. I had a few people try to compile Arduino code in Processing, and vice-versa.)


More to come on how I raised money for construction on Kickstarter, and my thoughts on the manufacturing process.

Updated Synth Modules

Updated panel for SVF.

Updated panel for SVF.

New panel design for VCA. Knobs arent installed yet.

New panel design for VCA. Knobs aren't installed yet.

Modular Synth Patch – Work in Progress

Screen shot 2010-03-22 at 10.10.34 AM