I have now finished designing and building the hardware:
I have some more pictures there: http://sfx.gligli.free.fr/zik/overcycler/hw_done/
It's made of 5 PCBs:
- 3x Voice Card, each one having 2 voices.
ICs (per card): 2x SSM2044 VCFs; 2x MCP4922 dual 12bit DACs; 1x 74HCT4051 multiplexer; 1x TL074 op-amp.
- The VCA Board, implementing the 6 voices VCAs, and 2 more for the master mixer.
ICs: 2x SSM2164 quad VCA; 4x TL082 / 1x NE5532 / 2x TL074 op-amps; 1x 74HCT4051 multiplexer
- The Main Board,
hosting the power supply, the microcontroller, the potentiometer
multiplexer, the master CV DAC, and various digital I/O (MIDI, screen,
ICs: 1x mX-LPC1768-S; 1x MPC4921 single 12bit DAC; 2x 74HCT4053 multiplexers; 1x 6N138 optocoupler
I used this microcontroller kit: NGX mX-LPC1768-S It's based on the ARM Cortex M3, has plenty of peripherals, and is ultra fast.
The 12 ocillator DACs are driven by the µC through a fast SPI bus.
The analog chips are driven by control voltages generated by the master CV DAC, through sample and hold mechanisms (1 to 32 demultiplexer into reservoir capacitors into high impedance voltage followers, basically).
The master mixer has an hardwired left to right voice panning, to allow for some spatialization (inspired by the Oberheims).
Screen and keypad communicate with the µC through a standard serial connection.
I use a MicroSD card for storage, I use a MicroSD to SD adapter I soldered on the main board.
I plan to add USB-Host, to be able to plug an USB-MIDI keyboard directly, and maybe USB-Device to allow for mass storage access to the MicroSD.
My prototype PCBs had some bugs, which I hack-fixed for now, otherwise everything works nicely :)