Skip to content
mxmxmx edited this page Nov 28, 2015 · 49 revisions

wm8731 version, hardware basics:

output stage:

  • simple inverting amplifier with ~ 4.75x gain; outputs are DC blocked:

input stage:

  • simple inverting amplifier with ~ 0.2x gain; inputs are DC blocked. + offset (1.65v)

CV inputs 1-6, with offset:

  • basic inverting op-amp configuration. Specifically, incoming CVs are mixed with the pots (referenced to 2v5) and a fixed negative voltage (-10V) == low parts count but the results need to be inverted in the software. (the external resp. C programme is taking care of that).

  • the mcp6002, running off a/the 3v3 rail, is taking care of the clamping. the ADC (MCP3208) is referenced to AREF = 2v5. it's a SPI device, and it's wired to the SPI port (chip select = CE1).

  • in an ideal world, one probably would have used a mcu for sampling the CVs. apart from the added complexity (not that much, admittedly), the pay-off (in terms of bandwidth) likely would have been nil though, as getting the data into pd (or comparable non-custom software) is limited by a number of factors. as it stands, regarding puredata the limit for both the SPI external and C programme is (mainly) the pd 'control rate' (1ms max)

digital inputs 1-4:

  • wired as transistor switches, directly to the respective GPIO pins: collector tied to 3V3 via a series resistor; emitter to ground; the trigger signals go into the base via a 100k series resistor and 33k to ground.

  • at the software end of things, these inputs can be treated as interrupts (see commented out sections in ADC2FUDI.c) -- or be polled, as is done with the pd externals. in any case, for these to work, the internal pullups need to be activated. ditto for the 3 tact switches. details here: a script such as this will typically have to be run at start-up.

digital outputs 1-2:

  • standard non-inverting op amp configuration (TL072). Following the resistor values as indicated on the pcb will yield 2x gain, or ~ 6.6v pulses.

power:

  • regarding power, there's basically two options: supply the whole thing from your eurorack psu or supply the raspberry with 5V externally via the micro usb power inlet. the former will be ok when using say a model A+ (we're talking < 150ma in my experience) or model zero; those models will typically be preferred over pi 2. similar considerations apply if you intend to use, say, a usb WiFi dongle in regular use (ie, other than for getting patches or files onto or off the device).

  • to choose between the two options, there's a jumper ('5V') right next to the 2x20 header -- you want to connect this in order to supply everything, including the raspberry pi, from the psu. disconnect it, if you want to power the raspberry from usb or external 5v DC supply. using a 7805 will do to power a model A+, B+ or zero; more efficient (and more $) is to use the RECOM equivalent. the 0.5A version probably is sufficient (ie R-785.0-0.5). in terms of power draw, pi 2 is more demanding, to be on the safe side, better to use R-785.0-1.0 (viz, the 1.0A verion). the codec itself is powered from the ADP150 'ultralow noise' linear regulator (as is the ADC).

Clone this wiki locally