Homebrew synths – generating a waveform in a microcontroller, adding a MIDI interface, and sending everything out to a speaker – are great projects that will teach you a ton about how much you can do with a tiny, low power uC. [Mark] created what is probably the most powerful homebrew synth we’ve seen, all while using a relatively low-power microcontroller.
The hardware for this project is an LPC1311 ARM Cortex M3 running at 72 MHz. Turning digital audio into something a speaker can understand is handled by a Wolfson WM8762, a stereo 24-bit DAC. Both of these chips can be bought for under one pound in quantity one, something you can’t say about the chips used in olde-tyme synths.
The front panel, shown below, uses 22 pots and two switches to control the waveform, ADSR, filter, volume, and pan. To save pins on the microcontroller, [Mark] used a few analog multiplexers. As far as circuitry goes, it’s a fairly simple setup, with the only truly weird component being the optocoupler for the MIDI input.
The software for the synth is written mostly in assembly. In a previous version where most of the code was written in C, everything was a factor of two slower. Doing all the voice generation in assembly allowed for twice as many simultaneous voices.
It’s a great project, and compared to some of the other synth builds we’ve seen before, [Mark]’s project is at the top of its class. A quick search of the archives says this is probably the most polyphonic homebrew synth we’ve seen, and listening to the sound sample on the project page, it sounds pretty good, to boot.
I like the idea of having the analog muxes directly at the frontpanel pcb in order to reduce the number of connections between the pcbs.
since when is an optocoupler a weird component?
Reduce unsightly ground loops with this one wierd part…
+1 Would read again
Indeed… a standard component in MIDI ports.
He could use a Cortex M4F that has one floating point unit and DSP instructions.
I agree, many synth homebrewers chose this route (e.g. Audiothingies P6, Sonic Potions LXR, PreenFM2). But, this would not have been as cheap.
and teensy with that new GUI DSP library
“Oscillator 0” .. love it – a true dyed-in-the-wool geek.
Fantastic work getting the polyphony going :-) I’ve been messing around with this recently on an stm32F4-discovery:
github.com/MrBlueXav/Dekrispator
Monophonic but it has lots of strengths and a lot of potential, lots of oscillators, dual filters, control via usb midi (works standalaone with a usb midi keyboard), no external parts necessary (apart from a keyboard)
high all,
just for future reference, the goom has now been ported to the stm32f4 discovery board (by Thorsten at midibox.org) , so there is no soldering necessary, if you only need USB MIDI and a stereo audio out. Here are a couple of demos I put on youtube:
https://youtu.be/3-M-s6O-YW8
https://youtu.be/92Gh4QOAnBA