Skip to content

matias-levy/ST-Barebones

Repository files navigation

ST-Barebones

An embedded barebones audio development framework for the STM32F1 lineup. In use by MLA Labs.

Features

  • Extremely barebones, the whole project was designed to develop audio applications on the well-known and easily available Bluepill development board without the need for an external audio codec for analog-digital and digital-analog conversion, and only needing a few components for signal conditioning and power.
  • Adaptable: Its default configuration offers 2 channels with 4-sample oversampling, having about 12 bits of depth, but it can be easily changed to accommodate more or fewer channels depending on the application.
  • Audio inputs are read by the ADC1 peripheral and transmitted to a circular buffer via DMA for fast and efficient processing on a standard DSP-style function.
  • Additional control voltage inputs for parameters are achieved using ADC2.
  • Audio outputs are achieved using the Dual PWM technique, also used in my open-source project $peaks. It's based on the concepts described here.
  • Made and configurable using STM32 CubeMX.

Motivation

The idea of this audio framework came from my work in MLA Labs. The company is deeply rooted in the Argentinian economic reality and, as such, needs not only to produce accessible products but also to be based on a sort of "sustainable" model for the stock of its electronic parts. Through many iterations of models, the idea of using this tiny and limited microcontroller came to mind, seeing how it was used in many Mutable Instruments modules.

After diving a lot into its peripherals, I managed to start developing products using only its built-in features. This saved costs but, most importantly, avoided headaches sourcing unavailable codecs that were either out of production or had footprints that were hard to manage for DIY and prototype usage.

About

An embedded barebones audio development framework for the STM32F1 lineup. In use by MLA Labs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages