[sdiy] Microcontrollers for eurorack use... What to use?

Olivier Gillet ol.gillet at gmail.com
Sun Jan 4 02:20:58 CET 2015

I've been using the STM32F4s in two modules I have recently announced
(Elements and Clouds), and have three more down in the pipe. I love
working with these for the following reasons:
* Easy to code with, using open-source tools (gcc-arm-none-eabi and
gdb) and a classic CLI/editor workflow.
* Relatively easy to interface with an audio codec IC.
* Code execution from flash is fast (unlike the STM32F1...).
* 32-bit floating point unit with fused multiply-add, hardware
division, square root and absolute value.
* GCC generates very good quality code from C/C++. We're reaping the
benefits of the popularity of ARM and the collective effort spent on
* Lots of flash memory.
* Low power consumption. A complete module (MCU + Codec + op-amps for
audio and CV conditioning + blinkenlights) for 100mA.

A few caveats:
* Small amount of internal SRAM (192kb on STM32F407, 256kb on STM32F427).
* Internal ADC needs software processing (averaging/low-pass
filtering) to get decent resolution. Certainly not for audio, OK for
CVs in the low kHz rate.
* I2S clock is always 256fs, which can be a problem with some codecs
to reach some sample rates.

I haven't tested the external memory interface - the STM32F429 has a
controller for SDRAM which might be a good option for your looper
(older parts only support SRAM).

For synthesis applications, one can get a lot of work done. In my
modules or through benchmarks, I got them to run:
* ~100 zero-delay SVF at 48kHz.
* ~100 basic wavetable oscillators at 48kHz.
* A 16-band vocoder and several wavetable oscillators at 48kHz (lower
bands downsampled to 8kHz).
* 8x 4-op FM voices with oversampling at 96kHz.
* A mono phase-vocoder with 25% overlapping at 48kHz.
* Waveshaping/wavefolding/ringmod algorithms at 96kHz with 8x
oversampling (768kHz).
* A simple reverb (a dozen APs, 2-3 modulated delays/APs) uses 10% of
the CPU at 48kHz.

All of these were from C++ code - but I studied the generated machine
code carefully and very rarely found inefficiencies.

On Sun, Jan 4, 2015 at 12:42 AM, Paul Perry <pfperry at melbpc.org.au> wrote:
> Thanks Scott, that is is line with what a friend said, he had
> single one taking 200mA (non-music application, but flat out.)
> paul perry Melbourne Australia
> ----- Original Message ----- From: "Scott Gravenhorst"Subject: Re: [sdiy]
> Microcontrollers for eurorack use... What to use?
>> I don't have a precise answer for this, however, I've successfully powered
>> 4 dsPICs (28 pin DIP) from a single 1 ampere 3.3volt supply. three of the
>> dsPICs were doing audio, one was acting as a MIDI controller talking to two
>> of the others as voice engines over SPI.
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy

More information about the Synth-diy mailing list