"thank you for being interested in creative electronic music."

diydsp_log.png Join us -  We're making a journey into sound.


STM32F4 Sound, Audio and Music Development



Video playlist of STM32F4 demos, tutorials and examples


Music Applications

Synthesizers       Libraries       Audio Codecs      USB/MIDI


Software Development:   

Compilers/IDEs: GCC      GDB    Eclipse
Flashing Chips:    st-util      openocd     DFU  
Libraries:   libopencm3 embed CMSIS
Languages:    Lua   Python   Rust  Javascript
Operating Systems:     ChibiOS  ChibiStudio


Source Code Examples:      

Timer       USB Serial        ADC      Rust Library


Hardware Information

Datasheets      Development Boards      Discovery Board       Low Power STM32L4



Floating-Point Unit on the STM32F4   Instruction Cycle Times    Video Playlist of Demos


Related Products

DIYDSP Sister Store



STM32F4 Music and Audio Applications


Musical Synthesizers based on the STM32F4


Audio and Music Software Libraries for STM32f4


PMOD Audio Codecs for STM32F4


USB MIDI / USB Audio for STM32F4



STM32F4 Software Development


If you can not afford commercial tools, it is highly recommended to develop under Linux.  Currently, Ubuntu and Lubuntu 11.10 - 13.04 are recommended for maximum compatibility, although there will likely be a progression toward newer versions of Ubuntu, particularly 14.10 which will be out in October 2014 and will be the only long-term release until two more years. 

Windows development of stm32f4 software using gcc, libopencm3 and cygwin is also possible.  This combination is still under evaluation.  In the meantime, here is a walkthrough.  If you have any suggestion or improvements, please get in touch with us and let us know.


 VXMDesign's Linux Distro for STM32F4 Development



ARM maintains their own official version of GCC for the STM32F4!  It's for many platforms including Ubuntu, Windows and Apple.

Install it like this:

sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded
sudo apt-get -y update
sudo apt-get -y install gcc-arm-none-eabi

Or follow makapuf's instructions.

This guide 'How to do Virtual Development on the STM32F4' is maintained by DIYDSP to facilitate development within a virtual machine.  If you are using the windows platform, it is recommended to do development within a virtual Ubuntu machine.  This guide takes you through developing software on the stm32f4 inside a virtual machine.


How to Install Eclipse on Linux for the STM32F4, two part Video Series

  1. Part 1
  2. Part 2

STM32F4 IDE using Eclipse, OpenOCD and GCC (Windows)


All kinds of neat low-level stuff you didn't know about ARM programming:


Tutorial on arm-none-eabi-gdb (GDB) for stm32F4




How to reprogram the STM32F4 in DFU mode via Dfuse:

  1. Step-by-step how-to
  2. AN2606    STM32™ microcontroller system memory boot mode
  3. AN3156   USB DFU protocol used in the STM32™ bootloader


STM32F4 Hardware Information


STM32F4 Datasheets and Reference Manuals


STM32F4 Development Boards


The STM32F4 Discovery board

Threads on electronics.stackexchange on the STM32F4




Wikis / Blogs


Free DSP Tutorials



STM32F4 Source Code Examples


 STM32F4 USB Serial CDC Examples


STM32F4 Timer Examples with libopencm3


STM32F4 ADC Examples, Especially with libopencm3

Powered by liveSite