STM32F4 + Codec

STM32F4 + Codec

STM32F4 Codec Board - Assembled

STM32F4 + Codec

STM32F4 Codec Board - PCB Rendering


This is a small (3" x 2.5") board with an STM32F405RGT6 MCU, a Wolfson WM8731 codec and a variety of I/O resources to support development of embedded audio effects applications.


Interfaces and Jumpers

Software Development

The STM32 family of parts are supported by a variety of commercial IDEs, all of which are available in low-cost or limited free versions from the ST website.

I prefer to use open-source tools, so I've set up a development environment based on the GNU C compiler for ARM, available for free from Codesourcery or the Launchpad project. For downloading to the target I use either an STM32 Discovery board with stlink V2, or the excellent Black Magic Probe. To accelerate development I also use the STM32 Standard Peripheral Library as a starting point for my code and then optimize out the heavyweight functions as required. Links to all of these are here:

Example Source

In the Design Resources section below I've provided a zipped source directory for a simple audio delay that demonstrates basic setup of the GPIO, ADC, I2C and I2S peripherals. This runs the codec at 48kHz sample rate full duplex and delays the incoming audio through a 32ksample buffer, resulting in a ~2/3 second delay. The delayed audio is mixed with the incoming audio in proportion to the VR2 setting and sent out. Delayed audio is also mixed with incoming audio on the input to the delay in proportion to the VR1 setting, allowing controlled regeneration.

Design Resources

Project Status

Getting One

Interested? Bare boards are no longer available from BatchPCB so you'll have to use the raw Gerber files (above) to get them fabbed for yourself at the PCB manufacturer of your choice.

If you build one, please let me know about it at the email below. I enjoy hearing from others about their experiences with the design and finding out what sort of things are being done.

Return to Synth page.

Last Updated
Comments to:
Eric Brombaugh

Valid HTML 4.01 Transitional